AWS Lambda-Erweiterung

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Version: 1.1.1

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

Voraussetzungen

Bevor Sie die Erweiterung mithilfe der ExtensionCallout-Richtlinie von einem API-Proxy verwenden, müssen Sie Folgendes tun:

Informationen zu AWS Lambda

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

Aktionen

invoke

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 soll. String. Keine. Nein.
logType Gibt optional an, ob die letzten 4 KB an Protokolldaten zurückgegeben werden sollen. String Keine. Nein.
Qualifier Die Version eines 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, die bestimmte Versionsdetails enthalten. Hier ein Beispiel:

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

Antwortattribute

Property Beschreibung Typ Standard
StatusCode HTTP-Statuscode. Ganzzahl Keine.
Nutzlast JSON, das das von der Funktion zurückgegebene Objekt darstellt. Ist nur vorhanden, wenn der Aufruftyp RequestResponse ist. Ein Funktionsfehler enthält eine Fehlermeldung. String Keine.

listFunctions

Listet die verfügbaren AWS Lambda-Funktionen auf.

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

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 Dokumentation zu AWS Lambda ListFunctions.

Parameter Beschreibung Typ Standard Erforderlich
masterRegion Die Region (z. B. us-east-2), deren Funktionen aufgelistet werden sollen; ALL, um Funktionen aus einer beliebigen Region einzuschließen. Wenn angegeben, musst du auch functionVersion angeben. String Keine. Nein.
functionVersion Geben Sie ALL an, um alle veröffentlichten Versionen aufzulisten. Wenn keine Angabe erfolgt, wird nur der neueste unveröffentlichte ARN der Version zurückgegeben. String Keine. Nein.
maxItems Die maximale Anzahl von Funktionen, die als Antwort zurückgegeben werden sollen. Muss größer als 0 sein. Das absolute Maximum, das zurückgegeben werden kann, ist 50. Ganzzahl Keine. Nein.

Antwort

JSON, das ein Array von Funktionen mit bestimmten Versionsdetails darstellt.

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

Property 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-Ressourcenname 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 Folgendes, wenn Sie diese Erweiterung zur 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.

Häufige 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 dieses Erweiterungspakets

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

Property Beschreibung Standard Erforderlich
AWS Lambda-Region Der Name der Region, in der Ihre Funktionen bereitgestellt werden. Beispiel: us-east-1. Keine. Ja.
Anmeldedaten Bei Eingabe in die Apigee Edge-Konsole ist dies eine JSON-Datei, die Ihre Amazon-Zugriffsschlüssel-ID und Ihren Zugriffsschlüssel in der folgenden Form enthält:

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

Beim Senden über die Management API ist es ein base64-codierter Wert, der aus dieser JSON-Schlüsseldatei generiert wird.
Keine. Ja.