【问题标题】:Unable to attach Amazon SQS to Amazon S3 event notification无法将 Amazon SQS 附加到 Amazon S3 事件通知
【发布时间】:2021-12-02 05:47:14
【问题描述】:

我有 2 个不同的桶。 一种能够将 Amazon SQS 附加到事件通知,而另一种则不能。

SQS 权限足够广泛。这与 S3 存储桶有关。但我想不通。

存储桶策略中没有“拒绝”子句。 不过还有几个额外的 ACL...

这是我存储在 SQS 中的访问策略:

{
  "Version": "2008-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "s3.amazonaws.com"
      },
      "Action": "*",
      "Resource": "*"
    }
  ]
}

这是错误:

【问题讨论】:

  • 您是否已经创建了 SQS 队列?
  • 是的。没有其他选择。
  • API 响应内部是什么?什么是 SQS 权限?
  • 我的问题中的 SQS 权限。 API 响应为空(在屏幕截图中打开)。
  • “这是我的 SQS 策略”是什么意思——它是存储在 SQS 队列中的访问策略吗?

标签: amazon-web-services amazon-s3 cloud amazon-sqs


【解决方案1】:

是的,我以前见过这个。

您必须在 Amazon SQS 队列上创建访问策略以允许 Amazon S3 存储桶访问。

这是来自Granting permissions to publish event notification messages to a destination - Amazon Simple Storage Service 的示例策略:

{
 "Version": "2012-10-17",
 "Id": "example-ID",
 "Statement": [
  {
   "Sid": "example-statement-ID",
   "Effect": "Allow",
   "Principal": {
     "Service": "s3.amazonaws.com"  
   },
   "Action": [
    "SQS:SendMessage"
   ],
   "Resource": "arn:aws:sqs:Region:account-id:queue-name",
   "Condition": {
      "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:awsexamplebucket1" },
      "StringEquals": { "aws:SourceAccount": "bucket-owner-account-id" }
   }
  }
 ]
}

另见:Walkthrough: Configuring a bucket for notifications (SNS topic or SQS queue) - Amazon Simple Storage Service

【讨论】:

  • 它适用于一个存储桶,但不适用于另一个。
【解决方案2】:

我联系了 AWS Support。有未记录的细节:

因此,每次编辑或保存 S3 事件时,都会进行验证 自 PutBucketNotification 以来的当前目的地 替换现有的通知配置,不要更新它。

所以我有另一个没有正确权限的旧版 S3 事件。我删除了它,现在一切正常。感谢所有试图提供帮助的人:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-20
    • 2021-05-21
    • 2021-03-09
    • 2016-04-20
    • 2011-11-10
    • 2013-07-25
    • 2014-09-12
    • 2017-11-21
    相关资源
    最近更新 更多