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 | |
| debug_botocore_endpoint_logs логическое значение добавлено в 2.8 |
| Использовать logger botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполненных во время задачи, выводя список в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время выполнения playbook. Также можно использовать переменную окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| dry_run логическое значение |
| Не выполнять вызов функции. Вызов DryRun проверит, имеет ли вызывающая сторона разрешения на вызов функции, особенно для проверки разрешений между учетными записями. |
| ec2_url строка | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковое есть. | |
| function_arn - | Имя вызываемой функции. | |
| name - | Имя вызываемой функции. Может использоваться только для вызовов в вызывающей учетной записи. Для вызова функции в другой учетной записи используйте function_arn для указания полного ARN. | |
| payload - | По умолчанию: {} | Словарь в любом формате, который должен быть предоставлен в качестве входных данных функции Lambda. |
| profile строка | Использует профиль 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 строка | AWS STS security token. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | |
| tail_log логическое значение |
| Если tail_log=yes, результат задачи будет включать последние 4 КБ логов CloudWatch для выполнения функции. Отслеживание логов работает только при использовании синхронного вызова wait=yes. Обычно используется для разработки или тестирования Lambdas. |
| validate_certs логическое значение |
| Если установлено в «нет», сертификаты SSL для boto версий >= 2.6.0 не будут проверяться. |
| version_qualifier - | По умолчанию: "LATEST" | Какую версию/псевдоним функции нужно запустить. По умолчанию используется LATEST версия, но можно установить любую существующую версию или псевдоним. Подробнее см. https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html. |
| wait логическое значение |
| Дожидаться результатов функции или нет. Если 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.8/modules/execute_lambda_module.html