Rozszerzenie AWS Lambda

Wyświetlasz dokumentację Apigee Edge.
Przejdź do dokumentacji Apigee X.
info

Wersja: 1.1.1

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

Wymagania wstępne

Zanim zaczniesz korzystać z rozszerzenia w proxy interfejsu API za pomocą zasady ExtensionCallout, musisz:

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 funkcji do wywołania. Ciąg tekstowy. Brak. Tak.
invocationType Określa, czy funkcja ma być wywoływana synchronicznie, asynchronicznie czy też ma sprawdzać wartości parametrów. Ciąg tekstowy. Brak. Nie.
logType Opcjonalnie określa, czy mają być zwracane ostatnie 4 KB danych logu. Ciąg znaków Brak. Nie.
kwalifikator Wersja lub alias 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ąca 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 Kod stanu HTTP. Liczba całkowita Brak.
Ładunek JSON reprezentujący obiekt zwracany przez funkcję. Występuje tylko wtedy, gdy typ wywołania to RequestResponse. W przypadku błędu funkcji zawiera 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 AWS Lambda ListFunctions.

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

Parametr Opis Typ Domyślny Wymagane
masterRegion Region (np. us-east-2), którego funkcje mają być wyświetlane; ALL, aby uwzględnić funkcje z dowolnego regionu. Jeśli podasz tę wartość, musisz też podać wartość functionVersion. Ciąg znaków Brak. Nie.
functionVersion Aby wyświetlić wszystkie opublikowane wersje, podaj wartość ALL. Jeśli nie podasz tej wartości, zostanie zwrócony tylko najnowszy nieopublikowany ARN wersji. Ciąg znaków Brak. Nie.
maxItems Maksymalna liczba funkcji, które mają zostać zwrócone w odpowiedzi. Musi być większa niż 0. Maksymalna liczba, która może zostać zwrócona, to 50. Liczba całkowita Brak. Nie.

Odpowiedź

JSON reprezentujący tablicę funkcji zawierającą 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.
Moduł obsługi Funkcja, którą Lambda wywołuje, aby rozpocząć wykonywanie funkcji. Ciąg tekstowy. Brak.
FunctionArn Nazwa zasobu Amazon funkcji. Ciąg tekstowy. Brak.
FunctionName Nazwa funkcji. Ciąg tekstowy. Brak.
Rola Rola wykonywania funkcji. Ciąg tekstowy. Brak.
Środowisko wykonawcze Środowisko wykonawcze funkcji. Ciąg tekstowy. Brak.
Wersja Wersja funkcji. Ciąg tekstowy. Brak.

Dokumentacja konfiguracji

Użyj tych informacji podczas konfigurowania i wdrażania tego rozszerzenia do użytku w proxy interfejsu API. Aby dowiedzieć się, jak skonfigurować rozszerzenie za pomocą konsoli Apigee, przeczytaj artykuł Dodawanie i konfigurowanie rozszerzenia.

Wspólne właściwości rozszerzenia

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 rozszerzenia

Określ wartości tych właściwości konfiguracji specyficznych dla tego rozszerzenia.

Właściwość Opis Domyślny Wymagane
Region AWS Lambda Nazwa regionu, w którym wdrożono funkcje. Na przykład: us-east-1. Brak. Tak.
Dane logowania Gdy wpiszesz je w konsoli Apigee Edge, będzie to plik JSON zawierający identyfikator klucza dostępu i klucz dostępu do Amazon w tej postaci:

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

Gdy wysyłasz je za pomocą interfejsu Management API, jest to wartość zakodowana w formacie base64 wygenerowana z tego pliku JSON klucza.
Brak. Tak.