You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署时将SQS注册为Lambda触发器的CloudFormation模板问题咨询

SAM模板错误排查与修正

以下是模板中存在的问题,按影响优先级排序:

  • 引用不存在的资源逻辑ID,导致部署直接失败
    你定义的Lambda函数逻辑ID为CreateContractFunction,但Output段中!GetAtt CreateFunction.Arn错误引用了不存在的CreateFunction资源,该错误会直接触发CloudFormation部署回滚,所有关联资源都不会创建成功。
  • SQS事件源的Queue属性配置无效
    当前Queue: *arn*是占位值,且此处必须填写SQS队列的ARN(不能填队列URL)。如果你的SQS队列是在其他栈中导出的,需要确保导出的是队列ARN,直接替换占位符即可。
  • (可选)AutoPublishAlias与事件源的绑定配置
    你配置了AutoPublishAlias: live自动发布版本别名,若需要SQS触发器绑定到该别名(而非默认的$LATEST版本),可在SQSEvent的Properties中添加FunctionAlias: live配置,保证版本迭代时触发器关联的是正确的函数版本。

以下是修正后的完整模板示例:

AWSTemplateFormatVersion: "2010-09-09"
Transform: AWS::Serverless-2016-10-31
Description: Create contract function

Resources:
  CreateContractFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: src/
      Handler: index.handler
      Runtime: nodejs14.x
      Timeout: 30
      Environment:
        Variables:
          # 注意此处如果是队列URL可保留,业务代码里调用SQS SDK用URL即可
          QUEUE_REQUEST: !ImportValue request:Queue
      AutoPublishAlias: live
      Policies:
      - Version: "2012-10-17"
        Statement:
        - Effect: "Allow"
          Action:
          - "sqs:SendMessage"
          - "sqs:ReceiveMessage"
          - "sqs:DeleteMessage"
          - "sqs:GetQueueAttributes"
          # 建议替换为实际SQS队列ARN,缩小权限范围
          Resource: "*"
        - Effect: "Allow"
          Action:
            - "lambda:InvokeFunction"
            - "lambda:InvokeAsync"
          Resource: "*"
      Events:
        SQSEvent:
          Type: SQS
          Properties:
            # 替换为你实际的SQS队列ARN,若为跨栈导出使用!ImportValue引入
            Queue: !ImportValue request:QueueArn
            BatchSize: 10
            MaximumBatchingWindowInSeconds: 30
            Enabled: true
            # 可选,绑定到自动发布的别名
            FunctionAlias: live

      DeploymentPreference:
        Type: AllAtOnce

Outputs:
  LogFunction:
    # 修正逻辑ID引用
    Value: !GetAtt CreateContractFunction.Arn
    Export:
      Name: lambda-create

内容的提问来源于stack exchange,提问作者Pavel Šrytr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 03:00:03