本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
MQ
描述MQ
事件來源類型的物件。如需詳細資訊,請參閱AWS Lambda 開發人員指南中的將 Lambda 與 Amazon MQ 搭配使用。
AWS Serverless Application Model (AWS SAM) 在設定此事件類型時產生AWS::Lambda::EventSourceMapping資源。
注意
若要將 Amazon MQ 佇列放在連線至公用網路中的 Lambda 函數的虛擬私有雲 (VPC) 中,函數的執行角色必須包含下列許可:
-
ec2:CreateNetworkInterface
-
ec2:DeleteNetworkInterface
-
ec2:DescribeNetworkInterfaces
-
ec2:DescribeSecurityGroups
-
ec2:DescribeSubnets
-
ec2:DescribeVpcs
如需詳細資訊,請參閱AWS Lambda 開發人員指南中的執行角色權限。
語法
若要在 AWS SAM 範本中宣告此實體,請使用下列語法。
YAML
BatchSize:
Integer
Broker:String
DynamicPolicyName:Boolean
Enabled:Boolean
FilterCriteria:FilterCriteria
KmsKeyArn:String
MaximumBatchingWindowInSeconds:Integer
Queues:List
SecretsManagerKmsKeyId:String
SourceAccessConfigurations:List
屬性
-
BatchSize
-
要在單一批次中擷取的最大項目數。
類型:整數
必要:否
預設值:100
AWS CloudFormation 兼容性:此屬性直接傳遞給
AWS::Lambda::EventSourceMapping
資源的BatchSize
屬性。下限:
1
上限:
10000
-
Broker
-
Amazon MQ 代理商的亞馬遜資源名稱(ARN)。
類型:字串
必要:是
AWS CloudFormation 兼容性:此屬性直接傳遞給
AWS::Lambda::EventSourceMapping
資源的EventSourceArn
屬性。 -
DynamicPolicyName
-
根據預設, AWS Identity and Access Management (IAM) 原則名稱是
SamAutoGeneratedAMQPolicy
為了回溯相容性。指定true
使用自動產生的IAM原則名稱。此名稱將包含 Amazon MQ 事件來源邏輯 ID。注意
使用多個 Amazon MQ 事件來源時,請指定
true
以避免重複的IAM政策名稱。類型:布林值
必要:否
預設:
false
AWS CloudFormation 兼容性:此屬性是唯一的, AWS SAM 並且沒有相 AWS CloudFormation 等的屬性。
-
Enabled
-
如果
true
,則事件來源對映處於作用中狀態。若要暫停輪詢和呼叫,請將設定為false
。類型:布林值
必要:否
AWS CloudFormation 兼容性:此屬性直接傳遞給
AWS::Lambda::EventSourceMapping
資源的Enabled
屬性。 -
FilterCriteria
-
定義決定 Lambda 是否應該處理事件之準則的物件。如需詳細資訊,請參閱AWS Lambda 開發人員指南中的AWS Lambda 事件篩選。
必要:否
AWS CloudFormation 兼容性:此屬性直接傳遞給
AWS::Lambda::EventSourceMapping
資源的FilterCriteria
屬性。 -
KmsKeyArn
-
用於加密與此事件相關資訊的金鑰的 Amazon 資源名稱 (ARN)。
類型:字串
必要:否
AWS CloudFormation 兼容性:此屬性直接傳遞給
AWS::Lambda::EventSourceMapping
資源的KmsKeyArn
屬性。 -
MaximumBatchingWindowInSeconds
-
調用函式前收集記錄的最長時間 (單位為秒)。
類型:整數
必要:否
AWS CloudFormation 兼容性:此屬性直接傳遞給
AWS::Lambda::EventSourceMapping
資源的MaximumBatchingWindowInSeconds
屬性。 -
Queues
-
要使用的 Amazon MQ 代理程式目的地佇列的名稱。
類型:清單
必要:是
AWS CloudFormation 兼容性:此屬性直接傳遞給
AWS::Lambda::EventSourceMapping
資源的Queues
屬性。 -
SecretsManagerKmsKeyId
-
客戶管理金鑰的 AWS Key Management Service (AWS KMS) 來源金鑰識別碼 AWS Secrets Manager。當您使用來自秘密管理員的客戶管理金鑰與未包含
kms:Decrypt
權限的 Lambda 執行角色時,此選項為必要條件。此屬性的值是一個UUID。例如:
1abc23d4-567f-8ab9-cde0-1fab234c5d67
。類型:字串
必要:有條件
AWS CloudFormation 兼容性:此屬性是唯一的, AWS SAM 並且沒有相 AWS CloudFormation 等的屬性。
-
SourceAccessConfigurations
-
驗證通訊協定或重要主機的陣列。使用資SourceAccessConfigurations料類型指定此項目。
對於
MQ
事件來源類型,唯一有效的組態類型為BASIC_AUTH
和VIRTUAL_HOST
。-
BASIC_AUTH
— 存儲您的經紀人憑據的 Secrets Manager 秘密. 對於此類型,認證必須採用下列格{"username": "your-username", "password": "your-password"}
式:只允許一個類型BASIC_AUTH
的對象。 -
VIRTUAL_HOST
— 您的 RabbitMQ 代理程式中虛擬主機的名稱。Lambda 將使用這個兔子 MQ 的主機作為事件源。只允許一個類型VIRTUAL_HOST
的對象。
類型:清單
必要:是
AWS 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