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

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Build and Eventarc APIs.

    Enable the APIs

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

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Build and Eventarc APIs.

    Enable the 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 Cloud Storage.

    Acesse o Cloud Storage

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

    Acesse o Cloud Run

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

    Acessar gatilhos

  2. Clique em Criar gatilho.

  3. Digite um Nome de acionador.

    Por exemplo, hello-trigger.

  4. Selecione um Tipo de gatilho.

    • Próprio: 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.
    • Terceiros: filtra eventos enviados diretamente por provedores de terceiros.
  5. Na lista Provedor de eventos, selecione Fontes do Google > 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 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 Cloud Run.

      Acesse o Cloud Run

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

A seguir