Лямбда-расширение AWS

Вы просматриваете документацию Apigee Edge .
Перейти к документации Apigee X.
info

Версия: 2.0.1

Выполнение функций, развернутых на AWS Lambda. Используйте это расширение для вывода списка функций, доступных в вашей учетной записи AWS, а затем вызовите определенные функции.

Предпосылки

Перед использованием расширения из API-прокси с использованием политики ExtensionCallout необходимо:

О AWS Лямбда

AWS Lambda предоставляет вычислительные среды, в которых можно выполнять функции на одном из поддерживаемых языков.

Действия

вызывать

Вызывает функцию в AWS Lambda.

Более подробную информацию о параметрах см. в документации AWS Lambda Invoke .

Синтаксис

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

Пример

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

Параметры запроса

Более подробную информацию о параметрах см. в документации AWS Lambda Invoke .

Параметр Описание Тип По умолчанию Необходимый
Имя функции Имя вызываемой функции. Нить. Никто. Да.
invocationType Указывает, следует ли вызывать функцию синхронно, асинхронно или проверять значения параметров. Нить. Никто. Нет.
Тип журнала При желании можно указать, следует ли возвращать последние 4 КБ данных журнала. Нить Никто. Нет.
квалификатор Версия псевдонима опубликованной лямбда-функции. Нить Никто. Нет.
полезная нагрузка JSON в качестве входных данных для функции Lambda. Нить Никто. Нет.

Ответ

Массив функций, содержащих конкретные сведения о версии. Ниже приведен пример:

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

Свойства ответа

Свойство Описание Тип По умолчанию
КодСтатуса HTTP-код статуса. Целое число Никто.
Полезная нагрузка JSON, представляющий объект, возвращаемый функцией. Присутствует только если тип вызова — RequestResponse. Для ошибки функции содержит сообщение с описанием ошибки. Нить Никто.

списокФункции

Список доступных функций AWS Lambda.

Более подробную информацию о параметрах см. в документации AWS Lambda ListFunctions .

Синтаксис

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

Пример

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

Параметры запроса

Более подробную информацию о параметрах см. в документации AWS Lambda ListFunctions .

Параметр Описание Тип По умолчанию Необходимый
мастерРегион Регион (например, us-east-2 ), функции которого должны быть перечислены; ALL для включения функций из любого региона. Если указано, необходимо также указать functionVersion . Нить Никто. Нет.
functionVersion Укажите ALL , чтобы получить список всех опубликованных версий. Если не указано, возвращается только последняя неопубликованная версия ARN. Нить Никто. Нет.
maxItems Максимальное количество функций, возвращаемых в ответе. Должно быть больше 0. Абсолютный максимум, который может быть возвращен, — 50. Целое число Никто. Нет.

Ответ

JSON, представляющий собой массив функций, содержащих конкретные сведения о версии.

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

Свойства ответа

Свойство Описание Тип По умолчанию
Описание Описание функции. Нить. Никто.
Обработчик Функция, которую Lambda вызывает, чтобы начать выполнение функции. Нить. Никто.
ФункцияArn Имя ресурса Amazon функции. Нить. Никто.
ИмяФункции Название функции. Нить. Никто.
Роль Роль исполнения функции. Нить. Никто.
Время выполнения Среда выполнения функции. Нить. Никто.
Версия Версия функции. Нить. Никто.

Ссылка на конфигурацию

Используйте следующее при настройке и развертывании этого расширения для использования в API-прокси. Действия по настройке расширения с помощью консоли Apigee см. в разделе Добавление и настройка расширения .

Общие свойства расширения

Следующие свойства присутствуют для каждого расширения.

Свойство Описание По умолчанию Необходимый
name Имя, которое вы даете этой конфигурации расширения. Никто Да
packageName Имя пакета расширения, предоставленное Apigee Edge. Никто Да
version Номер версии пакета расширения, из которого вы настраиваете расширение. Никто Да
configuration Значение конфигурации, относящееся к добавляемому расширению. См. Свойства этого пакета расширения. Никто Да

Свойства этого пакета расширения

Укажите значения для следующих свойств конфигурации, специфичных для этого расширения.

Свойство Описание По умолчанию Необходимый
Регион AWS Lambda Название региона, в котором развернуты ваши функции. Например: us-east-1 . Никто. Да.
Реквизиты для входа При вводе в консоль Apigee Edge это будет JSON-файл, содержащий ваш идентификатор ключа доступа Amazon и ключ доступа в следующей форме:

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

При отправке через API управления это значение в кодировке base64, сгенерированное из этого ключевого JSON-файла.
Никто. Да.