Receber eventos diretos do Cloud Storage (Console do Google Cloud)

Neste guia de início rápido, mostramos como receber eventos diretos do Cloud Storage em um serviço não autenticado do Cloud Run.

É 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 Console do Google Cloud. Para instruções sobre como usar a CLI do Google Cloud, consulte Receber eventos diretos do Cloud Storage (gcloud CLI).

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 passo a passo desta tarefa diretamente no console do Google Cloud, clique em Orientação:

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 do Google Cloud.

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de 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. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Ative as APIs Cloud Build and Eventarc.

    Ative as APIs

  5. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  6. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  7. Ative as APIs Cloud Build and Eventarc.

    Ative as APIs

Crie um bucket do Cloud Storage

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

  1. No console do Google Cloud, acesse a página Buckets do Cloud Storage.

    Acessar buckets

  2. Clique em Criar.

  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 console do Google Cloud, acesse a página Serviços do Cloud Run.

    Acessar Serviços

  2. Clique em Criar serviço.

  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. Para a Autenticação, selecione Permitir invocações não autenticadas.

    5. 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 Console do Google Cloud, acesse a página Gatilhos do Eventarc.

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

    Ele filtra eventos enviados por provedores do Google Cloud (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 o seguinte:

    • Papel iam.serviceAccountTokenCreator para a conta de serviço do Pub/Sub
    • Papel pubsub.publisher para a conta de serviço do Cloud Storage
  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. 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 console do Google Cloud, acesse a página Buckets do Cloud Storage.

      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 console do Google Cloud, acesse a página Serviços do Cloud Run.

      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.

Limpar

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

O Cloud Run não gera custos quando o serviço não está em uso, mas ainda é possível receber cobranças por armazenamento da imagem de contêiner no Container Registry, recursos do Cloud Run e armazenamento de arquivos no bucket do Cloud Storage.

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

Para excluir o gatilho do Eventarc, siga estas etapas:

  1. No Console do Google Cloud, acesse a página Gatilhos do Eventarc.

    Acessar gatilhos

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

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

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

  1. No Console do Google Cloud, 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 Encerrar para excluí-lo.

A seguir