SQS - AWS Serverless Application Model

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

SQS

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

如果设置了此事件类型,SAM 会生成 AWS::Lambda::EventSourceMapping 资源

语法

要在 AWS Serverless Application Model (AWS SAM) 模板中声明此实体,请使用以下语法。

属性

BatchSize

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

类型:整数

必需:否

默认值:10

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

最小值1

最大值10000

Enabled

禁用事件源映射以暂停轮询和调用。

类型:布尔值

必需:否

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

FilterCriteria

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

类型:FilterCriteria

必需:否

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

FunctionResponseTypes

当前应用于事件源映射的响应类型的列表。有关详细信息,请参阅《AWS Lambda 开发人员指南》中的报告批处理项目失败

有效值ReportBatchItemFailures

类型:列表

必需:否

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

MaximumBatchingWindowInSeconds

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

类型:整数

必需:否

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

Queue

队列的 ARN。

类型:字符串

必需:是

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

ScalingConfig

扩展 SQS 轮询器的配置,以控制调用速率并设置最大并发调用次数。

类型ScalingConfig

必需:否

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

示例

基本 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