Publicar eventos de origens do Google

É possível ativar ou desativar a coleta e a publicação de eventos de fontes do Google para um barramento específico do Eventarc Advanced.

Os eventos das origens do Google são acionados diretamente por um evento não mediado, como a criação de uma função do Cloud Run ou uma mudança de status em um job do Dataflow. Para mais informações, consulte Tipos de eventos do Google compatíveis com o Eventarc.

Observe o seguinte:

  • Há um limite de um recurso GoogleApiSource por projeto do Google Cloud.
  • Só é possível publicar eventos de origens do Google no mesmo projeto do Google Cloud que o recurso GoogleApiSource.
  • É possível publicar eventos em um bus que está em um projeto do Google Cloud diferente daquele em que o recurso GoogleApiSource existe. É possível configurar isso usando a CLI gcloud ou enviando uma solicitação para a API Eventarc.

Ativar eventos de origens do Google

Para publicar eventos de origens do Google, crie um recurso GoogleApiSource. Esse recurso representa uma assinatura de eventos da API Google em um projeto específico do Google Cloud para um barramento específico do Eventarc Advanced.

É possível ativar a publicação de eventos de origens do Google das seguintes maneiras:

  • No console do Google Cloud
  • Usando a CLI do Google Cloud no terminal ou no Cloud Shell
  • Enviando uma solicitação para a API Eventarc

Console

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

    Acessar "Bus"

  2. Você pode criar um barramento ou, se estiver atualizando um barramento, clique em Editar.

  3. Na página Editar veículo, para adicionar uma origem de mensagem, clique em Adicionar origem.

    1. No painel Adicionar origem de mensagem, para o provedor de mensagens da API do Google, aceite o padrão google-api-source ou insira um nome de origem de mensagem diferente.
    2. Clique em Criar.
  4. Clique em Save.

gcloud

  1. Abra um terminal.

  2. É possível ativar eventos de fontes do Google usando o comando gcloud beta eventarc google-api-sources create:

    gcloud beta eventarc google-api-source create GOOGLE_API_SOURCE_NAME \
        --destination-message-bus=BUS_NAME \
        --destination-message-bus-project=BUS_PROJECT_ID

    Substitua:

    • GOOGLE_API_SOURCE_NAME: o ID ou identificador totalmente qualificado do recurso GoogleApiSource, que representa uma assinatura de eventos da API Google para um barramento específico
    • BUS_NAME: o ID ou identificador totalmente qualificado do barramento em que você quer se inscrever para eventos da API Google
    • BUS_PROJECT_ID: o ID do projeto Google Cloud do barramento

    Opcional: também é possível usar as seguintes flags:

    • --async para retornar do comando imediatamente, sem aguardar a conclusão da operação em andamento.
    • --crypto-key para especificar o nome totalmente qualificado de uma chave de criptografia gerenciada pelo cliente. Se não for especificado, Google-owned and managed keys será usado.
    • --logging-config para configurar o nível de registro, que precisa ser um destes: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. Para mais informações, consulte LogSeverity.

API REST

Para ativar eventos de fontes do Google, use o método projects.locations.googleApiSources.create.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • GOOGLE_API_SOURCE_NAME: o nome de exibição do recurso GoogleApiSource, que representa uma assinatura de eventos da API do Google para um bus específico, por exemplo, my_google_source.
  • LABEL_KEY e LABEL_VALUE: opcional. Um mapa de pares de chave e valor de rótulos que ajudam a organizar os recursos. Google Cloud Para mais informações, consulte O que são rótulos?
  • ANNOTATION_KEY e ANNOTATION_VALUE: opcional. Um mapa de pares de chave e valor de anotação de texto em formato livre. É possível usá-las para anexar informações arbitrárias associadas ao recurso. Para mais informações, consulte Anotações.
  • DESTINATION: o identificador totalmente qualificado do barramento do Eventarc Advanced em que os eventos de origem do Google precisam ser publicados no formato projects/PROJECT_NAME/locations/LOCATION/messageBuses/BUS_NAME. Para mais informações, consulte Criar um bus para encaminhar mensagens.
  • ENCRYPT_KEY: opcional. Uma chave do Cloud KMS que o recurso GoogleApiSource precisa usar para criptografia de dados no formato projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Para mais informações, consulte Usar chaves de criptografia gerenciadas pelo cliente.
  • PROJECT_ID: o ID do projeto Google Cloud em que o recurso GoogleApiSource será criado.
  • LOCATION: a região com suporte em que o recurso GoogleApiSource será criado, por exemplo, us-central1.
  • LOG_SEVERITY: opcional. A gravidade mínima do evento descrito em uma entrada de registro. Uma destas opções: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. O padrão é NONE. Para mais informações, consulte LogSeverity.

Corpo JSON da solicitação:

{
  "displayName": "GOOGLE_API_SOURCE_NAME",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
  "destination": "DESTINATION",
  "cryptoKeyName": "ENCRYPT_KEY",
  "loggingConfig": {"logSeverity":"LOG_SEVERITY"}
}

Para enviar a solicitação, expanda uma destas opções:

Se houver êxito, o corpo da resposta conterá uma instância de Operation:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata",
    "createTime": "2024-01-25T17:17:45.782370139Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/googleApiSources/GOOGLE_API_SOURCE_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Os eventos das origens do Google no mesmo projeto do Google Cloud que o recurso GoogleApiSource agora são coletados e publicados no bus.

Desativar eventos de origens do Google

Para desativar a publicação de eventos de origens do Google em um projeto específico do Google Cloud para um barramento do Eventarc Advanced, é necessário excluir o recurso GoogleApiSource.

É possível desativar a publicação de eventos de origens do Google das seguintes maneiras:

  • No console do Google Cloud
  • Usando a CLI gcloud no terminal ou no Cloud Shell
  • Enviando uma solicitação para a API Eventarc

Console

  1. No console do Google Cloud, acesse a página Eventarc > Detalhes do barramento.

    Acessar "Detalhes do ônibus"

  2. Clique em Editar.

  3. Na página Editar bus, para excluir o provedor de mensagens da API Google, clique em Excluir recurso para a origem de mensagens google-api-source (ou o nome que você deu a ela).

  4. No prompt Delete resource, clique em Confirm.

  5. Clique em Salvar.

gcloud

  1. Abra um terminal.

  2. É possível desativar eventos de fontes do Google usando o comando gcloud beta eventarc google-api-sources delete:

    gcloud beta eventarc google-api-source delete GOOGLE_API_SOURCE_NAME \
        --location=REGION

    Substitua:

    • GOOGLE_API_SOURCE_NAME: o ID ou identificador totalmente qualificado do recurso GoogleApiSource
    • REGION: o local do recurso GoogleApiSource.

API REST

Para desativar eventos de fontes do Google, use o método projects.locations.googleApiSources.delete.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto Google Cloud em que o recurso GoogleApiSource foi criado.
  • LOCATION: a região em que o recurso GoogleApiSource é criado, por exemplo, us-central1.
  • GOOGLE_API_SOURCE_NAME: o nome do recurso GoogleApiSource que você quer excluir.

Para enviar a solicitação, expanda uma destas opções:

Se houver êxito, o corpo da resposta conterá uma instância de Operation:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata",
    "createTime": "2024-01-25T17:17:45.782370139Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/googleApiSources/GOOGLE_API_SOURCE_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Os eventos das origens do Google no mesmo projeto do Google Cloud que o recurso GoogleApiSource excluído não são mais coletados e publicados.

A seguir