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 bool |
| Не вызывать функцию *фактически*. Вызов 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 bool |
| Если tail_log=yes, результат задачи будет включать последние 4 КБ журнала CloudWatch для выполнения функции. Подглядывание журнала работает только при использовании синхронного вызова wait=yes. Обычно используется для разработки или тестирования Lambda-функций. |
| validate_certs bool (добавлено в 1.5) |
| При установке в «нет», сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| version_qualifier | По умолчанию: "LATEST" | Какую версию/псевдоним функции запустить. По умолчанию используется LATEST ревизия, но можно установить любую существующую версию или псевдоним. Подробнее см. https;//docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html. |
| wait bool |
| Нужно ли ждать результатов функции? Если 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), если учетные данные не предоставлены. См. http://boto.readthedocs.org/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. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, поддерживаемых сообществом 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.6/modules/execute_lambda_module.html