Criar um barramento para rotear mensagens

Um barramento do Eventarc Advanced permite centralizar, monitorar e rastrear o fluxo de mensagens no sistema e atua como um roteador. Ele recebe eventos de uma origem de mensagem ou publicados por um provedor e os avalia de acordo com um registro. Um registro identifica uma assinatura de um barramento específico e define os critérios de correspondência para mensagens, fazendo com que elas sejam roteadas de acordo. Para mais informações, consulte Criar um registro para receber eventos.

Um barramento pode ser usado por provedores de eventos e destinos no seu projeto ou em outros projetos. Para mais informações, consulte Layouts de projetos.

Funções exigidas

Um papel do Identity and Access Management (IAM, na sigla em inglês) contém um conjunto de permissões que permite realizar ações específicas em Google Cloud recursos. Os seguintes papéis e permissões são necessários ao criar um barramento para rotear mensagens:

  • Para receber a permissão necessária para criar um barramento, peça ao administrador para conceder a você o papel do IAM de administrador do Eventarc (roles/eventarc.admin) ou de administrador do barramento de mensagens do Eventarc (roles/eventarc.messageBusAdmin) no projeto do barramento. Esses papéis predefinidos contêm a permissão eventarc.messageBuses.create, que é necessária para criar um barramento.
  • Para receber a permissão necessária para usar um barramento, peça ao administrador para conceder a você o papel do IAM de usuário do barramento de mensagens do Eventarc (roles/eventarc.messageBusUser) no projeto do barramento. Esse papel predefinido contém a permissão eventarc.buses.use, que é necessária para usar um barramento.
  • Para criar um pipeline e um registro, são necessárias outras permissões. Para mais informações, consulte os papéis necessários ao criar um registro.

Para mais informações sobre como conceder papéis, consulte Gerenciar o acesso. Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.

Criar barramento

É possível criar um barramento das seguintes maneiras:

  • Noconsolenbsp; Google Cloud
  • Usando a Google Cloud CLI no terminal ou no Cloud Shell
  • Enviando uma solicitação para a API Eventarc

Console

  1. Noconsolenbsp;, acesse a página Eventarc > Barramento. Google Cloud

    Acessar o barramento

  2. Clique em Criar barramento.

  3. Na página Criar um barramento, faça o seguinte:

    1. Insira um nome do barramento. Esse é o ID do barramento.
    2. Opcional: insira um nome de exibição do barramento que aparece na página Detalhes do barramento.
    3. Na lista Região, selecione uma região compatível para implantar o barramento.
    4. Na lista Gravidade do registro, selecione a gravidade mínima para eventos descritos em entradas de registro. O padrão é Nenhum. Para mais informações, consulte LogSeverity.
    5. Para Criptografia, aceite o padrão Google-managed encryption key ou selecione Chave do Cloud KMS. Para mais informações, consulte Usar chaves de criptografia gerenciadas pelo cliente (CMEK).
    6. Se você selecionar Chave do Cloud KMS, faça o seguinte:

      1. Na lista Tipo de chave, selecione um método para gerenciar as chaves.

        É possível gerenciar as chaves manualmente ou usar a chave automática, que permite gerar chaves e chaves sob demanda. Se a opção Cloud KMS com Autokey estiver desativada, ela ainda não estará integrada ao tipo de recurso atual.

      2. Em Selecionar uma chave do Cloud KMS, selecione uma chave.

        É necessário selecionar uma região antes de visualizar as chaves gerenciadas pelo cliente.

      3. Opcional: para inserir manualmente o nome do recurso da chave, na lista Selecionar uma chave gerenciada pelo cliente, clique em Inserir chave manualmente, e insira o nome da chave no formato especificado.

      4. Se solicitado, conceda o cloudkms.cryptoKeyEncrypterDecrypter papel ao agente de serviço do Eventarc.

    7. Opcional: para adicionar uma origem de mensagem, clique em Adicionar origem.

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

        Isso permite a coleta automática de eventos que vêm diretamente de fontes do Google.

        Observe que somente eventos de recursos no mesmo Google Cloud projeto que o barramento são publicados. Para mais informações, consulte Publicar eventos de fontes do Google.

    8. Opcional: para adicionar rótulos, clique em Adicionar rótulo. Os rótulos são pares de chave-valor que ajudam a organizar seus Google Cloud recursos. Para mais informações, consulte O que são rótulos?

  4. Clique em Criar.

gcloud

  1. Abra um terminal.

  2. Crie um barramento usando o gcloud eventarc message-buses create comando.

    gcloud eventarc message-buses create BUS_NAME \
        --location=REGION
    

    Substitua:

    • BUS_NAME: o ID ou identificador totalmente qualificado do barramento
    • REGION: um local compatível com o barramento

      Como alternativa, é possível definir a propriedade de local da Google Cloud CLI:

      gcloud config set eventarc/location REGION
      

    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ão usados.
    • --logging-config para configurar a gravidade mínima para eventos descritos em entradas de registro. Precisa ser um dos seguintes: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. O padrão é NONE. Para mais informações, consulte LogSeverity.

API REST

Para criar um barramento, use o projects.locations.messageBuses.create método.

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

  • BUS_NAME: o nome de exibição do barramento, por exemplo, my_bus.
  • LABEL_KEY e LABEL_VALUE: opcional. Um mapa de pares de chave e valor de rótulo que ajudam a organizar seus Google Cloud recursos. 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.
  • ENCRYPT_KEY: opcional. Uma chave do Cloud KMS que o barramento 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
  • LOCATION: a região em que o barramento será criado, por exemplo, us-central1.
  • LOG_SEVERITY: opcional. A gravidade mínima do evento descrito em uma entrada de registro. Um de: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. O padrão é NONE. Para mais informações, consulte LogSeverity.

Corpo JSON da solicitação:

{
  "display_name": "BUS_NAME",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
  "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 recém-criada:

{
  "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/messageBuses/BUS_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Excluir um barramento

É possível excluir um barramento das seguintes maneiras:

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

Console

  1. Noconsolenbsp;, acesse a página Eventarc > Barramento. Google Cloud

    Acessar o barramento

    A página Detalhes do barramento será aberta.

  2. Clique em Excluir.

  3. Quando solicitado a excluir o barramento, para reconhecer que todas as origens de mensagem configuradas para usar o barramento não poderão mais fazer isso, selecione a caixa de seleção Quer continuar?.

  4. Para confirmar a exclusão, insira Delete.

  5. Clique em Excluir.

gcloud

  1. Abra um terminal.

  2. Exclua um barramento usando o gcloud eventarc message-buses delete comando.

    gcloud eventarc message-buses delete BUS_NAME \
        --location=REGION
    

    Substitua:

    • BUS_NAME: o ID ou identificador totalmente qualificado do barramento
    • REGION: o local compatível com o barramento

API REST

Para excluir um barramento, use o projects.locations.messageBuses.delete método.

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

  • PROJECT_ID: o ID do projeto. Google Cloud
  • LOCATION: a região em que o barramento é criado, por exemplo, us-central1.
  • BUS_NAME: o nome do barramento 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 recém-criada:

{
  "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/messageBuses/BUS_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

A seguir