本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SQS
描述SQS事件來源類型的物件。如需詳細資訊,請參閱《 AWS Lambda 開發人員指南》中的搭配使用 AWS Lambda 與 Amazon SQS。
設定此事件類型時,SAM 會產生AWS::Lambda::EventSourceMapping資源
語法
若要在 AWS Serverless Application Model (AWS SAM) 範本中宣告此實體,請使用下列語法。
YAML
BatchSize:IntegerEnabled:BooleanFilterCriteria:FilterCriteriaFunctionResponseTypes:ListKmsKeyArn:StringMaximumBatchingWindowInSeconds:IntegerMetricsConfig:MetricsConfigProvisionedPollerConfig:ProvisionedPollerConfigQueue:StringScalingConfig:ScalingConfig
Properties
-
BatchSize -
要在單一批次中擷取的最大項目數。
類型:整數
必要:否
預設值:10
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的BatchSize屬性。下限:
1上限:
10000 -
Enabled -
停用事件來源映射以暫停輪詢和叫用。
類型:布林值
必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的Enabled屬性。 -
FilterCriteria -
定義判斷 Lambda 是否應處理事件之條件的物件。如需詳細資訊,請參閱《 AWS Lambda 開發人員指南》中的AWS Lambda 事件篩選。
必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的FilterCriteria屬性。 -
FunctionResponseTypes -
目前套用至事件來源映射的回應類型清單。如需詳細資訊,請參閱《 AWS Lambda 開發人員指南》中的報告批次項目失敗。
有效值:
ReportBatchItemFailures類型:列出
必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的FunctionResponseTypes屬性。 -
KmsKeyArn -
金鑰的 Amazon Resource Name (ARN),用於加密與此事件相關的資訊。
類型:字串
必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的KmsKeyArn屬性。 -
MaximumBatchingWindowInSeconds -
叫用函數之前收集記錄的時間上限,以秒為單位。
類型:整數
必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的MaximumBatchingWindowInSeconds屬性。 -
MetricsConfig -
選擇加入組態,以取得擷取每個處理階段之事件來源映射的增強指標。如需範例,請參閱「MetricsConfig 事件」。
必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的MetricsConfig屬性。 -
ProvisionedPollerConfig -
用於增加用於計算事件來源映射之輪詢器數量的組態。此組態允許最少 2 個輪詢器,最多 2000 個輪詢器。如需範例,請參閱 ProvisionedPollerConfig 範例。
必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的ProvisionedPollerConfig屬性。 -
Queue -
佇列的 ARN。
類型:字串
必要:是
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的EventSourceArn屬性。 -
ScalingConfig -
擴展 SQS 輪詢器的組態,以控制調用速率並設定並行調用上限。
Type (類型):
ScalingConfig必要:否
CloudFormation 相容性:此屬性會直接傳遞至
AWS::Lambda::EventSourceMapping資源的ScalingConfig屬性。
範例
MetricsConfig 事件
以下是 資源的範例,該資源使用 MetricsConfig 屬性來擷取其事件來源映射的每個處理階段。
Resources: FilteredEventsFunction: Type: AWS::Serverless::Function Properties: CodeUri: s3://sam-demo-bucket/metricsConfig.zip Handler: index.handler Runtime: nodejs16.x Events: KinesisStream: Type: Kinesis Properties: Stream: !GetAtt KinesisStream.Arn StartingPosition: LATEST MetricsConfig: Metrics: - EventCount
基本 SQS 事件
Events: SQSEvent: Type: SQS Properties: Queue: arn:aws:sqs:us-west-2:012345678901:my-queue BatchSize: 10 Enabled: false FilterCriteria: Filters: - Pattern: '{"key": ["val1", "val2"]}'
為您的 SQS 佇列設定部分批次報告
Events: SQSEvent: Type: SQS Properties: Enabled: true FunctionResponseTypes: - ReportBatchItemFailures Queue: !GetAtt MySqsQueue.Arn BatchSize: 10
具有已設定擴展之 SQS 事件的 Lambda 函數
MyFunction: Type: AWS::Serverless::Function Properties: ... Events: MySQSEvent: Type: SQS Properties: ... ScalingConfig: MaximumConcurrency: 10
ProvisionedPollerConfig 範例
MyFunction: Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: nodejs18.x Timeout: 30 Events: SQSEvent: Type: SQS Properties: Queue: !GetAtt MyQueue.Arn BatchSize: 10 Enabled: True ProvisionedPollerConfig: MaximumPollers: 300 MinimumPollers: 10