我是 CloudFormation 的新手,目前正在尝试将S3:ObjectCreated发送到特定的SQS Queue。
该设置位于无服务器框架中,并在 CloudFormation 中定义了资源。问题在于具有 QueueConfigurations 的NotificationConfiguration会在错误后不断给出错误。
在线查看 CloudFormation Designer 时,以下语法似乎是正确的:
iamRoleStatements:
- Effect: Allow
Action:
- s3:ListBucket
Resource:
Fn::Join:
- ""
- - "arn:aws:s3:::"
- Ref: LabelBucket
- Effect: Allow
Action:
- s3:GetObject
- s3:PutObject
Resource:
Fn::Join:
- ""
- - "arn:aws:s3:::"
- Ref: LabelBucket
- "/*"
- Effect: Allow
Action:
- SQS:SendMessage
Resource:
Fn::Join:
- ""
- - "arn:aws:s3:::"
- Ref: LabelBucket
resources:
Resources:
LabelRequestQueue:
Type: AWS::SQS::Queue
Properties:
QueueName: label-generate-request
LabelResponseQueue:
Type: AWS::SQS::Queue
Properties:
QueueName: label-generate-response
LabelBucket:
Type: AWS::S3::Bucket
DependsOn:
- LabelResponseQueue
Properties:
BucketName: generation-bucket
NotificationConfiguration:
QueueConfigurations:
- Event: 's3:ObjectCreated:Put'
Queue: 'arn:aws:sqs:eu-west-1:539106611526:label-generate-response'
此资源的确切错误是:
An error occurred: CarrierLabelBucket - Unable to validate the following destination configurations (Service: Amazon S3; Status Code: 400; Error Code: InvalidArgument; Request ID: 12A3D93761EFFEAD; S3 Extended Request ID: Zfk2XKEKHhqtafaiFvrcpzyO8nHB6qOJs4gqJXpkOyhxSMgDTsUzZ0lQnYIrTEr2SVHhgMHw0ds=).