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