Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Versione: 1.1.1
Esegui le funzioni sottoposte a deployment su AWS Lambda. Utilizza questa estensione per elencare le funzioni disponibili nel tuo account AWS, quindi richiama funzioni specifiche.
Prerequisiti
Prima di utilizzare l'estensione da un proxy API utilizzando il criterio ExtensionCallout, devi:
Recuperare l'ID della chiave di accesso e la chiave di accesso segreta di Amazon access key ID and secret access key.
Eseguire il deployment della funzione Lambda. Affinché l'estensione possa accedere a una funzione Lambda, deve:
- Essere sottoposta a deployment in un VPC pubblico
- Essere sottoposta a deployment in un VPC privato con gateway NAT pubblico
Per saperne di più, consulta Configurare una funzione Lambda per accedere alle risorse in un Amazon VPC.
Informazioni su AWS Lambda
AWS Lambda fornisce ambienti di calcolo in cui puoi eseguire funzioni in uno dei linguaggi supportati.
Azioni
richiamare
Richiama una funzione su AWS Lambda.
Per maggiori dettagli sui parametri, consulta la documentazione di AWS Lambda Invoke.
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 maggiori dettagli sui parametri, consulta la documentazione di AWS Lambda Invoke.
| 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 dei parametri. | Stringa. | Nessuno. | No. |
| logType | Specifica facoltativamente se restituire gli ultimi 4 KB di dati di log. | Stringa | Nessuno. | No. |
| qualifier | 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 contenente 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 | Codice di stato HTTP. | Numero intero | Nessuno. |
| Payload | JSON che rappresenta l'oggetto restituito dalla funzione. Presente solo se il tipo di chiamata è RequestResponse. In caso di errore della funzione, contiene un messaggio di descrizione dell'errore. | Stringa | Nessuno. |
listFunctions
Elenca le funzioni AWS Lambda disponibili.
Per maggiori 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 maggiori dettagli sui parametri, consulta la documentazione di AWS Lambda ListFunctions.
| Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
|---|---|---|---|---|
| masterRegion | La regione (ad esempio us-east-2) le cui funzioni devono essere elencate; ALL per includere le funzioni di qualsiasi regione. Se specificato, devi specificare anche functionVersion. |
Stringa | Nessuno. | No. |
| functionVersion | Specifica ALL per elencare tutte le versioni pubblicate. Se non specificato, viene restituito solo l'ARN dell'ultima versione non pubblicata. |
Stringa | Nessuno. | No. |
| maxItems | Il numero massimo di funzioni da restituire nella risposta. Deve essere maggiore di 0. Il massimo assoluto che può essere restituito è 50. | Numero intero | Nessuno. | No. |
Risposta
JSON che rappresenta un array di funzioni contenente 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 |
|---|---|---|---|
| Description | Una descrizione della funzione. | Stringa. | Nessuno. |
| Handler | La funzione che Lambda chiama per iniziare l'esecuzione della funzione. | Stringa. | Nessuno. |
| FunctionArn | L'Amazon Resource Name della funzione. | Stringa. | Nessuno. |
| FunctionName | Il nome della funzione. | Stringa. | Nessuno. |
| Role | Il ruolo di esecuzione della funzione. | Stringa. | Nessuno. |
| Runtime | L'ambiente di runtime della funzione. | Stringa. | Nessuno. |
| Version | La versione della funzione. | Stringa. | Nessuno. |
Riferimento per la configurazione
Utilizza le seguenti informazioni quando configuri ed esegui il deployment di questa estensione per l'utilizzo nei proxy API. Per i passaggi per configurare un'estensione utilizzando la console Apigee, vedi Aggiungere e configurare un'estensione.
Proprietà comuni dell'estensione
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 sono sottoposte a deployment le 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 di Amazon nel seguente formato:{"accessKeyId" : "access-key-ID","secretAccessKey" : "secret-access-key"}Se inviato tramite l'API di gestione, è un valore codificato in base64 generato da questo file JSON della chiave. |
Nessuno. | Sì. |