Extension AWS Lambda

Vous consultez la documentation Apigee Edge.
Accédez à la documentation**Apigee X**.
info

Version: 1.1.1

Exécutez les fonctions déployées sur AWS Lambda. Utilisez cette extension pour répertorier 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 ExtensionCallout, vous devez effectuer les opérations suivantes :

À 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

appeler

Appelle une fonction sur AWS Lambda.

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

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 AWS Lambda Invoke.

Paramètre Description Type Valeur par défaut Obligatoire
functionName Nom de la fonction à appeler. Chaîne. Aucune. Oui.
invocationType Indique s'il faut appeler la fonction de manière synchrone ou asynchrone, ou valider les valeurs des paramètres. Chaîne. Aucune. Non.
logType Indique éventuellement s'il faut renvoyer les 4 derniers Ko de données de journal. Chaîne Aucune. Non.
qualifier Version de l'alias d'une fonction Lambda publiée. Chaîne Aucune. Non.
payload JSON en entrée de la fonction Lambda. Chaîne Aucune. Non.

Réponse

Tableau de fonctions contenant des informations spécifiques sur les versions. En voici un exemple :

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

Propriétés de réponse

Propriété Description Type Valeur par défaut
StatusCode Code d'état HTTP. Nombre entier Aucune.
Payload JSON représentant l'objet renvoyé par la fonction. Présent uniquement si le type d'appel est RequestResponse. En cas d'erreur de fonction, ce champ contient un message de description de l'erreur. Chaîne Aucune.

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 Valeur par défaut Obligatoire
masterRegion 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 vous spécifiez ce paramètre, vous devez également spécifier functionVersion. Chaîne Aucune. Non.
functionVersion Spécifiez ALL pour répertorier toutes les versions publiées. Si ce paramètre n'est pas spécifié, seul l'ARN de la dernière version non publiée est renvoyé. Chaîne Aucune. Non.
maxItems Nombre maximal de fonctions à renvoyer dans la réponse. Doit être supérieur à 0. Le nombre maximal absolu pouvant être renvoyé est de 50. Nombre entier Aucune. Non.

Réponse

JSON représentant un tableau de fonctions contenant des informations spécifiques sur les versions.

[
  {
    "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 réponse

Propriété Description Type Par défaut
Description Description de la fonction. Chaîne. Aucune.
Handler Fonction que Lambda appelle pour commencer à exécuter la fonction. Chaîne. Aucune.
FunctionArn Nom de ressource Amazon de la fonction. Chaîne. Aucune.
FunctionName Nom de la fonction. Chaîne. Aucune.
Role Rôle d'exécution de la fonction. Chaîne. Aucune.
Runtime Environnement d'exécution de la fonction. Chaîne. Aucune.
Version Version de la fonction. Chaîne. Aucune.

Documentation de référence sur la configuration

Utilisez les informations suivantes lorsque vous configurez et déployez cette extension pour 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 d'extension courantes

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 Valeur 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. Aucune. 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'elle est envoyée 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é.
Aucune. Oui.