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

创建SNS策略时出现Invalid parameter error错误求助

解决思路及修正方案

核心错误点分析

  1. 拼写错误:策略中的Principle是错误拼写,正确的IAM策略字段应为Principal(缺少字母a),该错误会直接导致策略文档解析失败,触发参数错误。
  2. 策略附加对象错误:你使用的AWS::SNS::TopicPolicy是用于配置SNS主题自身的访问权限,但要实现SNS向SQS发送消息,权限应该配置在SQS队列上(通过AWS::SQS::QueuePolicy),因为本质是授权SNS主体调用SQS的SendMessage动作。

修正后的配置示例

正确的SQS队列权限配置

MyQueuePolicy:
  Type: AWS::SQS::QueuePolicy
  Properties:
    PolicyDocument:
      Id: 'allowsSNSToSQS'
      Version: '2012-10-17'
      Statement:
        Sid: AllowSNStoPublishToSQS
        Effect: Allow
        Principal: "*"
        Action: 'sqs:SendMessage'
        Resource:
          Fn::GetAtt: [MyQueue , Arn ]
        Condition:
          ArnEquals:
            aws:SourceArn: { "Ref" : "MyTopic" }
    Queues:
      - { "Ref" : "MyQueue" }

补充SNS主题到SQS的订阅配置

确保SNS主题已订阅目标SQS队列,否则权限配置正确也无法投递消息:

MyTopicToSQSSubscription:
  Type: AWS::SNS::Subscription
  Properties:
    Protocol: sqs
    Endpoint: !GetAtt MyQueue.Arn
    TopicArn: !Ref MyTopic

验证步骤

  1. 替换原有的MyTopicPolicy配置为上述MyQueuePolicy
  2. 添加订阅配置(若未配置)
  3. 重新部署Serverless服务,检查是否仍报错

内容的提问来源于stack exchange,提问作者Fred

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 05:24:21