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