amazon.aws.lambda_event 模块 – 创建、更新或删除 AWS Lambda 函数事件映射
注意
此模块是 amazon.aws 集合 (版本 9.0.0) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install amazon.aws
。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。
要在剧本中使用它,请指定:amazon.aws.lambda_event
。
amazon.aws 5.0.0 中的新增功能
概要
此模块允许通过 Ansible 框架管理 AWS Lambda 函数事件源映射,例如 DynamoDB 和 Kinesis 流事件。这些事件源映射仅与 AWS Lambda 拉取模型相关,其中 AWS Lambda 调用函数。它是幂等的,并支持“检查”模式。使用模块 amazon.aws.lambda 来管理 lambda 函数本身,并使用 amazon.aws.lambda_alias 来管理函数别名。
此模块最初添加到
community.aws
的 1.0.0 版本中。
要求
执行此模块的主机需要以下要求。
python >= 3.6
boto3 >= 1.28.0
botocore >= 1.31.0
参数
参数 |
注释 |
---|---|
AWS 访问密钥 ID。 有关访问令牌的更多信息,请参阅 AWS 文档 https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys。 还可以使用 aws_access_key 和 profile 选项是互斥的。 为与 AWS botocore SDK 保持一致,在 5.1.0 版本中添加了 aws_access_key_id 别名。 ec2_access_key 别名已被弃用,并将在 2024-12-01 后的某个版本中删除。
|
|
函数别名的名称。 与 |
|
验证 SSL 证书时使用的 CA 捆绑包的位置。 还可以使用 |
|
用于修改 botocore 配置的字典。 参数可以在 AWS 文档中找到 https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config。 |
|
使用 还可以使用 选项
|
|
连接到非默认 AWS 端点的 URL。虽然这可以用于连接到其他与 AWS 兼容的服务,但 amazon.aws 和 community.aws 集合仅针对 AWS 进行了测试。 还可以使用 ec2_url 和 s3_url 别名已被弃用,并将在 2024-12-01 后的某个版本中删除。 对环境变量 |
|
触发lambda函数的事件来源。 对于DynamoDB和Kinesis事件,选择 对于SQS队列,选择 选项
|
|
lambda函数的名称或ARN。 |
|
用于身份验证的命名AWS配置文件。 有关命名配置文件的更多信息,请参阅AWS文档 https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html。 也可以使用 profile选项与aws_access_key、aws_secret_key和security_token选项互斥。 |
|
要使用的AWS区域。 对于IAM、Route53和CloudFront等全局服务,将忽略region。 也可以使用 有关更多信息,请参阅Amazon AWS文档 http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region。 别名 对环境变量 |
|
AWS密钥访问密钥。 有关访问令牌的更多信息,请参阅 AWS 文档 https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys。 也可以按优先级递减的顺序使用 secret_key和profile选项互斥。 为了与AWS botocore SDK保持一致,在5.1.0版本中添加了aws_secret_access_key别名。 别名ec2_secret_key已弃用,并将在2024-12-01之后的一个版本中移除。 对环境变量 |
|
与临时凭证一起使用的AWS STS会话令牌。 有关访问令牌的更多信息,请参阅 AWS 文档 https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys。 也可以按优先级递减的顺序使用 security_token和profile选项互斥。 在3.2.0版本中添加了别名aws_session_token和session_token,在6.0.0版本中将参数名称从security_token重命名为session_token。 别名security_token、aws_security_token和access_token已弃用,并将在2024-12-01之后的一个版本中移除。 对环境变量 |
|
事件源所需的子参数。 |
|
AWS Lambda在调用函数时从事件源检索的记录的最大数量。 Amazon Kinesis - 默认值 Amazon DynamoDB Streams - 默认值 Amazon Simple Queue Service - 默认值 Amazon Managed Streaming for Apache Kafka - 默认值 自管理的Apache Kafka - 默认值 Amazon MQ (ActiveMQ和RabbitMQ) - 默认值 DocumentDB - 默认值 |
|
指示AWS Lambda是否应该开始轮询或从事件源读取。 选项
|
|
(Streams和Amazon SQS) 应用于事件源映射的当前响应类型枚举列表。 选项
|
|
Lambda在调用函数之前收集记录的最大时间(以秒为单位)。 您可以将 对于streams和Amazon SQS事件源,当 |
|
作为事件源的SQS队列、Kinesis流或DynamoDB流的Amazon资源名称(ARN)。 |
|
描述所需状态。 选项
|
|
设置为 强烈建议不要设置validate_certs=false,作为替代方案,请考虑改用aws_ca_bundle。 选项
|
|
备注
注意
警告:对于模块,环境变量和配置文件是从Ansible的“主机”上下文而不是“控制器”上下文读取的。因此,可能需要将文件显式复制到“主机”。对于查找和连接插件,环境变量和配置文件是从Ansible的“控制器”上下文而不是“主机”上下文读取的。
Ansible使用的AWS SDK (boto3)也可能从Ansible“主机”上下文中的配置文件(通常为
~/.aws/credentials
)读取凭据和其他设置(例如区域)的默认值。有关更多信息,请参阅 https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html。
示例
# Example that creates a lambda event notification for a DynamoDB stream
- name: DynamoDB stream event mapping
amazon.aws.lambda_event:
state: present
event_source: stream
function_name: "{{ function_name }}"
alias: Dev
source_params:
source_arn: arn:aws:dynamodb:us-east-1:123456789012:table/tableName/stream/2016-03-19T19:51:37.457
enabled: true
batch_size: 100
starting_position: TRIM_HORIZON
register: event
# Example that creates a lambda event notification for a DynamoDB stream
- name: DynamoDB stream event mapping
amazon.aws.lambda_event:
state: present
event_source: stream
function_name: "{{ function_name }}"
source_params:
source_arn: arn:aws:dynamodb:us-east-1:123456789012:table/tableName/stream/2016-03-19T19:51:37.457
enabled: true
batch_size: 100
starting_position: LATEST
function_response_types:
- ReportBatchItemFailures
register: event
- name: Show source event
ansible.builtin.debug:
var: event.lambda_stream_events
返回值
常见的返回值已在此处记录,以下是此模块特有的字段
键 |
描述 |
---|---|
API返回的字典,描述流事件映射 返回值: 成功 |
|
Lambda每次拉取的批次中最大记录数。 返回值: 始终 |
|
如果函数返回错误,则将批次分成两部分并重试。 返回值: 仅限于Kinesis和DynamoDB Streams 示例: |
|
指定Lambda处理事件后事件目标的配置对象。 返回值: 仅限于Kinesis、DynamoDB Streams、Amazon MSK和自管理Kafka |
|
失败调用的目标配置。 返回值: 成功 |
|
目标资源ARN。 返回值: 成功 |
|
失败调用的目标配置。 返回值: 成功 |
|
目标资源ARN。 返回值: 成功 |
|
事件源的Amazon资源名称 (ARN)。 返回值: 始终 示例: |
|
Lambda函数的ARN。 返回值: 始终 示例: |
|
应用于事件源映射的当前响应类型枚举列表。 返回值: 仅限于Kinesis、DynamoDB Streams和Amazon SQS 示例: |
|
事件源映射上次更新或其状态更改的日期。 返回值: 始终 示例: |
|
上次Lambda调用函数的结果。 返回值: 始终 示例: |
|
Lambda在调用函数之前收集记录的最大时间(以秒为单位)。 返回值: 始终 示例: |
|
丢弃比指定年龄大的记录。默认值为无限大 (-1)。 返回值: 仅限于Kinesis和DynamoDB Streams 示例: |
|
在指定重试次数后丢弃记录。 返回值: 仅限于Kinesis和DynamoDB Streams 示例: |
|
从每个分片并发处理的批次数量。 返回值: 仅限于Kinesis和DynamoDB Streams 示例: |
|
从流中开始读取的位置。 返回值: 仅限于Kinesis和DynamoDB Streams 示例: |
|
事件源映射的状态。 返回值: 始终 示例: |
|
指示用户还是Lambda对事件源映射进行了最后更改。 返回值: 始终 示例: |
|
DynamoDB和Kinesis Streams事件源的处理窗口持续时间(秒)。 返回值: 仅限于Kinesis和DynamoDB Streams 示例: |
|
事件源映射的标识符。 返回值: 始终 示例: |