`putBucketNotification` не меняет конфигурацию S3 Bucket

Я пытаюсь связать события Amazon S3 с сервисом SQS. В целях развития я использую localstack образ докера, но он должен быть совместим с AWS, поэтому я думаю, что проблема должна быть где-то в коде.

Есть 3 связанные услуги:

    $bucket = $this->s3Client->createBucket(['Bucket' => 'my-bucket']);
$topic = $this->snsClient->createTopic(['Name' => 'my-topic']);
$queue = $this->sqsClient->createQueue(['QueueName' => 'my-queue']);

Затем я подписываюсь на очередь SQS в теме SNS:

$this->snsClient->subscribe(['TopicArn' => $topic['TopicArn'], 'Protocol' => 'sqs', 'Endpoint' => $sqsArn]);

И, наконец, я пытаюсь настроить S3 Bucket для отправки уведомлений о событиях:

$this->s3Client->putBucketNotification([
'Bucket' => 'my-bucket', // REQUIRED
'NotificationConfiguration' => [ // REQUIRED
'TopicConfigurations' => [
'Events' => [
's3:ObjectCreated:*',
's3:ObjectRemoved:*',
],
'Id' => 'topic-id',
'TopicArn' => $topic['TopicArn'],
'QueueArn' => $sqsArn,
],
"QueueConfigurations" =>[
"Id" => "S3EventsSQSNotification",
"QueueArn" => $sqsArn,
'Events' => [
's3:ObjectCreated:*',
's3:ObjectRemoved:*',
],
]
],
]);

Ответ на этот запрос возвращает статус 200, но похоже, что в конфигурации ничего не изменилось. Когда я звоню get ответ на запрос пуст, как и при вводе URL-адреса конфигурации (я полагаю, что изменения должны быть видны здесь) http://127.0.0.1:4572/my-bucket?notification

<NotificationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"></NotificationConfiguration>

Когда я пытаюсь опубликовать пользовательское сообщение, оно работает нормально, поэтому проблема заключается в подключении S3 (и отсутствующей конфигурации).

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …