community.aws.execute_lambda – Выполнение функции AWS Lambda
Примечание
Этот плагин входит в состав коллекции community.aws (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install community.aws.
Для использования в книге задач укажите: community.aws.execute_lambda.
Новое в версии 1.0.0: of community.aws
Обзор
- Этот модуль выполняет функции AWS Lambda, позволяя синхронное и асинхронное вызов.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- boto
- boto3
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| aws_access_key строка | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Если задан параметр profile, этот параметр игнорируется. Одновременное использование параметров aws_access_key и profile устарело и параметры будут сделаны взаимоисключающими после 2022-06-01. псевдонимы: ec2_access_key, access_key | |
| aws_ca_bundle путь | Расположение файла с набором сертификатов CA для проверки SSL-сертификатов. Используется только для модулей, основанных на boto3. Примечание: набор сертификатов CA считывается на стороне модуля и, возможно, потребует явного копирования с контроллера, если он не запущен локально. | |
| aws_config словарь | Словарь для изменения конфигурации botocore. Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config. Для модулей boto используется только ключ 'user_agent'. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для получения дополнительной информации о конфигурации boto. | |
| aws_secret_key строка | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Если задан параметр profile, этот параметр игнорируется. Одновременное использование параметров aws_secret_key и profile устарело и параметры будут сделаны взаимоисключающими после 2022-06-01. псевдонимы: ec2_secret_key, secret_key | |
| debug_botocore_endpoint_logs логический тип |
| Использование логирования botocore.endpoint для анализа уникальных (а не общих) вызовов API «ресурс:действие» во время выполнения задачи, выводящих набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, созданного во время выполнения книги задач. Переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована. |
| dry_run логический тип |
| Не вызывать функцию *фактически*. Вызов DryRun проверит, имеет ли вызывающий сторона разрешения на вызов функции, особенно для проверки разрешений между учетными записями. |
| ec2_url строка | Адрес, используемый для подключения к EC2 или вашей облачной системе Eucalyptus (по умолчанию модуль будет использовать адреса EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если она есть. псевдонимы: aws_endpoint_url, endpoint_url | |
| function_arn строка | Имя вызываемой функции | |
| name строка | Имя вызываемой функции. Это можно использовать только для вызовов в рамках вызывающей учетной записи. Для вызова функции в другой учетной записи используйте function_arn для указания полного ARN. | |
| payload словарь | Значение по умолчанию: {} | Словарь в любом формате, который нужно предоставить в качестве входных данных для функции Lambda. |
| profile строка | Использует профиль boto. Работает только с boto >= 2.24.0. Использование profile переопределяет aws_access_key, aws_secret_key и security_token, а поддержка одновременного использования с profile устарела. aws_access_key, aws_secret_key и security_token будут сделаны взаимоисключающими с profile после 2022-06-01. псевдонимы: aws_profile | |
| 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. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Если задан параметр profile, этот параметр игнорируется. Одновременное использование параметров security_token и profile устарело и параметры будут сделаны взаимоисключающими после 2022-06-01. псевдонимы: aws_security_token, access_token | |
| tail_log логический тип |
| Если tail_log=да, результат задачи будет включать последние 4 КБ журнала CloudWatch для выполнения функции. Подсмотр журнала работает только при использовании синхронного вызова wait=да. Обычно используется для разработки или тестирования Lambdas. |
| validate_certs логический тип |
| При значении "нет", SSL-сертификаты не будут проверяться для версий boto >= 2.6.0. |
| version_qualifier строка | Какая версия/псевдоним функции будет запущена. По умолчанию это LATEST ревизия, но может быть задана любая существующая версия или псевдоним. См. https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html для получения подробностей. | |
| wait логический тип |
| Ожидать ли результатов функции или нет. Если wait=нет, задача не вернет никаких результатов. Чтобы дождаться завершения функции Lambda, установите wait=да, и результат будет доступен в ключе output. |
Примечания
Примечание
- Асинхронный вызов всегда вернёт пустой ключ
output. - Синхронный вызов может привести к таймауту функции, в результате чего пустой ключ
output. - Если параметры не заданы внутри модуля, можно использовать следующие переменные окружения в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_PROFILEилиAWS_DEFAULT_PROFILE,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,AWS_CA_BUNDLE. - Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно используются для указания региона AWS, когда это необходимо, но его также можно настроить в файле конфигурации boto
Примеры
- community.aws.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
- community.aws.execute_lambda:
function_arn: arn:aws:lambda:us-east-1:123456789012:function/some-function
dry_run: true
- community.aws.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
# Pass the Lambda event payload as a json file.
- community.aws.execute_lambda:
name: test-function
payload: "{{ lookup('file','lambda_event.json') }}"
register: response
- community.aws.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.10/collections/community/aws/execute_lambda_module.html