execute_lambda — Выполнение функции AWS Lambda
Новая версия 2.2.
Обзор
- Этот модуль выполняет функции AWS Lambda, позволяя синхронное и асинхронное вызов.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- boto
- boto3
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key | Значение по умолчанию: None | Ключ доступа к AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. псевдонимы: ec2_access_key, access_key |
| aws_secret_key | Значение по умолчанию: None | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. псевдонимы: ec2_secret_key, secret_key |
| dry_run | Значение по умолчанию: no | Не *фактически* вызывать функцию. Вызов DryRun проверит, имеет ли вызывающий сторона разрешения на вызов функции, особенно для проверки разрешений между аккаунтами. |
| ec2_url | Значение по умолчанию: None | URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть. |
| function_arn | Значение по умолчанию: None | Имя вызываемой функции |
| name | Значение по умолчанию: None | Имя вызываемой функции. Это может быть использовано только для вызовов в рамках вызывающего аккаунта. Для вызова функции в другом аккаунте используйте function_arn для указания полного ARN. |
| payload | Значение по умолчанию: {} | Словарь в любом формате, который нужно предоставить в качестве входных данных для функции Lambda. |
| profile (добавлено в 1.6) | Значение по умолчанию: None | Использует профиль 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) | Значение по умолчанию: None | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token |
| tail_log | Значение по умолчанию: no | Если tail_log=true, результат задачи будет включать последние 4 КБ журнала CloudWatch для выполнения функции. Отображение хвоста лога работает только при использовании синхронного вызова wait=true. Обычно используется для разработки или тестирования Lambda-функций. |
| validate_certs (добавлено в 1.5) |
| Если установлено значение "no", сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| version_qualifier | Значение по умолчанию: LATEST | Какую версию/псевдоним функции запустить. По умолчанию используется последняя ( LATEST) ревизия, но можно указать любую существующую версию или псевдоним. Подробности см. по адресу https;//docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html. |
| wait | Значение по умолчанию: yes | Ожидать результаты функции или нет. Если wait ложно, задача не вернет никаких результатов. Чтобы подождать завершения работы функции Lambda, установите wait=true, и результат будет доступен в ключе 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 |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантированно будет обратной совместимостью.
Автор
- 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.5/modules/execute_lambda_module.html