Spec-Zone.ru › Ansible 2.11

community.aws.execute_lambda – Выполнение функции AWS Lambda

Примечание

Этот плагин входит в коллекцию community.aws (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.aws.

Чтобы использовать его в книге задач, укажите: community.aws.execute_lambda.

Введено в версии 1.0.0: коллекции 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
путь
Расположение файла с набором корневых сертификатов для проверки SSL-сертификатов.
Используется только для модулей, основанных на boto3.
Примечание: набор корневых сертификатов считывается со стороны модуля и, возможно, потребует явного копирования с контроллера, если он не выполняется локально.
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
строка
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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/execute_lambda_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API