Лямбда-расширение AWS

Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee
X.info

Версия: 2.0.2

Выполняйте функции, развернутые в AWS Lambda. Используйте это расширение, чтобы получить список функций, доступных в вашей учетной записи AWS, а затем вызвать конкретные функции.

Предварительные требования

Перед использованием расширения через API-прокси с применением политики ExtensionCallout необходимо:

О программе 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-файла ключа.
Никто. Да.