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ãoeventarc.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ãoeventarc.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
Noconsolenbsp;, acesse a página Eventarc > Barramento. Google Cloud
Clique em Criar barramento.
Na página Criar um barramento, faça o seguinte:
- Insira um nome do barramento. Esse é o ID do barramento.
- Opcional: insira um nome de exibição do barramento que aparece na página Detalhes do barramento.
- Na lista Região, selecione uma região compatível para implantar o barramento.
- 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. - 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).
Se você selecionar Chave do Cloud KMS, faça o seguinte:
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.
Em Selecionar uma chave do Cloud KMS, selecione uma chave.
É necessário selecionar uma região antes de visualizar as chaves gerenciadas pelo cliente.
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.
Se solicitado, conceda o
cloudkms.cryptoKeyEncrypterDecrypterpapel ao agente de serviço do Eventarc.
Opcional: para adicionar uma origem de mensagem, clique em Adicionar origem.
- No painel Adicionar origem de mensagem, para o provedor de mensagens da API Google, aceite o padrão
google-api-sourceou insira um nome de origem diferente. 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.
- No painel Adicionar origem de mensagem, para o provedor de mensagens da API Google, aceite o padrão
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?
Clique em Criar.
gcloud
Abra um terminal.
Crie um barramento usando o
gcloud eventarc message-buses createcomando.gcloud eventarc message-buses create BUS_NAME \ --location=REGIONSubstitua:
BUS_NAME: o ID ou identificador totalmente qualificado do barramentoREGION: um local compatível com o barramentoComo 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:
--asyncpara retornar do comando imediatamente, sem aguardar a conclusão da operação em andamento.--crypto-keypara 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-configpara 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, consulteLogSeverity.
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_KEYeLABEL_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_KEYeANNOTATION_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 formatoprojects/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 CloudLOCATION: 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, consulteLogSeverity.
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
Noconsolenbsp;, acesse a página Eventarc > Barramento. Google Cloud
A página Detalhes do barramento será aberta.
Clique em Excluir.
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?.
Para confirmar a exclusão, insira
Delete.Clique em Excluir.
gcloud
Abra um terminal.
Exclua um barramento usando o
gcloud eventarc message-buses deletecomando.gcloud eventarc message-buses delete BUS_NAME \ --location=REGIONSubstitua:
BUS_NAME: o ID ou identificador totalmente qualificado do barramentoREGION: 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 CloudLOCATION: 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
}