execute_lambda – Выполнение функции AWS Lambda
Новая версия 2.2.
Обзор
- Этот модуль выполняет функции AWS Lambda, позволяя выполнять вызовы синхронно и асинхронно.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- boto
- boto3
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key - | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key | |
| aws_secret_key - | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key | |
| dry_run boolean |
| Не вызывать функцию *фактически*. Вызов DryRun проверит, имеет ли вызывающий права на вызов функции, особенно для проверки прав доступа между учетными записями. |
| ec2_url - | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть. | |
| function_arn - | Имя вызываемой функции. | |
| name - | Имя вызываемой функции. Может использоваться только для вызовов в рамках вызывающей учетной записи. Для вызова функции в другой учетной записи используйте function_arn для указания полного ARN. | |
| payload - | По умолчанию: {} | Словарь в любом формате, который должен быть предоставлен в качестве входных данных для функции Lambda. |
| profile - добавлено в 1.6 | Использует профиль boto. Работает только с boto >= 2.24.0. | |
| region - | Регион AWS для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если она есть. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
Псевдонимы: aws_region, ec2_region | |
| security_token - добавлено в 1.6 | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | |
| tail_log boolean |
| Если tail_log=yes, результат задачи будет включать последние 4 КБ журнала CloudWatch для выполнения функции. Хвостовое слежение за логами работает только при использовании синхронного вызова wait=yes. Обычно используется для разработки или тестирования Lambda. |
| validate_certs boolean добавлено в 1.5 |
| Если установлено значение "нет", сертификаты SSL не будут проверяться для версий boto >= 2.6.0. |
| version_qualifier - | По умолчанию: "LATEST" | Какую версию/псевдоним функции запустить. По умолчанию используется LATEST ревизия, но может быть установлено любое существующее значение версии или псевдонима. Подробнее см. https;//docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html. |
| wait boolean |
| Дожидаться результатов функции или нет. Если wait no, задача не вернёт никаких результатов. Чтобы дождаться завершения выполнения функции Lambda, установите wait=yes, и результат будет доступен в ключе output. |
Примечания
Примечание
- Асинхронный вызов всегда возвращает пустой
outputключ. - Синхронный вызов может привести к таймауту функции, в результате чего ключ
outputстанет пустым. - Если параметры не заданы в модуле, следующие переменные среды могут использоваться в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION - Ansible использует конфигурационный файл boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, когда это необходимо, но это также можно настроить в конфигурационном файле boto
Примеры
- execute_lambda:
name: test-function
# the payload is automatically serialized and sent to the function
payload:
foo: bar
value: 8
register: response
# Test that you have sufficient permissions to execute a Lambda function in
# another account
- execute_lambda:
function_arn: arn:aws:lambda:us-east-1:123456789012:function/some-function
dry_run: true
- execute_lambda:
name: test-function
payload:
foo: bar
value: 8
wait: true
tail_log: true
register: response
# the response will have a `logs` key that will contain a log (up to 4KB) of the function execution in Lambda.
- execute_lambda:
name: test-function
version_qualifier: PRODUCTION
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| logs строка | если tail_log == true | Последние 4 КБ журналов функции. Предоставляется только если tail_log равно true |
| output словарь | успешно | Вывод функции, если wait=true и функция возвращает значение Пример: { 'output': 'что-то' } |
| status целое число | всегда | StatusCode код завершения API-вызова (200 для синхронных вызовов, 202 для асинхронных)Пример: 200 |
Статус
- Этот модуль не гарантирует обратную совместимость. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Ryan Scott Brown (@ryansb) <ryansb@redhat.com>
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/execute_lambda_module.html