在 CloudFormation 中创建多个队列配置

Creating Multiple QueueConfigurations in CloudFormation

我目前正在尝试将多个 QueueConfigurations 写入我的 CloudFormation 模板。每个都是一个 SQS 队列,在创建对象到指定前缀时触发。这是我目前所拥有的:

{
    "Resources": {
      "S3Bucket": {
        "Type" : "AWS::S3::Bucket",
        "Properties" : 
          "BucketName" : { "Ref" : "paramBucketName" },
          "LoggingConfiguration" : {
            "DestinationBucketName" : "test-bucket",
            "LogFilePrefix" : { "Fn::Join": [ "", [ { "Ref": "paramBucketName" }, "/" ] ] }
          },
          "NotificationConfiguration" : {
              "QueueConfigurations" : [{
                "Id" : "1",
                "Event" : "s3:ObjectCreated:*",
                "Filter" : { 
                  "S3Key" : {
                    "Rules" : {
                      "Name" : "prefix",
                      "Value" : "folder1/"
                    }
                  }
                },
                "Queue" : "arn:aws:sqs:us-east-1:958262988361:interstate-cdc_feeder_prod_hvr_dev"
              }],   
              "QueueConfigurations" : [{
                "Id" : "2",
                "Event" : "s3:ObjectCreated:*",
                "Filter" : { 
                  "S3Key" : {
                    "Rules" : {
                      "Name" : "prefix",
                      "Value" : "folder2/"
                    }
                  }
                },
                "Queue" : "arn:aws:sqs:us-east-1:958262988361:interstate-latency_hvr_dev"
              }]
            }                               
          }          
        }
      }
    }
  }

我遇到了 Encountered unsupported property Id 的错误。我以为通过定义ID,我可以避免Duplicate object key错误。

有谁知道如何在单个 CloudFormation 模板中创建多个触发器?提前感谢您的帮助。

结构如下,应该只有一个QueueConfigurations属性 其中包含所有队列配置。 Id 参数也不是有效的 属性.

{
    "Resources": {
      "S3Bucket": {
        "Type" : "AWS::S3::Bucket",
        "Properties" : 
          "BucketName" : { "Ref" : "paramBucketName" },
          "LoggingConfiguration" : {
            "DestinationBucketName" : "test-bucket",
            "LogFilePrefix" : { "Fn::Join": [ "", [ { "Ref": "paramBucketName" }, "/" ] ] }
          },
          "NotificationConfiguration" : {
              "QueueConfigurations" : [{
                "Event" : "s3:ObjectCreated:*",
                "Filter" : { 
                  "S3Key" : {
                    "Rules" : {
                      "Name" : "prefix",
                      "Value" : "folder1/"
                    }
                  }
                },
                "Queue" : "arn:aws:sqs:us-east-1:958262988361:interstate-cdc_feeder_prod_hvr_dev"
              },
              {
                "Event" : "s3:ObjectCreated:*",
                "Filter" : { 
                  "S3Key" : {
                    "Rules" : {
                      "Name" : "prefix",
                      "Value" : "folder2/"
                    }
                  }
                },
                "Queue" : "arn:aws:sqs:us-east-1:958262988361:interstate-latency_hvr_dev"
              }]
            }                               
          }          
        }
      }
    }
  }

文档中有关于 QueueConfiguration 的更多信息。