Расширение AWS Lambda

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

Версия: 1.1.1

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

Требования

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

О функциях AWS Lambda

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

Действия

вызывать

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

Подробную информацию о параметрах можно найти в документации по вызову AWS Lambda.

Синтаксис

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

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

Ответ

Массив функций, содержащий сведения об определенной версии. Пример:

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

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

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

listFunctions

Список доступных функций 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. Строка Нет. Нет.
functionVersion Укажите ALL, чтобы получить список всех опубликованных версий. Если не указано, возвращается только ARN последней неопубликованной версии. Строка Нет. Нет.
maxItems Максимальное количество функций, которые нужно вернуть в ответе. Укажите значение больше нуля. Максимальное количество возвращаемых результатов – 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 вызывает для запуска выполнения функции. Строка. Нет.
FunctionArn Имя ресурса Amazon функции. Строка. Нет.
FunctionName Название функции. Строка. Нет.
Роль Роль выполнения функции. Строка. Нет.
Runtime Среда выполнения функции. Строка. Нет.
Версия Версия функции. Строка. Нет.

Справочник по конфигурации

При настройке и развертывании этого расширения для использования в прокси 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 ключа.
Нет. Да.