AWS Lambda-Erweiterung

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

Version: 1.1.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, müssen Sie Folgendes tun:

AWS Lambda

AWS Lambda bietet Compute-Umgebungen, 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 AWS Lambda-Dokumentation zu 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 AWS Lambda-Dokumentation zu Invoke.

Parameter Beschreibung Typ Standard Erforderlich
functionName Der Name der Funktion, die aufgerufen werden soll. 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 oder der 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. Beispiel:

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

Antworteigenschaften

Attribut 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. Bei einem Funktionsfehler enthält dies eine Fehlermeldung. String Keine.

listFunctions

Listet die verfügbaren AWS Lambda-Funktionen auf.

Weitere Informationen zu Parametern finden Sie in der AWS Lambda-Dokumentation zu 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 AWS Lambda-Dokumentation zu ListFunctions.

Parameter Beschreibung Typ Standard Erforderlich
masterRegion Die Region (z. B. us-east-2), deren Funktionen aufgelistet werden sollen. ALL, um Funktionen aus allen Regionen 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 neuesten 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. Die absolute maximale Anzahl, die zurückgegeben werden kann, ist 50. Ganzzahl Keine. Nein.

Antwort

JSON, das ein Array von Funktionen mit spezifischen 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"
  }
]

Antworteigenschaften

Attribut Beschreibung Typ Standard
Beschreibung Eine Beschreibung der Funktion. String. Keine.
Handler Die Funktion, die von Lambda aufgerufen wird, um die Ausführung der Funktion zu starten. 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 Folgendes, 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 speziell für diese Erweiterung gelten.

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 in der Apigee Edge-Konsole eingegeben, ist dies eine JSON-Datei mit Ihrer Amazon-Zugriffsschlüssel-ID und Ihrem Zugriffsschlüssel im folgenden Format:

{
"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 wurde.
Keine. Ja.