Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Версия: 1.1.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 | Название функции. | Нить. | Никто. |
| Роль | Роль функции в выполнении. | Нить. | Никто. |
| Среда выполнения | Среда выполнения функции. | Нить. | Никто. |
| Версия | Версия функции. | Нить. | Никто. |
Справочник по конфигурации
Use the following when you're configuring and deploying this extension for use in API proxies. For steps to configure an extension using the Apigee console, see Adding and configuring an extension .
Общие свойства расширения
Следующие свойства присутствуют для каждого расширения.
| Свойство | Описание | По умолчанию | Необходимый |
|---|---|---|---|
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-файла ключа. | Никто. | Да. |