É 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
No console do Google Cloud, acesse a página Eventarc > Bus.
Você pode criar um barramento ou, se estiver atualizando um barramento, clique em Editar.
Na página Editar veículo, para adicionar uma origem de mensagem, clique em
Adicionar origem.- 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. - Clique em Criar.
- No painel Adicionar origem de mensagem, para o provedor de mensagens da API
do Google, aceite o padrão
Clique em Save.
Abra um terminal.
É 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 recursoGoogleApiSource
, que representa uma assinatura de eventos da API Google para um barramento específicoBUS_NAME
: o ID ou identificador totalmente qualificado do barramento em que você quer se inscrever para eventos da API GoogleBUS_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, consulteLogSeverity
.
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:
: o nome de exibição do recursoGOOGLE_API_SOURCE_NAME GoogleApiSource
, que representa uma assinatura de eventos da API do Google para um bus específico, por exemplo,my_google_source
.
eLABEL_KEY
: 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?LABEL_VALUE
eANNOTATION_KEY
: 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.ANNOTATION_VALUE
: o identificador totalmente qualificado do barramento do Eventarc Advanced em que os eventos de origem do Google precisam ser publicados no formatoDESTINATION projects/PROJECT_NAME/locations/LOCATION/messageBuses/BUS_NAME
. Para mais informações, consulte Criar um bus para encaminhar mensagens.
: opcional. Uma chave do Cloud KMS que o recursoENCRYPT_KEY GoogleApiSource
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.
: o ID do projeto Google Cloud em que o recursoPROJECT_ID GoogleApiSource
será criado.
: a região com suporte em que o recursoLOCATION GoogleApiSource
será criado, por exemplo,us-central1
.
: opcional. A gravidade mínima do evento descrito em uma entrada de registro. Uma destas opções:LOG_SEVERITY NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
,EMERGENCY
. O padrão éNONE
. Para mais informações, consulteLogSeverity
.
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:
curl (Linux, macOS ou Cloud Shell)
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
cat > request.json << 'EOF' { "displayName": "GOOGLE_API_SOURCE_NAME ", "labels": {"LABEL_KEY ":"LABEL_VALUE "}, "annotations": {"ANNOTATION_KEY ":"ANNOTATION_VALUE "}, "destination": "DESTINATION ", "cryptoKeyName": "ENCRYPT_KEY ", "loggingConfig": {"logSeverity":"LOG_SEVERITY "} } EOF
Depois execute o comando a seguir para enviar a solicitação REST:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /googleApiSources?googleApiSourceId=GOOGLE_API_SOURCE_NAME "
PowerShell (Windows)
Salve o corpo da solicitação em um arquivo chamado request.json
.
Execute o comando a seguir no terminal para criar ou substituir
esse arquivo no diretório atual:
@' { "displayName": "GOOGLE_API_SOURCE_NAME ", "labels": {"LABEL_KEY ":"LABEL_VALUE "}, "annotations": {"ANNOTATION_KEY ":"ANNOTATION_VALUE "}, "destination": "DESTINATION ", "cryptoKeyName": "ENCRYPT_KEY ", "loggingConfig": {"logSeverity":"LOG_SEVERITY "} } '@ | Out-File -FilePath request.json -Encoding utf8
Depois execute o comando a seguir para enviar a solicitação REST:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /googleApiSources?googleApiSourceId=GOOGLE_API_SOURCE_NAME " | Select-Object -Expand Content
APIs Explorer (navegador)
Copie o corpo da solicitação e abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Cole o corpo da solicitação nessa ferramenta, preencha todos os outros campos obrigatórios e clique em Executar.
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
No console do Google Cloud, acesse a página Eventarc > Detalhes do barramento.
Clique em
Editar.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).No prompt Delete resource, clique em Confirm.
Clique em Salvar.
Abra um terminal.
É 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 recursoGoogleApiSource
REGION
: o local do recursoGoogleApiSource
.
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:
: o ID do projeto Google Cloud em que o recursoPROJECT_ID GoogleApiSource
foi criado.
: a região em que o recursoLOCATION GoogleApiSource
é criado, por exemplo,us-central1
.
: o nome do recursoGOOGLE_API_SOURCE_NAME GoogleApiSource
que você quer excluir.
Para enviar a solicitação, expanda uma destas opções:
curl (Linux, macOS ou Cloud Shell)
execute o seguinte comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /googleApiSources/GOOGLE_API_SOURCE_NAME "
PowerShell (Windows)
execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://eventarc.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /googleApiSources/GOOGLE_API_SOURCE_NAME " | Select-Object -Expand Content
APIs Explorer (navegador)
Abra a página de referência do método. O painel "APIs Explorer" é aberto no lado direito da página. Interaja com essa ferramenta para enviar solicitações. Preencha todos os campos obrigatórios e clique em Executar.
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.