Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 S3 TopicConfiguration-无法验证以下目标配置_Amazon S3_Amazon Cloudformation_Amazon Sns - Fatal编程技术网

Amazon s3 S3 TopicConfiguration-无法验证以下目标配置

Amazon s3 S3 TopicConfiguration-无法验证以下目标配置,amazon-s3,amazon-cloudformation,amazon-sns,Amazon S3,Amazon Cloudformation,Amazon Sns,我正在尝试获取一个S3事件通知来并行触发多个Lambda函数 需要通过SNS,因为您无法定义多个具有相同S3前缀的S3LambdaConfiguration-Cloudformation抱怨“重叠”:-( 所以我在这里遵循这个模式- 但是,在部署时,我经常遇到无法验证以下目标配置的问题。这似乎与缺少SNS::TopicPolicy有关,本文对此进行了详细说明- 但是,我定义了一个TopicPolicy(见下文),并使Bucket的创建依赖于它。我在这里做错了什么?TIA --- AWSTem

我正在尝试获取一个S3事件通知来并行触发多个Lambda函数

需要通过SNS,因为您无法定义多个具有相同S3
前缀的S3
LambdaConfiguration
-Cloudformation抱怨“重叠”:-(

所以我在这里遵循这个模式-

但是,在部署时,我经常遇到
无法验证以下目标配置的问题。这似乎与缺少
SNS::TopicPolicy
有关,本文对此进行了详细说明-

但是,我定义了一个
TopicPolicy
(见下文),并使
Bucket
的创建依赖于它。我在这里做错了什么?TIA

---
AWSTemplateFormatVersion: 2010-09-09
Parameters:
  AppName:
    Type: String
Resources:
  Topic:
    Properties:
      TopicName: !Sub "${AppName}-topic"
    Type: AWS::SNS::Topic
  TopicPolicy:
    Properties:
      PolicyDocument:
        Id: !Sub "${AppName}-topic-policy"
        Statement:
          - Action: "sns:Publish"
            Effect: Allow
            Principal:
              Service: 's3.amazonaws.com'
            Resource: Ref! Topic
            Sid: !Sub "${AppName}-topic-policy-statement"
        Version: '2012-10-17'
      Topics:
        - !Ref Topic
    Type: AWS::SNS::TopicPolicy
  Bucket:
    DependsOn:
      - TopicPolicy
    Properties:
      BucketName: !Sub "${AppName}-bucket"
      NotificationConfiguration:
        TopicConfigurations:
          - Event: "s3:ObjectCreated:*"
            Topic: !Ref Topic
    Type: AWS::S3::Bucket

Resource:Ref!Topic
的引用不正确,而它本应是
Resource:!Ref Topic
:(:)(

但是通过了模板验证!哈哈


寓意是在部署之前进行更多的模板健全性检查:-/

这听起来可能很愚蠢,但您是否可以尝试重新排序模板,使其与链接中的示例相同,即首先是主题,然后是主题策略,然后是bucket?我知道依赖项应该可以工作,但在过去的一些情况下,将它们放在d中esired创建顺序有帮助。很好的尝试,但仍然得到相同的错误!哈哈