AWS Lambda-Erweiterung

Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an.
info

Version: 2.0.0

Ausführen von Funktionen, die auf AWS Lambda bereitgestellt wurden. 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:

Informationen zu AWS Lambda

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

Aktionen

aufrufen

Ruft eine Funktion auf AWS Lambda auf.

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

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 Invoke-Dokumentation.

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 Optional gibt an, ob die letzten 4 KB der Protokolldaten 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!\\\"\"}"
}

Antworteigenschaften

Attribut Beschreibung Typ Standard
StatusCode HTTP-Statuscode. Ganzzahl Keine.
Nutzlast JSON, das das von der Funktion zurückgegebene Objekt darstellt. Nur vorhanden, wenn der Aufruftyp „RequestResponse“ ist. Bei einem Funktionsfehler enthält diese Nachricht eine Fehlerbeschreibung. String Keine.

listFunctions

Hier werden die verfügbaren AWS Lambda-Funktionen aufgeführt.

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

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 ListFunctions-Dokumentation für AWS Lambda.

Parameter Beschreibung Typ Standard Erforderlich
masterRegion Die Region (z. B. us-east-2), deren Funktionen aufgeführt werden sollen. Geben Sie ALL an, um Funktionen aus allen Regionen aufzunehmen. Wenn angegeben, müssen Sie auch functionVersion angeben. String Keine. Nein.
functionVersion Geben Sie ALL an, um alle veröffentlichten Versionen aufzulisten. Wenn nichts angegeben ist, wird nur die ARN der neuesten nicht veröffentlichten Version zurückgegeben. String Keine. Nein.
maxItems Die maximale Anzahl von Funktionen, die in der Antwort zurückgegeben werden sollen. Muss größer als 0 sein. Maximal können 50 zurückgegeben werden. 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"
  }
]

Antworteigenschaften

Attribut Beschreibung Typ Standard
Beschreibung Eine Beschreibung der Funktion. String. Keine.
Handler Die Funktion, die von Lambda aufgerufen wird, um mit der Ausführung der Funktion zu beginnen. String. Keine.
FunctionArn Der Amazon Resource Name (ARN) 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

Beachten 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 Console finden Sie unter Erweiterung hinzufügen und konfigurieren.

Gängige Erweiterungseigenschaften

The following properties are present for every extension.

Property Description Default Required
name Name you're giving this configuration of the extension. None Yes
packageName Name of the extension package as given by Apigee Edge. None Yes
version Version number for the extension package from which you're configuring an extension. None Yes
configuration Configuration value specific to the extension you're adding. See Properties for this extension package None Yes

Properties 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 Informationen in die Apigee Edge-Konsole eingeben, handelt es sich um 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 die Informationen über die Verwaltungs-API gesendet werden, handelt es sich um einen base64-codierten Wert, der aus dieser JSON-Schlüsseldatei generiert wird.
Keine. Ja.