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

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

Версия: 1.0.0

Выполнение функций, развернутых на 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 .

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