Vous consultez la documentation d'Apigee Edge.
Consultez la
documentation Apigee X. en savoir plus
Version: 1.1.1
Exécuter des 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.
Conditions préalables
Avant d'utiliser l'extension à partir d'un proxy d'API avec la règle ExtensionCallout, vous devez:
Obtenez votre ID de clé d'accès et votre clé d'accès secrète Amazon.
Vous en aurez besoin, ainsi que le nom de la région dans laquelle vos fonctions sont déployées, pour configure cette extension.
Déployez votre fonction Lambda. Pour que l'extension puisse accéder à une fonction Lambda, elle doit être:
- Déployé dans un VPC public
- Déployé dans un VPC privé avec une passerelle NAT publique
Pour en savoir plus, consultez Configurer une fonction Lambda pour accéder aux ressources d'un VPC Amazon.
À 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 sur les appels AWS Lambda.
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 AWS Lambda.
Paramètres | Description | Type | Par défaut | Obligatoire |
---|---|---|---|---|
functionName | Nom de la fonction à appeler. | Chaîne. | Aucune | 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. | Aucune | Non. |
logType | (Facultatif) Indique s'il faut renvoyer les 4 derniers ko de données du journal. | Chaîne | Aucune | Non. |
qualificatif | Version de l'alias d'une fonction Lambda publiée. | Chaîne | Aucune | Non. |
payload | JSON comme entrée de la fonction Lambda. | Chaîne | Aucune | 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 | Aucune |
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 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ètres | Description | Type | Par défaut | Obligatoire |
---|---|---|---|---|
masterRegion | Région (par exemple, us-east-2 ) dont les fonctions doivent être listées ; ALL pour inclure des fonctions de n'importe quelle région. S'il est spécifié, vous devez également indiquer functionVersion . |
Chaîne | Aucune | Non. |
functionVersion | Spécifiez ALL pour lister 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 en réponse. Doit être supérieur à 0. Le maximum absolu pouvant être renvoyé est 50. | Entier | Aucune | 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. | Aucune |
Handler | Fonction appelée par Lambda 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 |
Rôle | Rôle d'exécution de la fonction. | Chaîne. | Aucune |
Environnement d'exécution | 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 le code suivant 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 les valeurs des 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 . |
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'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é. |
Aucune | Oui. |