本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
MQ
描述MQ事件來源類型的物件。如需詳細資訊,請參閱《 AWS Lambda 開發人員指南》中的將 Lambda 與 Amazon MQ 搭配使用。
AWS Serverless Application Model (AWS SAM) 會在設定此事件類型時產生AWS::Lambda::EventSourceMapping資源。
注意
若要在虛擬私有雲端 (VPC) 中擁有連線至公有網路中 Lambda 函數的 Amazon MQ 佇列,函數的執行角色必須包含下列許可:
-
ec2:CreateNetworkInterface -
ec2:DeleteNetworkInterface -
ec2:DescribeNetworkInterfaces -
ec2:DescribeSecurityGroups -
ec2:DescribeSubnets -
ec2:DescribeVpcs
如需詳細資訊,請參閱《 AWS Lambda 開發人員指南》中的執行角色許可。
語法
若要在 AWS SAM 範本中宣告此實體,請使用下列語法。
YAML
BatchSize:IntegerBroker:StringDynamicPolicyName:BooleanEnabled:BooleanFilterCriteria:FilterCriteriaKmsKeyArn:StringMaximumBatchingWindowInSeconds:IntegerQueues:ListSecretsManagerKmsKeyId:StringSourceAccessConfigurations:List
屬性
-
BatchSize -
要在單一批次中擷取的最大項目數。
類型:整數
必要:否
預設值:100
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的BatchSize屬性。下限:
1上限:
10000 -
Broker -
Amazon MQ 代理程式的 Amazon Resource Name (ARN)。
類型:字串
必要:是
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的EventSourceArn屬性。 -
DynamicPolicyName -
根據預設, AWS Identity and Access Management (IAM) 政策名稱
SamAutoGeneratedAMQPolicy用於回溯相容性。指定true為您的 IAM 政策使用自動產生的名稱。此名稱將包含 Amazon MQ 事件來源邏輯 ID。注意
使用多個 Amazon MQ 事件來源時,請指定
true以避免重複的 IAM 政策名稱。類型:布林值
必要:否
預設:
falseCloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 CloudFormation 同等的。
-
Enabled -
如果為
true,則事件來源映射為作用中。若要暫停輪詢和調用,請將 設為false。類型:布林值
必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的Enabled屬性。 -
FilterCriteria -
定義條件的物件,決定 Lambda 是否應處理事件。如需詳細資訊,請參閱《 AWS Lambda 開發人員指南》中的AWS Lambda 事件篩選。
必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的FilterCriteria屬性。 -
KmsKeyArn -
金鑰的 Amazon Resource Name (ARN),用於加密與此事件相關的資訊。
類型:字串
必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的KmsKeyArn屬性。 -
MaximumBatchingWindowInSeconds -
調用函式前收集記錄的最長時間 (單位為秒)。
類型:整數
必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的MaximumBatchingWindowInSeconds屬性。 -
Queues -
要使用的 Amazon MQ 代理程式目的地佇列的名稱。
類型:清單
必要:是
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的Queues屬性。 -
SecretsManagerKmsKeyId -
客戶受管金鑰的 AWS Key Management Service (AWS KMS) 金鑰 ID AWS Secrets Manager。當您使用 Secrets Manager 的客戶受管金鑰搭配未包含
kms:Decrypt許可的 Lambda 執行角色時,此為必要項目。此屬性的值是 UUID。例如:
1abc23d4-567f-8ab9-cde0-1fab234c5d67。類型:字串
必要:有條件
CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 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。
類型:清單
必要:是
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