Estensione Ambda AWS

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Versione: 1.1.1

Esegui le funzioni di cui è stato eseguito il deployment in 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 con le norme relative ai callout estensione, devi:

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 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 richiesta

Per ulteriori dettagli sui parametri, consulta la documentazione di AWS Lambda Invoke.

Parametro Descrizione Tipo Predefinito Obbligatorie
functionName Il nome della funzione da richiamare. Stringa. Nessuna. Sì.
invocationType Specifica se richiamare la funzione in modo sincrono, asincrono o convalidare i valori parametro. Stringa. Nessuna. N.
logType Facoltativamente, specifica se restituire gli ultimi 4 kB di dati di log. Stringa Nessuna. N.
qualificatore La versione dell'alias di una funzione Lambda pubblicata. Stringa Nessuna. N.
payload JSON come input nella funzione Lambda. Stringa Nessuna. N.

Risposta

Un array di funzioni contenenti dettagli specifici sulla versione. Di seguito è riportato un esempio:

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

Proprietà della risposta

Proprietà Descrizione Tipo Predefinito
StatusCode . Numero intero Nessuna.
Payload JSON che rappresenta l'oggetto restituito dalla funzione. Presente solo se il tipo di chiamata è RequestResponse. Per un errore della funzione, contiene un messaggio di descrizione dell'errore. Stringa Nessuna.

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 richiesta

Per ulteriori dettagli sui parametri, consulta la documentazione di AWS Lambda ListFunctions.

Parametro Descrizione Tipo Predefinito Obbligatorie
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 Nessuna. N.
functionVersion Specifica ALL per elencare tutte le versioni pubblicate. Se non specificato, viene restituito solo l'ARN della versione non pubblicata più recente. Stringa Nessuna. N.
maxItems Il numero massimo di funzioni da restituire in risposta. Deve essere maggiore di 0. Il massimo assoluto che può essere restituito è 50. Numero intero Nessuna. N.

Risposta

JSON che rappresenta un array di funzioni contenenti dettagli specifici sulla 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. Nessuna.
Handler La funzione chiamata da Lambda per iniziare a eseguirla. Stringa. Nessuna.
FunctionArn L'Amazon Resource Name della funzione. Stringa. Nessuna.
FunctionName Il nome della funzione. Stringa. Nessuna.
Ruolo Il ruolo di esecuzione della funzione. Stringa. Nessuna.
Runtime L'ambiente di runtime della funzione. Stringa. Nessuna.
Versione La versione della funzione. Stringa. Nessuna.

Riferimento per la configurazione

Utilizza quanto segue durante la configurazione e il deployment di questa estensione per l'utilizzo nei proxy API. Per i passaggi per configurare un'estensione utilizzando la console Apigee, consulta Aggiungere e configurare un'estensione.

Proprietà delle estensioni comuni

Per ogni estensione sono presenti le seguenti proprietà.

Proprietà Descrizione Predefinito Obbligatorio
name Il nome che assegni a questa configurazione dell'estensione. Nessuno
packageName Nome del pacchetto dell'estensione fornito da Apigee Edge. Nessuno
version Numero di versione del pacchetto dell'estensione da cui stai configurando un'estensione. Nessuno
configuration Valore di configurazione specifico per l'estensione che stai aggiungendo. Vedi Proprietà per questo pacchetto di estensioni Nessuno

Proprietà per questo pacchetto di estensioni

Specifica i valori per le seguenti proprietà di configurazione specifiche di questa estensione.

Proprietà Descrizione Predefinito Obbligatorie
Regione AWS Lambda Il nome della regione in cui viene eseguito il deployment delle funzioni. Ad esempio: us-east-1. Nessuna. Sì.
Credenziali Una volta inserito nella console Apigee Edge, si tratta di un file JSON contenente l'ID chiave di accesso e la chiave di accesso Amazon nel seguente formato:

{
"accessKeyId" : "access-key-ID",
"secretAccessKey" : "secret-access-key"
}

Se inviato tramite l'API di gestione, si tratta di un valore con codifica Base64 generato dal file JSON della chiave.
Nessuna. Sì.