Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione
Documentazione di Apigee X. Informazioni
Versione: 1.1.2
Eseguire le funzioni di cui è stato eseguito il deployment su AWS Lambda. Utilizza questa estensione per elencare le funzioni disponibili nel tuo account AWS, quindi richiamare funzioni specifiche.
Prerequisiti
Prima di utilizzare l'estensione da un proxy API utilizzando le norme ExtensionCallout, devi:
Procurati l'ID della chiave di accesso e la chiave di accesso segreta di Amazon.
Ti serviranno, insieme al nome della regione in cui viene eseguito il deployment delle funzioni, per configurare questa estensione.
Esegui il deployment della funzione Lambda. Affinché l'estensione possa accedere a una funzione Lambda, deve essere:
- Distribuito in un VPC pubblico
- Distribuito in un VPC privato con gateway NAT pubblico
Per saperne di più, consulta Configurazione di una funzione Lambda per accedere alle risorse in un VPC Amazon.
Informazioni su AWS Lambda
AWS Lambda fornisce ambienti di computing in cui è possibile eseguire funzioni in uno dei linguaggi supportati.
Azioni
richiamare
Richiama una funzione su AWS Lambda.
Per ulteriori dettagli sui parametri, consulta la documentazione relativa alle chiamate Lambda di AWS.
Sintassi
<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>
Esempio
<Action>invoke</Action>
<Input><![CDATA[
{
"functionName" : "helloWorld",
"invocationType" : "RequestResponse",
"logType" : "None",
"qualifier" : "$LATEST",
"payload" : "{ \"key\": \"val\" }"
}
]]>
</Input>
<Output>function.response.value</Output>
Parametri di richiesta
Per ulteriori dettagli sui parametri, consulta la documentazione relativa alle chiamate Lambda di AWS.
Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
functionName | Il nome della funzione da richiamare. | Stringa. | Nessuno. | Sì. |
invocationType | Specifica se richiamare la funzione in modo sincrono o asincrono oppure se convalidare i valori parametro. | Stringa. | Nessuno. | No. |
logType | Facoltativamente, consente di specificare se restituire gli ultimi 4 kB di dati di log. | Stringa | Nessuno. | No. |
qualificatore | La versione dell'alias di una funzione Lambda pubblicata. | Stringa | Nessuno. | No. |
payload | JSON come input per la funzione Lambda. | Stringa | Nessuno. | No. |
Risposta
Un array di funzioni contenenti dettagli specifici della versione. Di seguito è riportato un esempio:
{
"StatusCode" : 200,
"Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}
Proprietà della risposta
Proprietà | Descrizione | Tipo | Predefinito |
---|---|---|---|
StatusCode | . | Numero intero | Nessuno. |
Payload | JSON che rappresenta l'oggetto restituito dalla funzione. Presente solo se il tipo di chiamata è RequestResponse. Per un errore di funzione, contiene un messaggio con descrizione dell'errore. | Stringa | Nessuno. |
listFunctions
Elenca le funzioni AWS Lambda disponibili.
Per ulteriori dettagli sui parametri, consulta la documentazione di AWS Lambda ListFunctions.
Sintassi
<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>
Esempio
<Action>listFunctions</Action>
<Input><![CDATA[
{
"masterRegion" : "ALL",
"functionVersion" : "ALL",
"maxItems" : 50
}
]]>
</Input>
<Output>function.list</Output>
Parametri di richiesta
Per ulteriori dettagli sui parametri, consulta la documentazione di AWS Lambda ListFunctions.
Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
masterRegion | La regione (ad esempio us-east-2 ) di cui devono essere elencate le funzioni; ALL per includere funzioni di qualsiasi regione. Se specificato, devi specificare anche il functionVersion . |
Stringa | Nessuno. | No. |
functionVersion | Specifica ALL per elencare tutte le versioni pubblicate. Se non specificato, viene restituito solo l'ARN della versione non pubblicata più recente. |
Stringa | Nessuno. | No. |
maxItems | Il numero massimo di funzioni da restituire in risposta. Deve essere maggiore di 0. Il valore massimo assoluto che è possibile restituire è 50. | Numero intero | Nessuno. | No. |
Risposta
JSON che rappresenta un array di funzioni contenenti dettagli specifici della versione.
[
{
"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"
}
]
Proprietà della risposta
Proprietà | Descrizione | Tipo | Predefinito |
---|---|---|---|
Descrizione | Una descrizione della funzione. | Stringa. | Nessuno. |
Handler | La funzione chiamata Lambda per iniziare a eseguirla. | Stringa. | Nessuno. |
FunctionArn | Il nome della risorsa Amazon della funzione. | Stringa. | Nessuno. |
FunctionName | Il nome della funzione. | Stringa. | Nessuno. |
Ruolo | Il ruolo di esecuzione della funzione. | Stringa. | Nessuno. |
Runtime | L'ambiente di runtime della funzione. | Stringa. | Nessuno. |
Versione | La versione della funzione. | Stringa. | Nessuno. |
Riferimento alla configurazione
Quando configuri questa estensione e ne esegui il deployment da usare nei proxy API, usa quanto segue. Per la procedura di configurazione di un'estensione utilizzando la console Apigee, vedi Aggiungere e configurare un'estensione.
Proprietà comuni delle estensioni
Per ogni estensione sono presenti le seguenti proprietà.
Proprietà | Descrizione | Predefinito | Obbligatorio |
---|---|---|---|
name |
Il nome che assegni a questa configurazione dell'estensione. | Nessuno | Sì |
packageName |
Nome del pacchetto dell'estensione fornito da Apigee Edge. | Nessuno | Sì |
version |
Numero di versione del pacchetto dell'estensione da cui stai configurando un'estensione. | Nessuno | Sì |
configuration |
Valore di configurazione specifico per l'estensione che stai aggiungendo. Vedi Proprietà per questo pacchetto di estensioni | Nessuno | Sì |
Proprietà per questo pacchetto di estensioni
Specifica i valori per le seguenti proprietà di configurazione specifiche per questa estensione.
Proprietà | Descrizione | Predefinito | Obbligatorio |
---|---|---|---|
Regione AWS Lambda | Il nome della regione in cui viene eseguito il deployment delle funzioni. Ad esempio: us-east-1 . |
Nessuno. | Sì. |
Credenziali | Se inserito nella console Apigee Edge, si tratta di un file JSON contenente l'ID della chiave di accesso e la chiave di accesso Amazon nel seguente formato:{ "accessKeyId" : "access-key-ID", "secretAccessKey" : "secret-access-key" } Quando viene inviato tramite l'API di gestione, si tratta di un valore codificato in base64 generato da quel file JSON della chiave. |
Nessuno. | Sì. |