【发布时间】:2020-04-02 15:15:45
【问题描述】:
嘿,我正在尝试将我的 S3 存储桶连接到我的 SQS 队列,以便每当将项目放入存储桶中时,它都会触发 SQS 发送消息,但是每当我将我的 json 文件输入 CloudFormation 时,我都会收到错误消息创建 InputBucket 时的消息:
Unable to validate the following destination configurations (Service: Amazon S3; Status Code: 400; Error Code: InvalidArgument; Request ID: DFD145B5BE09259A; S3 Extended Request ID: NCSQdpnfd0J35vVU1BKwO7PSyLbaQ3GxyVmJ0mr/eTMlxRgrGnzmUC/wCn7Q5x4rKtSFF+mxNjc=)
我当前的json是:
"Resources": {
"SQSQueue": {
"Type": "AWS::SQS::Queue"
},
"InputBucket": {
"Type": "AWS::S3::Bucket",
"DependsOn": ["SQSQueue"],
"Properties": {
"NotificationConfiguration": {
"QueueConfigurations": [
{
"Event": "s3:ObjectCreated:Put",
"Queue": {"Fn::GetAtt" : [ "SQSQueue", "Arn" ]}
}
]
},
"AccessControl": "PublicRead"
}
}
}
}
谁能看出哪里不对?
【问题讨论】:
-
与您的问题无关,您应该考虑以下几点:1. 使用 YAML 而不是 JSON(在许多方面更好)和 2. 使用 s3:ObjectCreated:* 而不是 s3:ObjectCreated:放置(因为您可能希望在任何类型的上传到 S3 时触发)。
标签: json amazon-web-services amazon-s3 amazon-cloudformation amazon-sqs