Transferências baseadas em eventos a partir do Cloud Storage

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

As transferências baseadas em eventos do Cloud Storage usam notificações do Pub/Sub 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.

Configure autorizações

Além das autorizações necessárias para todas as tarefas de transferência, as transferências baseadas em eventos requerem a função Pub/Sub Subscriber.

  1. Encontre o nome do agente do serviço do Storage Transfer Service para o seu projeto:

    1. Aceda à página de referência googleServiceAccounts.get.

      É aberto um painel interativo com o título Experimente este método.

    2. No painel, em Parâmetros do pedido, introduza o ID do projeto. O projeto que especificar aqui tem de ser o projeto que está a usar para gerir o serviço de transferência de armazenamento, que pode ser diferente do projeto do contentor de origem.

    3. Clique em Executar.

    O email do agente de serviço é devolvido como o valor de accountEmail. Copiar este valor.

    O email do agente de serviço usa o formato project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com.

  2. Conceda a função Pub/Sub Subscriber ao agente do serviço do Serviço de transferência de armazenamento.

    Cloud Console

    Siga as instruções em Controlar o acesso através da Google Cloud consola para conceder a função Pub/Sub Subscriber ao serviço Storage Transfer Service. A função pode ser concedida ao nível do tópico, da subscrição ou do projeto.

    gcloud CLI

    Siga as instruções em Defina uma política para adicionar a seguinte associação:

    {
      "role": "roles/pubsub.subscriber",
      "members": [
        "serviceAccount:project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com"
    }

Configure o Pub/Sub

  1. Certifique-se de que cumpriu os Pré-requisitos para usar o Pub/Sub com o Cloud Storage.

  2. Crie uma notificação do Pub/Sub para o contentor do Cloud Storage de origem.

    Não pode gerir as notificações do Pub/Sub com a Google Cloud consola. Em alternativa, use a CLI gcloud ou uma das bibliotecas de cliente disponíveis.

    gcloud storage buckets notifications create gs://SOURCE_BUCKET_NAME --topic=TOPIC_NAME
  3. Crie uma subscrição de obtenção para o tópico. Tem de criar uma subscrição separada para cada tarefa de transferência.

    O exemplo seguinte mostra o comando da CLI do Google Cloud para criar uma subscrição de obtenção. Para ver instruções da consola e código da biblioteca de cliente, consulte o artigo Crie uma subscrição de obtenção.

    gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_NAME --ack-deadline=300

Crie uma tarefa de transferência

Pode usar a API REST ou a Google Cloud consola para criar uma tarefa de transferência baseada em eventos.

Não inclua informações confidenciais, como informações de identificação pessoal (IIP) ou dados de segurança, no nome da tarefa de transferência. Os nomes dos recursos podem ser propagados para os nomes de outros recursos do Google Cloud e podem ser expostos a sistemas internos da Google fora do seu projeto.

Cloud Console

  1. Aceda à página Criar tarefa de transferência na Google Cloud consola.

    Aceda a Criar tarefa de transferência

  2. Selecione Cloud Storage como origem e destino.

  3. No Modo de agendamento, selecione Orientado por eventos e clique em Passo seguinte.

  4. Selecione o contentor de origem para esta transferência.

  5. Na secção Stream de eventos, introduza o nome da subscrição: