Transferências baseadas em eventos do AWS S3

O Serviço de transferência de armazenamento pode ouvir notificações de eventos na AWS para transferir automaticamente dados que foram adicionados ou atualizados na localização de origem para um contentor do Cloud Storage. Saiba mais sobre as vantagens das transferências baseadas em eventos.

As transferências orientadas por eventos monitorizam as notificações de eventos do Amazon S3 enviadas para o Amazon SQS para saber quando os objetos no contentor de origem foram modificados ou adicionados. As eliminações de objetos não são detetadas. Se eliminar um objeto na origem, não elimina o objeto associado no contentor de destino.

As transferências baseadas em eventos usam sempre um contentor do Cloud Storage como destino.

Antes de começar

Siga as instruções para conceder as autorizações necessárias no contentor do Cloud Storage de destino:

Crie uma fila SQS

  1. Na consola da AWS, aceda à página Simple Queue Service.

  2. Clique em Criar fila.

  3. Introduza um nome para esta fila.

  4. Na secção Política de acesso, selecione Avançadas. É apresentado um objeto JSON:

     {
        "Version": "2008-10-17",
        "Id": "__default_policy_ID",
        "Statement": [
          {
            "Sid": "__owner_statement",
            "Effect": "Allow",
            "Principal": {
              "AWS": "01234567890"
            },
            "Action": [
              "SQS:*"
            ],
            "Resource": "arn:aws:sqs:us-west-2:01234567890:test"
          }
        ]
      }
      

    Os valores de AWS e Resource são únicos para cada projeto.

  5. Copie os valores específicos de AWS e Resource do JSON apresentado para o seguinte fragmento JSON:

    {
      "Version": "2012-10-17",
      "Id": "example-ID",
      "Statement": [
        {
          "Sid": "example-statement-ID",
          "Effect": "Allow",
          "Principal": {
            "Service": "s3.amazonaws.com"
          },
          "Action": "SQS:SendMessage",
          "Resource": "RESOURCE",
          "Condition": {
            "StringEquals": {
              "aws:SourceAccount": "AWS"
            },
            "ArnLike": {
              "aws:SourceArn": "S3_BUCKET_ARN"
            }
          }
        }
      ]
    }

    Os valores dos marcadores de posição no JSON anterior usam o seguinte formato:

    • AWS é um valor numérico que representa o seu projeto dos Amazon Web Services. Por exemplo, "aws:SourceAccount": "1234567890".
    • RESOURCE é um número de recurso da Amazon (ARN) que identifica esta fila. Por exemplo, "Resource": "arn:aws:sqs:us-west-2:01234567890:test".
    • S3_BUCKET_ARN é um ARN que identifica o contentor de origem. Por exemplo, "aws:SourceArn": "arn:aws:s3:::example-aws-bucket". Pode encontrar o ARN de um contentor no separador Propriedades da página de detalhes do contentor na consola da AWS.
  6. Substitua o JSON apresentado na secção Política de acesso pelo JSON atualizado acima.

  7. Clique em Criar fila.

Quando terminar, tome nota do Nome do recurso da Amazon (ARN) da fila. O ARN tem o seguinte formato:

arn:aws:sqs:us-east-1:1234567890:event-queue"

Ative as notificações no seu contentor S3

  1. Na consola do AWS, aceda à página S3.

  2. Na lista Recipientes, selecione o recipiente de origem.

  3. Selecione o separador Propriedades.

  4. Na secção Notificações de eventos, clique em Criar notificação de evento.