aws sqs 的策略是什么,它是通过乘以 s3 Bucket 来触发的

What will the policy of aws sqs which is tigger by multiply s3 Bucket

我有 S3 存储桶,在对象放置事件中,我触发了 SQS 队列并在我的实例中接收了队列并进行了处理,

sqs 的访问策略是

{
  "Version": "2012-10-17",
  "Id": "arn:aws:sqs:ca-central-1:xxxxxxxxxxxx:abcd",
  "Statement": [
    {
      "Sid": "example-statement-ID",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "SQS:SendMessage",
      "Resource": "arn:aws:sqs:ca-central-1:xxxxxxxxxxxx:abcd",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:s3:::<bucket name>"
        }
      }
    }
  ]
}

它对我来说工作正常,但现在我想在两个不同的存储桶中使用相同的队列,我尝试了策略

{
  "Version": "2012-10-17",
  "Id": "arn:aws:sqs:ca-central-1:xxxxxxxxxxxx:abcd",
  "Statement": [
    {
      "Sid": "example-statement-ID",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "SQS:SendMessage",
      "Resource": "arn:aws:sqs:ca-central-1:xxxxxxxxxxxx:abcd",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:s3:::<bucket name>",
          "aws:SourceArn": "arn:aws:s3:::<bucket name2>"
        }
      }
    }
  ]
}

但是我没有工作,所以任何人都请帮助我找到在两个不同的存储桶中使用相同的 sqs queqe 的访问策略是什么

您当前的政策无效JSON。要指定多个 ArnLike 值,您需要使用列表:

    "ArnLike": {
      "aws:SourceArn": ["arn:aws:s3:::<bucket name>",
             "arn:aws:s3:::<bucket name2>"]
    }