Crie um barramento para encaminhar mensagens

Um barramento avançado do Eventarc permite centralizar, monitorizar e rastrear o fluxo de mensagens através do seu sistema e funciona como um router. Recebe eventos de uma origem de mensagens ou publicados por um fornecedor e avalia-os de acordo com uma inscrição. Uma inscrição identifica uma subscrição de um barramento específico e define os critérios de correspondência para mensagens, fazendo com que sejam encaminhadas em conformidade. Para mais informações, consulte o artigo Crie uma inscrição para receber eventos.

Um autocarro pode ser usado por fornecedores de eventos e destinos no seu projeto ou noutros projetos. Para mais informações, consulte o artigo Projete esquemas.

Funções necessárias

Uma função de gestão de identidade e de acesso (IAM) contém um conjunto de autorizações que lhe permite realizar ações específicas em Google Cloud recursos. As seguintes funções e autorizações são necessárias quando cria um autocarro para encaminhar mensagens:

  • Para receber a autorização de que precisa para criar um barramento, peça ao seu administrador que lhe conceda a função de IAM de administrador do Eventarc (roles/eventarc.admin) ou de administrador do barramento de mensagens do Eventarc (roles/eventarc.messageBusAdmin) no seu projeto de barramento. Estas funções predefinidas contêm a autorização eventarc.messageBuses.create, que é necessária para criar um autocarro.
  • Para receber a autorização de que precisa para usar um autocarro, peça ao seu administrador para lhe conceder a função de IAM Eventarc Message Bus User (roles/eventarc.messageBusUser) no seu projeto de autocarro. Esta função predefinida contém a autorização eventarc.buses.use, que é necessária para usar um autocarro.
  • Para criar um pipeline e uma inscrição, são necessárias autorizações adicionais. Para mais informações, consulte as funções necessárias ao criar uma inscrição.

Para mais informações sobre a concessão de funções, consulte o artigo Gerir acesso. Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Crie um autocarro

Pode criar um autocarro das seguintes formas:

  • Na consola Google Cloud
  • Usando a Google Cloud CLI no seu terminal ou no Cloud Shell
  • Enviando um pedido para a API Eventarc

Consola

  1. Na Google Cloud consola, aceda à página Eventarc > Bus.

    Aceda a Autocarro

  2. Clique em Criar autocarro.

  3. Na página Crie um autocarro, faça o seguinte:

    1. Introduza um nome do autocarro. Este é o ID do seu autocarro.
    2. Opcional: introduza um Nome a apresentar do autocarro, que é apresentado na página Detalhes do autocarro.
    3. Na lista Região, selecione uma região suportada para implementar o seu autocarro.
    4. Na lista Gravidade do registo, selecione a gravidade mínima para eventos descritos nas entradas do registo. A predefinição é Nenhum. Para mais informações, consulte LogSeverity.
    5. Para Encriptação, aceite a predefinição Google-managed encryption key ou selecione Chave do Cloud KMS. Para mais informações, consulte o artigo Use chaves de encriptação geridas pelo cliente (CMEK).
    6. Se selecionar Chave do Cloud KMS, faça o seguinte:

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

        Pode gerir as suas chaves manualmente ou usar o Autokey, que lhe permite gerar conjuntos de chaves e chaves a pedido. Se a opção Cloud KMS com chave automática estiver desativada, significa que ainda não está integrada com o tipo de recurso atual.

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

        Tenha em atenção que tem de selecionar uma região antes de poder ver as chaves geridas pelo cliente.

      3. Opcional: para introduzir manualmente o nome do recurso da chave, na lista Selecione uma chave gerida pelo cliente, clique em Introduzir chave manualmente e introduza o nome da chave no formato especificado.

      4. Se lhe for pedido, conceda a função cloudkms.cryptoKeyEncrypterDecrypter ao agente do serviço Eventarc.

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

      1. No painel Adicionar origem da mensagem, para o fornecedor de mensagens da API Google, aceite o valor predefinido de google-api-source ou introduza um nome de origem diferente.
      2. Clique em Criar.

        Isto permite a recolha automática de eventos provenientes diretamente de fontes Google.

        Tenha em atenção que apenas são publicados eventos de recursos no mesmo Google Cloud projeto que o barramento. Para mais informações, consulte o artigo Publique eventos de origens Google.

    8. Opcional: para adicionar etiquetas, clique em Adicionar etiqueta. As etiquetas são pares de chave-valor que ajudam a organizar os seus Google Cloud recursos. Para mais informações, consulte o artigo O que são etiquetas?

  4. Clique em Criar.

gcloud

  1. Abra um terminal.

  2. Crie um autocarro com o comando gcloud eventarc message-buses create.

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

    Substitua o seguinte:

    • BUS_NAME: o ID ou o identificador totalmente qualificado do autocarro
    • REGION: uma localização suportada para o autocarro

      Em alternativa, pode definir a propriedade de localização da CLI do Google Cloud:

      gcloud config set eventarc/location REGION
      

    Opcional: também pode usar as seguintes flags:

    • --async para regressar imediatamente ao comando, sem esperar que a operação em curso seja concluída.
    • --crypto-key para especificar o nome totalmente qualificado de uma chave de encriptação gerida pelo cliente; se não for especificado,são usadas as Google-owned and managed keys .
    • --logging-config para configurar a gravidade mínima dos eventos descritos nas entradas do registo. Tem de ser um dos seguintes: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. A predefinição é NONE. Para mais informações, consulte LogSeverity.

API REST

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

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • BUS_NAME: o nome a apresentar do seu autocarro, por exemplo, my_bus.
  • LABEL_KEY e LABEL_VALUE: opcional. Um mapa de pares de chave e valor de etiquetas que ajudam a organizar os seus Google Cloud recursos. Para mais informações, consulte o artigo O que são etiquetas?
  • ANNOTATION_KEY e ANNOTATION_VALUE: opcional. Um mapa de pares de chave e valor de anotação de texto de forma livre. Pode usá-los para anexar informações arbitrárias associadas ao recurso. Para mais informações, consulte o artigo Anotações.
  • ENCRYPT_KEY: opcional. Uma chave do Cloud KMS que o barramento deve usar para a encriptação de dados no formato projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. Para mais informações, consulte o artigo Use chaves de encriptação geridas pelo cliente.
  • PROJECT_ID: o ID do seu Google Cloud projeto.
  • LOCATION: a região na qual criar o autocarro. Por exemplo, us-central1.
  • LOG_SEVERITY: opcional. A gravidade mínima do evento descrito numa entrada do registo. Um dos seguintes: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. A predefinição é NONE. Para mais informações, consulte LogSeverity.

Corpo JSON do pedido:

{
  "display_name": "BUS_NAME",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
  "cryptoKeyName": "ENCRYPT_KEY",
  "loggingConfig": {"logSeverity":"LOG_SEVERITY"}
}

Para enviar o seu pedido, expanda uma destas opções:

Se for bem-sucedido, o corpo da resposta contém uma instância recém-criada 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/messageBuses/BUS_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Elimine um autocarro

Pode eliminar um autocarro das seguintes formas:

  • Na consola Google Cloud
  • Usando a CLI gcloud no seu terminal ou no Cloud Shell
  • Enviando um pedido para a API Eventarc

Consola

  1. Na Google Cloud consola, aceda à página Eventarc > Bus.

    Aceda a Autocarro

    É apresentada a página Detalhes do autocarro.

  2. Clique em Eliminar.

  3. Quando lhe for pedido para eliminar o barramento, para confirmar que quaisquer origens de mensagens configuradas para usar o barramento deixarão de poder fazê-lo, selecione a caixa de verificação Quer continuar?.

  4. Para confirmar a eliminação, introduza Delete.

  5. Clique em Eliminar.

gcloud

  1. Abra um terminal.

  2. Elimine um autocarro através do comando gcloud eventarc message-buses delete.

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

    Substitua o seguinte:

    • BUS_NAME: o ID ou o identificador totalmente qualificado do autocarro
    • REGION: a localização suportada para o autocarro

API REST

Para eliminar um autocarro, use o método projects.locations.messageBuses.delete.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID do seu Google Cloud projeto.
  • LOCATION: a região em que o autocarro é criado, por exemplo, us-central1.
  • BUS_NAME: o nome do autocarro que quer eliminar.

Para enviar o seu pedido, expanda uma destas opções:

Se for bem-sucedido, o corpo da resposta contém uma instância recém-criada 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/messageBuses/BUS_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

O que se segue?