AWS Lambda-Erweiterung

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zu Apigee X
info

Version: 2.0.1

Auf AWS Lambda bereitgestellte Funktionen ausführen Mit dieser Erweiterung können Sie die in Ihrem AWS-Konto verfügbaren Funktionen auflisten und dann bestimmte Funktionen aufrufen.

Vorbereitung

Bevor Sie die Erweiterung über einen API-Proxy mit der ExtensionCallout-Richtlinie verwenden können, müssen Sie Folgendes tun:

AWS Lambda

AWS Lambda bietet Rechenumgebungen, in denen Sie Funktionen in einer der unterstützten Sprachen ausführen können.

Aktionen

aufrufen

Ruft eine Funktion in AWS Lambda auf.

Weitere Informationen zu Parametern finden Sie in der Dokumentation zu AWS Lambda Invoke.

Syntax

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

Beispiel

<Action>invoke</Action>
<Input><![CDATA[
{
  "functionName" : "helloWorld",
  "invocationType" : "RequestResponse",
  "logType" : "None",
  "qualifier" : "$LATEST",
  "payload" : "{ \"key\": \"val\" }"
}
]]>
</Input>
<Output>function.response.value</Output>

Anfrageparameter

Weitere Informationen zu Parametern finden Sie in der Dokumentation zu AWS Lambda Invoke.

Parameter Beschreibung Typ Standard Erforderlich
functionName Der Name der aufzurufenden Funktion. String. Keine. Ja.
invocationType Gibt an, ob die Funktion synchron oder asynchron aufgerufen oder Parameterwerte validiert werden sollen. String. Keine. Nein.
logType Gibt optional an, ob die letzten 4 KB der Logdaten zurückgegeben werden sollen. String Keine. Nein.
Qualifier Die Version des Alias einer veröffentlichten Lambda-Funktion. String Keine. Nein.
payload JSON als Eingabe für die Lambda-Funktion. String Keine. Nein.

Antwort

Ein Array von Funktionen mit spezifischen Versionsdetails. Hier ein Beispiel:

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

Antwortattribute

Attribut Beschreibung Typ Standard
StatusCode HTTP-Statuscode. Ganzzahl Keine.
Nutzlast JSON, das das von der Funktion zurückgegebene Objekt darstellt. Wird nur angezeigt, wenn der Aufruftyp „RequestResponse“ ist. Bei einem Funktionsfehler enthält dieser Parameter eine Fehlermeldung. String Keine.

listFunctions

Listet die verfügbaren AWS Lambda-Funktionen auf.

Weitere Informationen zu Parametern finden Sie in der AWS Lambda ListFunctions-Dokumentation.

Syntax

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

Beispiel

<Action>listFunctions</Action>
<Input><![CDATA[
{
  "masterRegion" : "ALL",
  "functionVersion" : "ALL",
  "maxItems" : 50
}
]]>
</Input>
<Output>function.list</Output>

Anfrageparameter

Weitere Informationen zu Parametern finden Sie in der AWS Lambda ListFunctions-Dokumentation.

Parameter Beschreibung Typ Standard Erforderlich
masterRegion Die Region (z. B. us-east-2), deren Funktionen aufgeführt werden sollen. Verwenden Sie ALL, um Funktionen aus einer beliebigen Region einzubeziehen. Wenn angegeben, müssen Sie auch functionVersion angeben. String Keine. Nein.
functionVersion Geben Sie ALL an, um alle veröffentlichten Versionen aufzulisten. Wenn nicht angegeben, wird nur der ARN der letzten unveröffentlichten Version zurückgegeben. String Keine. Nein.
maxItems Die maximale Anzahl der Funktionen, die in der Antwort zurückgegeben werden sollen. Muss größer als 0 sein. Der absolute Maximalwert, der zurückgegeben werden kann, ist 50. Ganzzahl Keine. Nein.

Antwort

JSON-Darstellung eines Arrays von Funktionen mit spezifischen Versionsdetails.

[
  {
    "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"
  }
]

Antwortattribute

Attribut Beschreibung Typ Standard
Beschreibung Eine Beschreibung der Funktion. String. Keine.
Handler Die Funktion, die Lambda aufruft, um mit der Ausführung der Funktion zu beginnen. String. Keine.
FunctionArn Der Amazon Resource Name der Funktion. String. Keine.
FunctionName Der Name der Funktion. String. Keine.
Rolle Die Ausführungsrolle der Funktion. String. Keine.
Laufzeit Die Laufzeitumgebung der Funktion. String. Keine.
Version Die Version der Funktion. String. Keine.

Konfigurationsreferenz

Verwenden Sie die folgenden Informationen, wenn Sie diese Erweiterung für die Verwendung in API-Proxys konfigurieren und bereitstellen. Eine Anleitung zum Konfigurieren einer Erweiterung mit der Apigee-Konsole finden Sie unter Erweiterung hinzufügen und konfigurieren.

Allgemeine Erweiterungseigenschaften

Für jede Erweiterung sind die folgenden Eigenschaften vorhanden.

Attribut Beschreibung Standard Erforderlich
name Der Name, den Sie dieser Konfiguration der Erweiterung zuweisen. Ja
packageName Name des Erweiterungspakets, wie von Apigee Edge angegeben. Ja
version Versionsnummer für das Erweiterungspaket, von dem Sie eine Erweiterung konfigurieren. Ja
configuration Konfigurationswert speziell für die Erweiterung, die Sie hinzufügen. Weitere Informationen finden Sie unter Eigenschaften für dieses Erweiterungspaket. Ja

Eigenschaften für dieses Erweiterungspaket

Geben Sie Werte für die folgenden Konfigurationseigenschaften an, die für diese Erweiterung spezifisch sind.

Attribut Beschreibung Standard Erforderlich
AWS Lambda-Region Der Name der Region, in der Ihre Funktionen bereitgestellt werden. Beispiel: us-east-1. Keine. Ja.
Anmeldedaten Wenn Sie diese in der Apigee Edge-Konsole eingeben, ist sie eine JSON-Datei mit Ihrer Amazon-Zugriffsschlüssel-ID und Ihrem Zugriffsschlüssel in der folgenden Form:

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

Wenn sie über die Management API gesendet wird, ist sie ein base64-codierter Wert, der aus dieser JSON-Schlüsseldatei generiert wird.
Keine. Ja.