<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:
Obtenez votre ID de clé d'accès et votre clé d'accès secrète Amazon.
Vous en aurez besoin, ainsi que du nom de la région dans laquelle vos fonctions sont déployées, pour configurer 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 la section Configurer une fonction Lambda pour accéder aux ressources dans 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
<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. |