вызов
Описание
Вызывает функцию Lambda. Вы можете вызвать функцию синхронно (и дождаться ответа) или асинхронно. По умолчанию Lambda вызывает вашу функцию синхронно (т.е. ``InvocationType`` — RequestResponse ). Чтобы вызвать функцию асинхронно, установите InvocationType в Event . Lambda передает объект ClientContext вашей функции только для синхронных вызовов.
Для синхронного вызова детали о ответе функции, включая ошибки, включены в тело и заголовки ответа. Для любого типа вызова вы можете найти дополнительную информацию в журнале выполнения и трассировке.
Если возникает ошибка, ваша функция может вызываться несколько раз. Поведение повторных попыток варьируется в зависимости от типа ошибки, клиента, источника событий и типа вызова. Например, если вы вызываете функцию асинхронно, и она возвращает ошибку, Lambda выполняет функцию до двух дополнительных раз. Для получения дополнительной информации см. Обработку ошибок и автоматические повторные попытки в Lambda.
Для асинхронного вызова Lambda добавляет события в очередь перед отправкой их вашей функции. Если ваша функция не имеет достаточной мощности для поддержания очереди, события могут быть потеряны. Иногда ваша функция может получать одно и то же событие несколько раз, даже если ошибки не происходит. Чтобы сохранить события, которые не были обработаны, настройте свою функцию с очередью обработки ошибок.
Код состояния в ответе API не отражает ошибки функции. Коды ошибок предназначены для ошибок, которые препятствуют выполнению вашей функции, такие как ошибки разрешений, ошибки квот или проблемы с кодом и конфигурацией вашей функции. Например, Lambda возвращает TooManyRequestsException, если запуск функции приведет к превышению ограничения одновременного выполнения на уровне учетной записи (ConcurrentInvocationLimitExceeded) или функции (ReservedFunctionConcurrentInvocationLimitExceeded).
Для функций с большим таймаутом ваш клиент может отключиться во время синхронного вызова, ожидая ответа. Настройте свой HTTP-клиент, SDK, брандмауэр, прокси или операционную систему для поддержки длительных соединений с таймаутом или настройками keep-alive.
Для этой операции требуется разрешение на действие lambda:InvokeFunction. Подробности о настройке разрешений для межсчётных вызовов см. в разделе Назначение функции доступа к другим учётным записям.
См. также: Документация API AWS
Синтаксис
invoke
--function-name <value>
[--invocation-type <value>]
[--log-type <value>]
[--client-context <value>]
[--payload <value>]
[--qualifier <value>]
<outfile>
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--function-name (строка)
Имя или ARN функции Lambda, версии или псевдонима.
-
Имя функции –
my-function(только имя),my-function:v1(с псевдонимом). -
ARN функции –
arn:aws:lambda:us-west-2:123456789012:function:my-function. -
Частичный ARN –
123456789012:function:my-function.
Вы можете добавить номер версии или псевдоним к любому из форматов. Ограничение длины применяется только к полному ARN. Если вы укажете только имя функции, оно ограничено длиной 64 символа.
--invocation-type (строка)
Выберите один из следующих вариантов.
-
RequestResponse(по умолчанию) – Вызов функции синхронно. Сохраните соединение открытым, пока функция не вернёт ответ или не истечёт время ожидания. Ответ API включает ответ функции и дополнительные данные. -
Event– Вызов функции асинхронно. Отправляйте события, которые не удалось обработать несколько раз, в очередь обработки ошибок функции (если она настроена). Ответ API содержит только код состояния. -
DryRun– Проверьте значения параметров и убедитесь, что пользователь или роль имеют разрешение на вызов функции.
Возможные значения:
EventRequestResponseDryRun
--log-type (строка)
Установите значение Tail, чтобы включить журнал выполнения в ответ. Применимо только к синхронно вызванным функциям.
Возможные значения:
NoneTail
--client-context (строка)
ClientContext вашей функции только для синхронных вызовов.--payload (байтовый массив)
JSON, который вы хотите предоставить своей функции Lambda в качестве входных данных.
Вы можете ввести JSON напрямую. Например, --payload '{ "key": "value" }'. Вы также можете указать путь к файлу. Например, --payload file://payload.json.
--qualifier (строка)
outfile (строка) Имя файла, в который будет сохранён контент
Общие параметры
--debug (логическое значение)
Включить отладку регистрации.
--endpoint-url (строка)
Переопределить URL по умолчанию команды заданным URL.
--no-verify-ssl (логическое значение)
По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять сертификаты SSL. Этот параметр переопределяет стандартное поведение проверки сертификатов SSL.
--no-paginate (логическое значение)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования для вывода команд.
- json
- текст
- таблица
- yaml
- yaml-поток
--query (строка)
Запрос JMESPath для использования в фильтрации данных ответа.
--profile (строка)
Использовать определённый профиль из файла ключей.
--region (строка)
Используемый регион. Переопределяет параметры конфигурации/среды.
--version (строка)
Показать версию этого инструмента.
--color (строка)
Включить/отключить цветной вывод.
- включить
- выключить
- автоматически
--no-sign-request (логическое значение)
Не подписывать запросы. Ключи не будут загружаться, если этот параметр предоставлен.
--ca-bundle (строка)
Файл сертификатов CA для использования при проверке сертификатов SSL. Переопределяет параметры конфигурации/среды.
--cli-read-timeout (целое число)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет выполняться блокирующим образом без таймаута. Значение по умолчанию — 60 секунд.
--cli-connect-timeout (целое число)
Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет выполняться блокирующим образом без таймаута. Значение по умолчанию — 60 секунд.
--cli-binary-format (строка)
Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены в виде строки, закодированной в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, которое отображается как двоичный блок, fileb:// всегда будет обрабатываться как двоичный и будет использоваться содержимое файла напрямую независимо от настройки cli-binary-format. При использовании file:// содержимое файла необходимо должным образом отформатировать для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (логическое значение)
Отключить пагинатор командной строки для вывода.
--cli-auto-prompt (логическое значение)
Автоматически запросить параметры ввода CLI.
--no-cli-auto-prompt (логическое значение)
Отключить автоматическое запрошение параметров ввода CLI.
Примеры
Примечание
Чтобы использовать следующие примеры, необходимо установить и настроить AWS CLI. См. руководство по началу работы в Руководстве пользователя AWS CLI для получения дополнительной информации.
За исключением случаев, когда указано иное, все примеры используют правила цитирования, похожие на Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей консоли. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.
Пример 1: Синхронный вызов функции Lambda
Следующий invoke пример синхронно вызывает функцию my-function. Параметр cli-binary-format необходим, если вы используете AWS CLI версии 2. Для получения дополнительной информации см. Поддерживаемые глобальные параметры командной строки AWS CLI в Руководстве пользователя AWS Command Line Interface.
aws lambda invoke \
--function-name my-function \
--cli-binary-format raw-in-base64-out \
--payload '{ "name": "Bob" }' \
response.json
Вывод:
{
"ExecutedVersion": "$LATEST",
"StatusCode": 200
}
Для получения дополнительной информации см. Синхронный вызов функции Lambda в Руководстве разработчика AWS Lambda.
Пример 2: Асинхронный вызов функции Lambda
Следующий invoke пример асинхронно вызывает функцию my-function. Параметр cli-binary-format необходим, если вы используете AWS CLI версии 2. Для получения дополнительной информации см. Поддерживаемые глобальные параметры командной строки AWS CLI в Руководстве пользователя AWS Command Line Interface.
aws lambda invoke \
--function-name my-function \
--invocation-type Event \
--cli-binary-format raw-in-base64-out \
--payload '{ "name": "Bob" }' \
response.json
Вывод:
{
"StatusCode": 202
}
Для получения дополнительной информации см. Асинхронный вызов функции Lambda в Руководстве разработчика AWS Lambda.
Вывод
StatusCode -> (целое число)
RequestResponse этот код состояния — 200. Для типа вызова Event этот код состояния — 202. Для типа вызова DryRun код состояния — 204.FunctionError -> (строка)
LogResult -> (строка)
Payload -> (байтовый массив)
ExecutedVersion -> (строка)
© Copyright 2025, Amazon Web Services. Created using Sphinx.