Rozszerzenie AWS Lambda

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

Wersja: 2.0.0

Wykonywanie funkcji wdrożonych w AWS Lambda. Użyj tego rozszerzenia, aby wyświetlić listę funkcji dostępnych na Twoim koncie AWS, a następnie wywołać określone funkcje.

Wymagania wstępne

Zanim użyjesz rozszerzenia z serwera proxy interfejsu API przy użyciu zasad dotyczących rozszerzeń, musisz:

Informacje o AWS Lambda

AWS Lambda udostępnia środowiska obliczeniowe, w których możesz wykonywać funkcje w jednym z obsługiwanych języków.

Działania

wywołać

Wywołuje funkcję w AWS Lambda.

Więcej informacji o parametrach znajdziesz w dokumentacji AWS Lambda Invoke.

Składnia

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

Przykład

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

Parametry żądania

Więcej informacji o parametrach znajdziesz w dokumentacji AWS Lambda Invoke.

Parametr Opis Typ Domyślny Wymagane
functionName Nazwa wywoływanej funkcji. Ciąg tekstowy. Brak. Tak.
invocationType Określa, czy wywołanie funkcji ma być synchroniczne, asynchroniczne czy ma weryfikować wartości parametrów. Ciąg tekstowy. Brak. Nie.
logType Opcjonalnie określa, czy zwrócić ostatnie 4 KB danych dziennika. Ciąg znaków Brak. Nie.
kwalifikator Wersja aliasu opublikowanej funkcji Lambda. Ciąg znaków Brak. Nie.
ładunek JSON jako dane wejściowe funkcji Lambda. Ciąg znaków Brak. Nie.

Odpowiedź

Tablica funkcji zawierających szczegółowe informacje o wersji. Oto przykład:

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

Właściwości odpowiedzi

Właściwość Opis Typ Domyślny
StatusCode . Liczba całkowita Brak.
Ładunek JSON reprezentujący obiekt zwrócony przez funkcję. Występuje tylko wtedy, gdy typ wywołania to RequestResponse. W przypadku błędu funkcji zawiera on komunikat z opisem błędu. Ciąg znaków Brak.

listFunctions

Wyświetla listę dostępnych funkcji AWS Lambda.

Więcej informacji o parametrach znajdziesz w dokumentacji funkcji listowania AWS Lambda.

Składnia

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

Przykład

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

Parametry żądania

Więcej informacji o parametrach znajdziesz w dokumentacji funkcji listowania AWS Lambda.

Parametr Opis Typ Domyślny Wymagane
masterRegion Region (np. us-east-2), którego funkcje mają być wyświetlone. Wartość ALL spowoduje uwzględnienie funkcji z dowolnego regionu. Jeśli to konieczne, musisz też podać parametr functionVersion. Ciąg znaków Brak. Nie.
functionVersion Aby wyświetlić listę wszystkich opublikowanych wersji, wpisz ALL. Jeśli nie zostanie podany, zwrócony zostanie tylko identyfikator ARN najnowszej nieopublikowanej wersji. Ciąg znaków Brak. Nie.
maxItems Maksymalna liczba funkcji zwracanych w odpowiedzi. Musi być większy niż 0. Maksymalna wartość, która może zostać zwrócona, to 50. Liczba całkowita Brak. Nie.

Odpowiedź

Kod JSON reprezentujący tablicę funkcji zawierających szczegółowe informacje o wersji.

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

Właściwości odpowiedzi

Właściwość Opis Typ Domyślny
Opis Opis funkcji. Ciąg tekstowy. Brak.
Handler Funkcja wywoływana przez Lambda w celu rozpoczęcia wykonywania funkcji. Ciąg tekstowy. Brak.
FunctionArn Nazwa zasobu Amazon (ARN) funkcji. Ciąg tekstowy. Brak.
FunctionName Nazwa funkcji. Ciąg tekstowy. Brak.
Rola Rola wykonania funkcji. Ciąg tekstowy. Brak.
Środowisko wykonawcze Środowisko wykonawcze funkcji. Ciąg tekstowy. Brak.
Wersja Wersja funkcji. Ciąg tekstowy. Brak.

Informacje o konfiguracji

Podczas konfigurowania i wdrażania tego rozszerzenia do użycia w serwerach proxy API postępuj zgodnie z tymi instrukcjami. Instrukcje konfigurowania rozszerzenia za pomocą konsoli Apigee znajdziesz w artykule Dodawanie i konfigurowanie rozszerzenia.

Właściwości wspólne rozszerzeń

Dla każdego rozszerzenia dostępne są poniższe właściwości.

Usługa Opis Domyślnie Wymagany
name Nazwa nadana konfiguracji rozszerzenia. Brak Tak
packageName Nazwa pakietu rozszerzeń podana przez Apigee Edge. Brak Tak
version Numer wersji pakietu rozszerzenia, z którego konfigurujesz rozszerzenie. Brak Tak
configuration Wartość konfiguracji specyficzna dla dodawanego rozszerzenia. Zobacz Właściwości tego pakietu rozszerzeń Brak Tak

Właściwości tego pakietu rozszerzeń

Podaj wartości tych właściwości konfiguracji, które są specyficzne dla tego rozszerzenia.

Właściwość Opis Domyślny Wymagane
Region AWS Lambda Nazwa regionu, w którym są wdrażane funkcje. Na przykład: us-east-1. Brak. Tak.
Dane logowania Gdy wpisujesz go w konsoli Apigee Edge, jest to plik JSON zawierający identyfikator klucza dostępu Amazon i klucz dostępu w tej formie:

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

Gdy jest wysyłany za pomocą interfejsu API do zarządzania, jest to wartość zakodowana w standardzie Base64 wygenerowana z tego pliku klucza JSON.
Brak. Tak.