SQS
描述 SQS 事件源类型的对象。有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的将 Amazon Lambda 与 Amazon SQS 结合使用。
如果设置了此事件类型,SAM 会生成 AWS::Lambda::EventSourceMapping 资源
语法
要在您的 Amazon Serverless Application Model (Amazon SAM) 模板中声明此实体,请使用以下语法。
YAML
BatchSize:IntegerEnabled:BooleanFilterCriteria:FilterCriteriaFunctionResponseTypes:ListKmsKeyArn:StringMaximumBatchingWindowInSeconds:IntegerMetricsConfig:MetricsConfigQueue:StringScalingConfig:ScalingConfig
属性
-
BatchSize -
要在单个批次中检索的最大项目数。
类型:整数
必需:否
默认值:10
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping资源的BatchSize属性。最小值:
1最大值:
10000 -
Enabled -
禁用事件源映射以暂停轮询和调用。
类型:布尔值
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping资源的Enabled属性。 -
FilterCriteria -
定义用于确定 Lambda 是否应处理事件的条件的对象。有关更多信息,请参阅《Amazon Lambda 开发人员指南》中的 Amazon Lambda 事件筛选。
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping资源的FilterCriteria属性。 -
FunctionResponseTypes -
当前应用于事件源映射的响应类型的列表。有关详细信息,请参阅《Amazon Lambda 开发人员指南》中的报告批处理项目失败。
有效值:
ReportBatchItemFailures类型:列表
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping资源的FunctionResponseTypes属性。 -
KmsKeyArn -
用于加密与此事件相关信息的密钥的 Amazon 资源名称(ARN)。
类型:字符串
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping资源的KmsKeyArn属性。 -
MaximumBatchingWindowInSeconds -
在调用函数之前收集记录的最长时间(以秒为单位)。
类型:整数
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping资源的MaximumBatchingWindowInSeconds属性。 -
MetricsConfig -
一种选择性配置,用于获取增强型指标,这些指标针对事件源映射进行捕获,涵盖处理过程的每个阶段。有关示例,请参阅MetricsConfig 事件。
必需:否
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping资源的MetricsConfig属性。 -
Queue -
队列的 ARN。
类型:字符串
必需:是
Amazon CloudFormation 兼容性:此属性直接传递给
AWS::Lambda::EventSourceMapping资源的EventSourceArn属性。 -
ScalingConfig -
扩展 SQS 轮询器的配置,以控制调用速率并设置最大并发调用次数。
必需:否
Amazon 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