Вы просматриваете документацию Apigee Edge .
Перейти к документации Apigee X. info
Версия: 2.0.1
Выполнение функций, развернутых на AWS Lambda. Используйте это расширение для вывода списка функций, доступных в вашей учетной записи AWS, а затем вызовите определенные функции.
Предпосылки
Перед использованием расширения из API-прокси с использованием политики ExtensionCallout необходимо:
Получите идентификатор ключа доступа Amazon и секретный ключ доступа .
Они вам понадобятся, а также название региона, в котором развернуты ваши функции, для настройки этого расширения.
Разверните вашу функцию Lambda. Чтобы расширение могло получить доступ к функции Lambda, оно должно быть:
- Развернуто в публичном VPC
- Развернуто в частном VPC с публичным шлюзом NAT
Дополнительную информацию см. в разделе Настройка функции Lambda для доступа к ресурсам в Amazon VPC .
О 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-файла. | Никто. | Да. |