Receber eventos diretos do Cloud Storage (Google Cloud console)

Neste guia de início rápido, mostramos como receber eventos diretos do Cloud Storage em um serviço do Cloud Run que permite acesso público.

É possível configurar o acionamento de notificações em resposta a vários eventos dentro de um bucket do Cloud Storage: criação, exclusão e arquivamento de objetos e atualizações de metadados. Para mais informações, consulte Criar um gatilho para encaminhar eventos do Cloud Storage para o Cloud Run.

Conclua este guia de início rápido usando o Google Cloud console. Para instruções sobre como usar a Google Cloud CLI, consulte Receber eventos diretos do Cloud Storage (CLI gcloud).

Neste guia de início rápido, você fará as seguintes tarefas:

  1. Criar um bucket do Cloud Storage para ser uma origem do evento.

  2. Implantar um serviço de amostra no Cloud Run para receber eventos.

  3. Criar um gatilho do Eventarc para filtrar e rotear eventos.

  4. Gerar um evento fazendo upload de um arquivo no bucket do Cloud Storage e visualizar o evento nos registros do Cloud Run.


Para seguir as instruções detalhadas desta tarefa diretamente no Google Cloud console, clique em Orientações:

Orientações


Antes de começar

As restrições de segurança definidas pela sua organização podem impedir que você conclua as etapas a seguir. Para informações sobre solução de problemas, consulte Desenvolver aplicativos em um ambiente restrito Google Cloud de.

  1. Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
  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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

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

  5. 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

  6. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

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

  9. 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

Funções exigidas

Para conseguir as permissões necessárias a fim de concluir o guia de início rápido, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando personalizados papéis ou outros predefinidos papéis.

Criar um bucket do Cloud Storage

No guia de início rápido, usamos o Cloud Storage como origem do evento.

  1. Noconsole, acesse a página Cloud Storage > Visão geral. Google Cloud

    Ir para Visão geral

  2. Clique em Criar bucket.

  3. Digite um Nome exclusivo para o bucket.

    Por exemplo, hello-bucket.

  4. Clique em Continuar.

  5. Em Tipo de local, selecione Região e, em seguida, us-central1 (Iowa).

  6. Aceite os outros padrões.

  7. Clique em Criar.

Depois que a origem do evento é criada, implante o serviço de receptor de eventos no Cloud Run.

Implantar o serviço de receptor de eventos no Cloud Run

Implante um serviço de exemplo do Cloud Run que recebe e registra eventos.

  1. No Google Cloud console, acesse a página Cloud Run > Serviços.

    Acessar Serviços

  2. Clique em Implantar contêiner.

  3. No formulário Criar serviço:

    1. Selecione Implantar uma revisão de uma imagem de contêiner atual.

    2. Clique em Testar com um contêiner de amostra.

    3. Na lista Região, no local do serviço, selecione us-central1 (Iowa).

    4. Em Autenticação, selecione Permitir acesso público.

    5. Aceite os outros padrões.

    6. Para implantar a imagem do contêiner de exemplo, clique em Criar.

A implantação do serviço hello pode levar até dois minutos para ser concluída.

Criar um gatilho do Eventarc

O gatilho do Eventarc envia eventos do bucket do Cloud Storage para o serviço do Cloud Run.

  1. No Google Cloud console, acesse a página Eventarc > Gatilhos.

    Acessar gatilhos

  2. Clique em Criar gatilho.

  3. Digite um Nome de acionador.

    Por exemplo, hello-trigger

  4. Na lista Tipo de gatilho, selecione Origens do Google.

    Isso filtra eventos enviados por Google Cloud provedores (diretamente ou por entradas dos Registros de auditoria do Cloud) ou provedores que usam mensagens do Pub/Sub.

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

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

  7. Em Bucket, selecione o bucket hello-bucket do Cloud Storage que foi criado anteriormente.

  8. Se solicitado, conceda os seguintes papéis:

  9. Use a conta de serviço de computação padrão como a conta de serviço que invoca o serviço.

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

  11. Em Serviço do Cloud Run, selecione o serviço de exemplo hello criado anteriormente.

  12. Aceite os outros padrões.

  13. Clique em Criar.

Pode levar alguns minutos até que todas as permissões necessárias sejam propagadas no agente de serviço do Eventarc. Se você receber um erro Permission denied while using the Eventarc Service Agent, aguarde alguns minutos e tente novamente. Depois que um gatilho é criado, pode levar até dois minutos para que ele fique totalmente funcional.

Gerar e visualizar um evento

Gere um evento e confirme se o gatilho do Eventarc está funcionando conforme o esperado.

  1. Para gerar um evento:

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

    2. No Google Cloud console, acesse a página Cloud Storage > Buckets.

      Acessar buckets

    3. Clique no nome do bucket de armazenamento que você criou.

    4. Na guia Objetos, clique em Fazer upload de arquivos e faça o upload do arquivo random.txt.

    O upload gera um evento e o serviço do Cloud Run registra a mensagem do evento.

  2. Para visualizar a entrada de registro:

    1. No Google Cloud console, acesse a página Cloud Run > Serviços.

      Acessar Serviços

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

    3. Para recuperar as entradas de registro de todas as revisões desse serviço, clique na guia Registros na página Detalhes do serviço. É possível filtrar por nível de gravidade do registro.

    4. Procure uma entrada de registro semelhante a esta:

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

Parabéns! Você implantou com sucesso um serviço de receptor de eventos no Cloud Run, criou um gatilho do Eventarc, gerou um evento a partir do Cloud Storage e o visualizou nos registros do Cloud Run.

Liberar espaço

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.

O Cloud Run não gera custos quando o serviço não está em uso, mas você ainda vai receber cobranças pelo seguinte:

É possível excluir a imagem, excluir o bucket de armazenamento, e excluir o serviço do Cloud Run.

Para excluir o gatilho do Eventarc, siga estas etapas:

  1. No Google Cloud console, acesse a página Eventarc > Gatilhos.

    Acessar "Acionadores"

  2. Clique no nome do gatilho que você criou.

  3. Na página Detalhes do gatilho, clique em Excluir.

Se preferir, exclua o Google Cloud projeto do Cloud para evitar cobranças. A exclusão do seu Google Cloud projeto interrompe o faturamento de todos os recursos usados nele.

  1. No Google Cloud console, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
  3. Na caixa de diálogo, digite o ID do projeto e clique em Desligar para excluir o projeto.

A seguir