无法验证以下目标配置(S3到SQS) [英] Unable to validate the following destination configurations (S3 to SQS)
本文介绍了无法验证以下目标配置(S3到SQS)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
resources:
Resources:
AnalyticsQueue:
Type: "AWS::SQS::Queue"
Properties:
QueueName: "my-queue"
S3EventQueuePolicy:
Type: AWS::SQS::QueuePolicy
DependsOn: AnalyticsQueue
Properties:
PolicyDocument:
Id: SQSPolicy
Statement:
- Effect: Allow
Action: sqs:SendMessage:*
Resource: !Ref AnalyticsQueue
Queues:
- !GetAtt AnalyticsQueue.Arn
AnalyticsBucket:
Type: AWS::S3::Bucket
Properties:
BucketName: "my-bucket"
NotificationConfiguration:
QueueConfigurations:
- Event: s3:ObjectCreated:*
Queue: !GetAtt AnalyticsQueue.Arn
当我尝试部署此应用程序时,收到以下错误:
出现错误:AnalyticsBucket-无法验证以下目标配置(服务:Amazon S3;状态代码:400;错误代码:InvalidArgument;请求ID:E2A1F8BD6BEE6EF4;)。
谷歌了一下,发现问题在NotificationConfiguration
挡路AnalyticsBucket
。如果我删除整个子挡路,它将部署得很好,但在创建对象时显然不会在队列中生成消息。
正在寻找解决此问题的方法。
aws
许多推荐答案配置允许您连接服务,如果它们没有权限,它们会在运行时失败,但是S3通知配置会检查某些目标是否可以访问。
在这种情况下,您没有允许S3向SQS发送消息。
应该是这样的:
PolicyDocument:
Id: SQSPolicy
Statement:
- Sid: SQSEventPolicy
Effect: Allow
Principal: "*"
Action: SQS:*
Resource: "*"
Condition:
ArnLike:
aws:SourceArn: arn:aws:s3:::*
这篇关于无法验证以下目标配置(S3到SQS)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文