本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
MQ
描述MQ事件源类型。有关更多信息,请参阅 。结合 Amazon MQ 使用 Lambda中的Amazon Lambda开发人员指南.
Amazon SAM生成AWS::Lambda::EventSourceMapping设置此事件类型时的资源。
注意:要在虚拟私有云 (VPC) 中拥有 Amazon MQ 队列,但您的 Lambda 函数在公共网络中,您的函数的执行角色必须包含以下权限:ec2:CreateNetworkInterface、ec2:DeleteNetworkInterface、ec2:DescribeNetworkInterfaces、ec2:DescribeSecurityGroups、ec2:DescribeSubnets、ec2:DescribeVpcs. 有关更多信息,请参阅 。执行角色权限中的Amazon Lambda开发人员指南.
语法
要在您的中声明此实体Amazon Serverless Application Model(Amazon SAM) 模板,请使用以下语法。
YAML
BatchSize:IntegerBroker:StringEnabled:BooleanMaximumBatchingWindowInSeconds:IntegerQueues:ListSecretsManagerKmsKeyId:StringSourceAccessConfigurations:List
属性
-
BatchSize -
要在单个批次中检索的最大项目数。
类型:整数
必需:否
默认值:100
Amazon CloudFormation兼容性:此属性将直接传递给
BatchSize一个的财产AWS::Lambda::EventSourceMapping资源。最低:
1最高:
10000 -
Broker -
Amazon MQ 代理的 Amazon 资源名称 (ARN)。
类型:字符串
必需:是
Amazon CloudFormation兼容性:此属性将直接传递给
EventSourceArn一个的财产AWS::Lambda::EventSourceMapping资源。 -
Enabled -
如果为 true,则事件源映射处于活动状态。要暂停轮询和调用,请设置为
false.类型:Boolean
必需:否
Amazon CloudFormation兼容性:此属性将直接传递给
Enabled一个的财产AWS::Lambda::EventSourceMapping资源。 -
MaximumBatchingWindowInSeconds -
在调用函数之前收集记录的最长时间(以秒为单位)。
类型:整数
必需:否
Amazon CloudFormation兼容性:此属性将直接传递给
MaximumBatchingWindowInSeconds一个的财产AWS::Lambda::EventSourceMapping资源。 -
Queues -
要使用的 Amazon MQ 代理目标队列的名称。
类型:List
必需:是
Amazon CloudFormation兼容性:此属性将直接传递给
Queues一个的财产AWS::Lambda::EventSourceMapping资源。 -
SecretsManagerKmsKeyId -
这些区域有:Amazon Key Management Service(Amazon KMS) 客户托管密钥的密钥 IDAmazon Secrets Manager. 如果您使用来自 Secret Manager 的客户托管密钥,则必须使用此属性,但是您的 Lambda 执行角色不包括
kms:Decrypt权限。此属性的价值是 UUID。例如:
1abc23d4-567f-8ab9-cde0-1fab234c5d67。类型:字符串
必需:条件
Amazon CloudFormation兼容性:此属性是唯一的Amazon SAM而且没有Amazon CloudFormation等效项
-
SourceAccessConfigurations -
身份验证协议或虚拟主机的阵列。请使用指定此项SourceAccessConfigurations数据类型。
注意:对于
MQ事件源类型,唯一有效的配置类型是BASIC_AUTH和VIRTUAL_HOST.BASIC_AUTH-存储您的代理凭证的 Secrets Manager 密钥。对于此类型,凭证必须采用以下格式:{"username": "your-username", "password": "your-password"}. 只有一个类型的对象BASIC_AUTH允许使用。VIRTUAL_HOST-您的 RabbitMQ 代理中虚拟主机的名称。Lambda 将使用此 Rabbit MQ 的主机作为事件源。只有一个类型的对象VIRTUAL_HOST允许使用。类型:List
必需:是
Amazon CloudFormation兼容性:此属性将直接传递给
SourceAccessConfigurations一个的财产AWS::Lambda::EventSourceMapping资源。
示例
Amazon MQ 事件源
以下是一个示例配置文件MQAmazon MQ 代理的事件源类型。
YAML
Events: MQEvent: Type: MQ Properties: Broker: arn:aws:mq:us-east-2:123456789012:broker:MyBroker:b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9 Queues: List of queues SourceAccessConfigurations: - Type: BASIC_AUTH URI: arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName BatchSize: 200 Enabled: true