Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Версия: 2.0.2
Выполняйте функции, развернутые в AWS Lambda. Используйте это расширение, чтобы получить список функций, доступных в вашей учетной записи AWS, а затем вызвать конкретные функции.
Предварительные требования
Перед использованием расширения через API-прокси с применением политики ExtensionCallout необходимо:
Получите свой идентификатор ключа доступа Amazon и секретный ключ доступа .
Для настройки этого расширения вам понадобятся эти данные, а также название региона, в котором развернуты ваши функции.
Разверните свою функцию Lambda. Для того чтобы расширение могло получить доступ к функции Lambda, оно должно соответствовать одному из следующих условий:
- Развернуто в публичной VPC.
- Развернуто в частной VPC с публичным NAT-шлюзом.
Дополнительные сведения см. в разделе «Настройка функции Lambda для доступа к ресурсам в Amazon VPC» .
О программе AWS Lambda
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 .
| Параметр | Описание | Тип | По умолчанию | Необходимый |
|---|---|---|---|---|
| functionName | Название вызываемой функции. | Нить. | Никто. | Да. |
| invocationType | Указывает, следует ли вызывать функцию синхронно, асинхронно или проверять значения параметров. | Нить. | Никто. | Нет. |
| logType | При желании можно указать, следует ли возвращать последние 4 КБ данных журнала. | Нить | Никто. | Нет. |
| квалификатор | Версия или псевдоним опубликованной лямбда-функции. | Нить | Никто. | Нет. |
| полезная нагрузка | JSON в качестве входных данных для функции Lambda. | Нить | Никто. | Нет. |
Ответ
Массив функций, содержащий подробную информацию о конкретной версии. Ниже приведён пример:
{
"StatusCode" : 200,
"Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}
Свойства отклика
| Свойство | Описание | Тип | По умолчанию |
|---|---|---|---|
| Код состояния | Код состояния HTTP. | Целое число | Никто. |
| Полезная нагрузка | 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 | Максимальное количество функций, возвращаемых в ответе. Должно быть больше 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 для начала выполнения функции. | Нить. | Никто. |
| FunctionArn | Amazon Resource Name этой функции. | Нить. | Никто. |
| FunctionName | Название функции. | Нить. | Никто. |
| Роль | Роль функции в выполнении. | Нить. | Никто. |
| Среда выполнения | Среда выполнения функции. | Нить. | Никто. |
| Версия | Версия функции. | Нить. | Никто. |
Справочник по конфигурации
При настройке и развертывании этого расширения для использования в 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-файла ключа. | Никто. | Да. |