Receba eventos diretos do Cloud Storage (consolaGoogle Cloud )

Este início rápido mostra como receber eventos diretos do Cloud Storage num serviço do Cloud Run não autenticado.

Pode configurar o acionamento de notificações em resposta a vários eventos num contentor do Cloud Storage: criação, eliminação, arquivo e atualizações de metadados de objetos. Para mais informações, consulte o artigo Crie um acionador para encaminhar eventos do Cloud Storage para o Cloud Run.

Pode concluir este início rápido através da consola Google Cloud . Para ver instruções sobre como usar a CLI do Google Cloud, consulte o artigo Receba eventos diretos do Cloud Storage (CLI gcloud).

Neste início rápido, vai:

  1. Crie um contentor do Cloud Storage para ser uma origem de eventos.

  2. Implemente um serviço de exemplo no Cloud Run para receber eventos.

  3. Crie um acionador do Eventarc para filtrar e encaminhar eventos.

  4. Gere um evento carregando um ficheiro para o contentor do Cloud Storage e veja o evento nos registos do Cloud Run.


Para seguir orientações passo a passo para esta tarefa diretamente na Google Cloud consola, clique em Orientar-me:

Visita guiada


Antes de começar

As restrições de segurança definidas pela sua organização podem impedir a conclusão dos seguintes passos. Para informações de resolução de problemas, consulte o artigo Desenvolva aplicações num ambiente Google Cloud restrito.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Build and Eventarc APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Build and Eventarc APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. Crie um contentor do Cloud Storage

    Este início rápido usa o Cloud Storage como origem de eventos.

    1. Na Google Cloud consola, aceda à página Cloud Storage > Vista geral.

      Aceda à Vista geral

    2. Clique em Criar contentor.

    3. Introduza um Nome exclusivo para o seu contentor.

      Por exemplo, hello-bucket.

    4. Clique em Continuar.

    5. Para Tipo de localização, selecione Região e, de seguida, selecione us-central1 (Iowa).

    6. Aceite as outras predefinições.

    7. Clique em Criar.

    Depois de criar a origem de eventos, pode implementar o serviço de receção de eventos no Cloud Run.

    Implemente o serviço de receção de eventos no Cloud Run

    Implemente um serviço de exemplo do Cloud Run que receba e registe eventos.

    1. Na Google Cloud consola, aceda à página Serviços do Cloud Run.

      Aceder a Serviços

    2. Clique em Implementar contentor > Serviço.

    3. No formulário Criar serviço:

      1. Selecione Implementar uma revisão a partir de uma imagem de contentor existente.

      2. Clique em Testar com um contentor de exemplo.

      3. Na lista Região, para a localização do seu serviço, selecione us-central1 (Iowa).

      4. Para Autenticação, selecione Permitir invocações não autenticadas.

      5. Aceite as outras predefinições.

      6. Para implementar a imagem do contentor de exemplo, clique em Criar.

    A implementação do serviço hello pode demorar até dois minutos.

    Crie um acionador do Eventarc

    O acionador do Eventarc envia eventos do contentor do Cloud Storage para o serviço de exemplo do Cloud Run.

    1. Na Google Cloud consola, aceda à página Eventarc > Acionadores.

      Aceda a Acionadores

    2. Clique em Criar acionador.

    3. Escreva um Nome do acionador.

      Por exemplo, hello-trigger.

    4. Na lista Tipo de acionador, selecione Origens Google.

      Isto filtra eventos enviados por Google Cloud fornecedores (diretamente ou através de entradas dos registos de auditoria na nuvem) ou fornecedores que usam mensagens do Pub/Sub.

    5. Na lista Fornecedor de eventos, selecione Cloud Storage.

    6. Na lista Tipo de evento, selecione Direto > google.cloud.storage.object.v1.finalized.

    7. Para Contentor, selecione o contentor do Cloud Storage hello-bucket que criou anteriormente.

    8. Se lhe for pedido, conceda o seguinte:

      • iam.serviceAccountTokenCreator à conta de serviço do Pub/Sub
      • pubsub.publisher à conta de serviço do Cloud Storage
    9. Use a conta de serviço de computação predefinida como a conta de serviço que invoca o seu serviço.

    10. Na lista Destino do evento, selecione Cloud Run.

    11. Para o serviço do Cloud Run, selecione o serviço de exemplo hello que criou anteriormente.

    12. Aceite as outras predefinições.

    13. Clique em Criar.

    Pode demorar alguns minutos até que todas as autorizações necessárias sejam propagadas para o agente de serviço do Eventarc. Se receber um erro Permission denied while using the Eventarc Service Agent, aguarde alguns minutos e, em seguida, tente novamente. Depois de criar um acionador, este pode demorar até dois minutos a ficar totalmente funcional.

    Gere e veja um evento

    Gere um evento e confirme se o acionador do Eventarc está a funcionar conforme esperado.

    1. Para gerar um evento:

      1. Crie um ficheiro de texto com o nome random.txt e o texto "Hello World".

      2. Na Google Cloud consola, aceda à página Cloud Storage > Recipientes.

        Aceda a Recipientes

      3. Clique no nome do contentor de armazenamento que criou.

      4. No separador Objetos, clique em Carregar ficheiros e carregue o ficheiro random.txt.

      O carregamento gera um evento e o serviço do Cloud Run regista a mensagem do evento.

    2. Para ver a entrada do registo:

      1. Na Google Cloud consola, aceda à página Serviços do Cloud Run.

        Aceder a Serviços

      2. Clique no nome do serviço que criou.

      3. Para obter as entradas de registo de todas as revisões deste serviço, na página Detalhes do serviço, clique no separador Registos. Pode filtrar por nível de gravidade do registo.

      4. Procure uma entrada de registo semelhante a:

        Received event of type google.cloud.storage.object.v1.finalized. Event data: [...]

    Parabéns! Implementou com êxito um serviço de receção de eventos no Cloud Run, criou um acionador do Eventarc, gerou um evento a partir do Cloud Storage e viu-o nos registos do Cloud Run.

    Limpar

    Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.

    Embora o Cloud Run não cobre quando o serviço não está a ser usado, pode continuar a ser cobrado pela armazenagem da imagem do contentor no Container Registry, recursos do Cloud Run> e pela armazenagem de ficheiros no seu contentor do Cloud Storage.

    Pode eliminar a sua imagem, eliminar o seu contentor de armazenamento e eliminar o seu serviço Cloud Run.

    Para eliminar o acionador do Eventarc:

    1. Na Google Cloud consola, aceda à página Triggers do Eventarc.

      Aceda a Acionadores

    2. Clique no nome do acionador que criou.

    3. Na página Detalhes dos acionadores, clique em Eliminar.

    Em alternativa, pode eliminar o seu Google Cloud projeto para evitar incorrer em custos. A eliminação do seu Google Cloud projeto interrompe a faturação de todos os recursos usados nesse projeto.

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    O que se segue?