lambda – Управление функциями AWS Lambda
Новая в версии 2.2.
Обзор
- Позволяет управлять функциями 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 | |
| dead_letter_arn - добавлено в 2.3 | Родительский объект, содержащий целевой Amazon Resource Name (ARN) очереди Amazon SQS или темы Amazon SNS. | |
| debug_botocore_endpoint_logs логический добавлено в 2.8 |
| Используйте логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», сделанных во время задачи, выводит набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода в список всех вызовов, сделанных во время выполнения плейбука. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. |
| description - | Краткое описание функции, заданное пользователем. Lambda не использует это значение. Присвойте осмысленное описание по своему усмотрению. | |
| ec2_url строка | URL для подключения к EC2 или облаку Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где регион обязателен. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковое есть. | |
| environment_variables - добавлено в 2.3 | Словарь переменных среды, которые предоставляются функции Lambda. псевдонимы: environment | |
| handler - | Функция в вашем коде, которую Lambda вызывает для начала выполнения. | |
| memory_size - | По умолчанию: 128 | Объем памяти в МБ, предоставляемый вашей функции Lambda. |
| name - / обязательно | Имя, которое вы хотите присвоить функции, которую загружаете. Не может быть изменено. | |
| 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 | |
| role - | Amazon Resource Name (ARN) IAM роли, которую Lambda принимает для выполнения вашей функции для доступа к другим ресурсам Amazon Web Services (AWS). Можно использовать чистый ARN, если роль принадлежит тому же аккаунту AWS. Требуется, когда state=present. | |
| runtime - | Среда выполнения функции Lambda, которую вы загружаете. Требуется при создании функции. Использует параметры, описанные в документации boto3. Требуется, когда state=present. Список поддерживаемых сред выполнения см. на https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html. | |
| s3_bucket - | Имя ведра Amazon S3, в котором хранится файл .zip, содержащий пакет развертывания. Если state=present, то должен быть указан либо zip_file, либо s3_bucket.s3_bucket и s3_key требуются вместе. | |
| s3_key - | Имя ключа объекта Amazon S3 (пакета развертывания), который вы хотите загрузить. s3_bucket и s3_key требуются вместе. | |
| s3_object_version - | Версия объекта Amazon S3 (пакета развертывания), которую вы хотите загрузить. | |
| security_token строка | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. псевдонимы: access_token | |
| state - |
| Создание или удаление функции Lambda. |
| tags - добавлено в 2.5 | Словарь тегов для применения к функции (требуется botocore 1.5.40 или выше). | |
| timeout - | По умолчанию: 3 | Максимальное время выполнения функции в секундах, после которого Lambda должна завершить функцию. |
| validate_certs логический |
| Если установлено «нет», сертификаты SSL не будут проверены для версий boto >= 2.6.0. |
| vpc_security_group_ids - | Список идентификаторов групп безопасности VPC, которые нужно ассоциировать с функцией Lambda. Требуется при использовании vpc_subnet_ids. | |
| vpc_subnet_ids - | Список идентификаторов подсетей для запуска функции Lambda. Используйте этот параметр, если вам нужно получить доступ к ресурсам в вашей VPC. Оставьте пустым, если вы не хотите запускать функцию в VPC. | |
| zip_file - | Файл .zip, содержащий пакет развертывания. Если state=present, то должен быть указан либо zip_file, либо s3_bucket.псевдонимы: src |
Примечания
Примечание
- Если параметры не заданы в модуле, следующие переменные среды могут использоваться в порядке убывания приоритета
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
Примеры
# Create Lambda functions
- name: looped creation
lambda:
name: '{{ item.name }}'
state: present
zip_file: '{{ item.zip_file }}'
runtime: 'python2.7'
role: 'arn:aws:iam::987654321012:role/lambda_basic_execution'
handler: 'hello_python.my_handler'
vpc_subnet_ids:
- subnet-123abcde
- subnet-edcba321
vpc_security_group_ids:
- sg-123abcde
- sg-edcba321
environment_variables: '{{ item.env_vars }}'
tags:
key1: 'value1'
loop:
- name: HelloWorld
zip_file: hello-code.zip
env_vars:
key1: "first"
key2: "second"
- name: ByeBye
zip_file: bye-code.zip
env_vars:
key1: "1"
key2: "2"
# To remove previously added tags pass a empty dict
- name: remove tags
lambda:
name: 'Lambda function'
state: present
zip_file: 'code.zip'
runtime: 'python2.7'
role: 'arn:aws:iam::987654321012:role/lambda_basic_execution'
handler: 'hello_python.my_handler'
tags: {}
# Basic Lambda function deletion
- name: Delete Lambda functions HelloWorld and ByeBye
lambda:
name: '{{ item }}'
state: absent
loop:
- HelloWorld
- ByeBye
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие являются полями, уникальными для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| code словарь | успех | местоположение лямбда-функции, возвращённое методом get_function в boto3 Пример: {'location': 'предзаписанный URL S3', 'repository_type': 'S3'} |
| configuration словарь | успех | метаданные лямбда-функции, возвращённые методом get_function в boto3 Пример: {'code_sha256': 'Хэш SHA256', 'code_size': 123, 'description': 'Моя функция', 'environment': {'variables': {'key': 'значение'}}, 'function_arn': 'arn:aws:lambda:us-east-1:123456789012:function:myFunction:1', 'function_name': 'myFunction', 'handler': 'index.handler', 'last_modified': '2017-08-01T00:00:00.000+0000', 'memory_size': 128, 'role': 'arn:aws:iam::123456789012:role/lambda_basic_execution', 'runtime': 'nodejs6.10', 'timeout': 3, 'version': '1', 'vpc_config': {'security_group_ids': [], 'subnet_ids': []}} |
Состояние
- Для этого модуля не гарантируется обратная совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Steyn Huizinga (@steynovich)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 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/lambda_module.html