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

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

Версия: 1.1.1

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

Предпосылки

Прежде чем использовать расширение от прокси API с помощью политики ExtensionCallout , необходимо:

Об AWS Lambda

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 .

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

Параметр Описание Тип По умолчанию Необходимый
masterRegion Регион (например us-east-2 ), функции которого должны быть перечислены; ALL , чтобы включить функции из любого региона. Если указано, вы также должны указать 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 Название региона, в котором развернуты ваши функции. Например: us-east-1 . Никто. Да.
Реквизиты для входа При вводе в консоли Apigee Edge это файл JSON, содержащий идентификатор вашего ключа доступа к Amazon и ключ доступа в следующей форме:

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

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