MQ - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

MQ

描述MQ事件源类型的对象。有关更多信息,请参阅Amazon Lambda开发者指南中的 Lambda 与 Amazon MQ 配合使用

Amazon Serverless Application Model(Amazon SAM) 在设置此事件类型时生成AWS::Lambda::EventSourceMapping资源。

注意

要在虚拟私有云 (VPC) 中建立 Amazon MQ 队列并连接到公共网络中的 Lambda 函数,您的函数的执行角色必须包含以下权限:

  • ec2:CreateNetworkInterface

  • ec2:DeleteNetworkInterface

  • ec2:DescribeNetworkInterfaces

  • ec2:DescribeSecurityGroups

  • ec2:DescribeSubnets

  • ec2:DescribeVpcs

有关更多信息,请参阅《Amazon Lambda开发者指南》中的执行角色权限

语法

要在Amazon SAM模板中声明此实体,请使用以下语法:

属性

BatchSize

要在单个批次中检索的最大项目数。

类型:整数

必需:否

默认值:100

Amazon CloudFormation兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的BatchSize属性。

最小值1

最大值10000

Broker

Amazon MQ 代理的 Amazon 资源名称(ARN)。

类型:字符串

必需:是

Amazon CloudFormation兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的EventSourceArn属性。

DynamicPolicyName

默认情况下,Amazon Identity and Access Management(IAM) 策略名称是SamAutoGeneratedAMQPolicy为了向后兼容。指定true您的 IAM 策略使用自动生成的名称。此名称将包含Amazon MQ 事件源逻辑 ID。

注意

使用多个 Amazon MQ 事件源时,请指定true以避免 IAM 策略名称重复。

类型:布尔值

必需:否

默认值false

Amazon CloudFormation兼容性:此属性是唯一的Amazon SAM,没有Amazon CloudFormation等效属性。

Enabled

如果true,则事件源映射处于活动状态。要暂停轮询和调用,请设置为false

类型:布尔值

必需:否

Amazon CloudFormation兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的Enabled属性。

FilterCriteria

定义用于确定 Lambda 是否应处理事件的条件的对象。有关更多信息,请参阅《Amazon Lambda开发者指南》中的Amazon Lambda事件筛选

类型FilterCriteria

必需:否

Amazon CloudFormation兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的FilterCriteria属性。

MaximumBatchingWindowInSeconds

在调用函数之前收集记录的最长时间(以秒为单位)。

类型:整数

必需:否

Amazon CloudFormation兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的MaximumBatchingWindowInSeconds属性。

Queues

要使用的 Amazon MQ 代理目标队列的名称。

类型:清单

必需:是

Amazon CloudFormation兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的Queues属性。

SecretsManagerKmsKeyId

来自的客户管理密钥的Amazon Key Management Service (Amazon KMS) 密钥 IDAmazon Secrets Manager。当您使用 Secrets Manager 的客户托管密钥时,该密钥具有不包含kms:Decrypt权限的 Lambda 执行角色,则为必填项。

此属性的值是一个 UUID。例如:1abc23d4-567f-8ab9-cde0-1fab234c5d67

类型:字符串

必需:条件

Amazon CloudFormation兼容性:此属性是唯一的Amazon SAM,没有Amazon CloudFormation等效属性。

SourceAccessConfigurations

虚拟主机的身份验证协议数组。使用SourceAccessConfigurations数据类型指定此项。

对于MQ事件源类型,唯一有效的配置类型是BASIC_AUTHVIRTUAL_HOST

  • BASIC_AUTH— 存储您的代理凭证的 Secrets Manager 密钥。对于此类型,凭证必须为以下{"username": "your-username", "password": "your-password"}格式:只允许BASIC_AUTH一个类型的对象。

  • VIRTUAL_HOST— 您的 RabbbMQ 代理中虚拟主机的名称。Lambda 将使用此 Rabbda 的 Rabbda 主作为事件源。只允许VIRTUAL_HOST一个类型的对象。

类型:清单

必需:是

Amazon CloudFormation兼容性:此属性直接传递给AWS::Lambda::EventSourceMapping资源的SourceAccessConfigurations属性。

示例

Amazon MQ 事件源

以下是 Amazon MQ 代理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