Extension AWS Lambda

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

<ph type="x-smartling-placeholder">

Version: 1.0.0

Exécuter les fonctions déployées sur AWS Lambda Utilisez cette extension pour lister les fonctions disponibles dans votre compte AWS, puis appelez des fonctions spécifiques.

Prérequis

Avant d'utiliser l'extension à partir d'un proxy d'API à l'aide de la règle ExtensionCall, vous devez:

À propos d'AWS Lambda

AWS Lambda fournit des environnements de calcul dans lesquels vous pouvez exécuter des fonctions dans l'un des langages compatibles.

Actions

<ph type="x-smartling-placeholder">

appeler

Invoque une fonction sur AWS Lambda.

Pour en savoir plus sur les paramètres, consultez la documentation sur les appels lambda AWS.

Syntaxe

<Action>invoke</Action>
<Input><![CDATA[
{
  "functionName" : "function-on-lambda",
  "invocationType" : "RequestResponse | Event | DryRun",
  "logType" : "None | Tail",
  "qualifier" : "Version-or-alias",
  "payload" : "Escaped-JSON-string"
}
]]>
</Input>
<Output>flow-variable</Output>

Exemple

<Action>invoke</Action>
<Input><![CDATA[
{
  "functionName" : "helloWorld",
  "invocationType" : "RequestResponse",
  "logType" : "None",
  "qualifier" : "$LATEST",
  "payload" : "{ \"key\": \"val\" }"
}
]]>
</Input>
<Output>function.response.value</Output>

Paramètres de requête

Pour en savoir plus sur les paramètres, consultez la documentation sur les appels lambda AWS.

Paramètre Description Type Par défaut Obligatoire
functionName Nom de la fonction à appeler. Chaîne. Aucun Oui.
invocationType Indique si la fonction doit être appelée de manière synchrone ou asynchrone, ou si les valeurs des paramètres doivent être validées. Chaîne. Aucun Non.
logType Indique si les 4 derniers Ko de données de journal doivent être renvoyés. Chaîne Aucun Non.
qualificatif Version de l'alias d'une fonction Lambda publiée. Chaîne Aucun Non.
payload JSON en tant qu'entrée de la fonction Lambda. Chaîne Aucun Non.

Réponse

Tableau de fonctions contenant des détails de version spécifiques. Voici un exemple:

{
  "StatusCode" : 200,
  "Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}

Propriétés de la réponse

Propriété Description Type Par défaut
StatusCode Code d'état HTTP. Entier Aucun
Charge utile JSON représentant l'objet renvoyé par la fonction. Présent uniquement si le type d'appel est "RequestResponse". Pour une erreur de fonction, il s'agit d'un message de description de l'erreur. Chaîne Aucun

listFunctions

Répertorie les fonctions AWS Lambda disponibles.

Pour en savoir plus sur les paramètres, consultez la documentation AWS Lambda ListFunctions.

Syntaxe

<Action>listFunctions</Action>
<Input><![CDATA[
{
  "masterRegion" : "ALL | [a-z]{2}(-gov)?-[a-z]+-\d{1}",
  "functionVersion" : "ALL",
  "maxItems" : 1 - 10000
}
]]>
</Input>
<Output>flow-variable</Output>

Exemple

<Action>listFunctions</Action>
<Input><![CDATA[
{
  "masterRegion" : "ALL",
  "functionVersion" : "ALL",
  "maxItems" : 50
}
]]>
</Input>
<Output>function.list</Output>

Paramètres de requête

Pour en savoir plus sur les paramètres, consultez la documentation AWS Lambda ListFunctions.

Paramètre Description Type Par défaut Obligatoire
masterRegion La région (par exemple, us-east-2) dont les fonctions doivent être répertoriées. ALL pour inclure les fonctions de n'importe quelle région. Si une valeur est spécifiée, vous devez également spécifier l'élément functionVersion. Chaîne Aucun Non.
functionVersion Spécifiez ALL pour répertorier toutes les versions publiées. S'il n'est pas spécifié, seul l'ARN de la dernière version non publiée est renvoyé. Chaîne Aucun Non.
maxItems Nombre maximal de fonctions à renvoyer en réponse. Doit être supérieur à 0. La valeur maximale absolue pouvant être renvoyée est 50. Entier Aucun Non.

Réponse

JSON représentant un tableau de fonctions contenant des détails de version spécifiques.

[
  {
    "FunctionName": "helloWorld",
    "FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
    "Runtime": "nodejs",
    "Role": "arn:aws:iam::012345:role/service-role/fakeRole",
    "Handler": "index.handler",
    "Description": "A Hello World lambda function.",
    "Version": "$LATEST"
  },
  {
    "FunctionName": "helloWorld",
    "FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
    "Runtime": "nodejs",
    "Role": "arn:aws:iam::012345:role/service-role/fakeRole",
    "Handler": "index.handler",
    "Description": "A Hello World lambda function.",
    "Version": "1"
  }
]

Propriétés de la réponse

Propriété Description Type Par défaut
Description Description de la fonction. Chaîne. Aucun
Handler Fonction appelée par Lambda pour commencer à l'exécuter. Chaîne. Aucun
FunctionArn Nom de ressource Amazon de la fonction. Chaîne. Aucun
FunctionName Nom de la fonction. Chaîne. Aucun
Rôle Rôle d'exécution de la fonction. Chaîne. Aucun
Exécution Environnement d'exécution de la fonction. Chaîne. Aucun
Version Version de la fonction. Chaîne. Aucun

Documentation de référence sur la configuration

Procédez comme suit lorsque vous configurez et déployez cette extension afin de l'utiliser dans des proxys d'API. Pour savoir comment configurer une extension à l'aide de la console Apigee, consultez Ajouter et configurer une extension.

Propriétés courantes des extensions

Les propriétés suivantes sont présentes pour chaque extension.

Propriété Description Par défaut Obligatoire
name Nom que vous attribuez à cette configuration de l'extension. Aucune Oui
packageName Nom du package d'extension tel qu'indiqué par Apigee Edge. Aucune Oui
version Numéro de version du package d'extension à partir duquel vous configurez une extension. Aucune Oui
configuration Valeur de configuration spécifique à l'extension que vous ajoutez. Consultez Propriétés de ce package d'extension. Aucune Oui

Propriétés de ce package d'extension

Spécifiez des valeurs pour les propriétés de configuration suivantes, spécifiques à cette extension.

Propriété Description Par défaut Obligatoire
Région AWS Lambda Nom de la région dans laquelle vos fonctions sont déployées. Exemple : us-east-1. Aucun Oui.
Identifiants Lorsqu'il est saisi dans la console Apigee Edge, il s'agit d'un fichier JSON contenant votre ID de clé d'accès Amazon et votre clé d'accès au format suivant:

{
"accessKeyId" : "access-key-ID",
"secretAccessKey" : "secret-access-key"
}

Lorsqu'il est envoyé via l'API de gestion, il s'agit d'une valeur encodée en base64 générée à partir de ce fichier JSON de clé.
Aucun Oui.