`putBucketNotification` не меняет конфигурацию S3 Bucket - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь связать события 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 (и отсутствующей конфигурацией)

...