Criar uma inscrição para receber eventos

Um registro identifica uma assinatura de um barramento específico. O registro define os critérios de correspondência que determinam quais mensagens são roteadas para um destino. Ele também especifica o pipeline pelo qual as mensagens correspondentes devem ser roteadas. Um pipeline permite configurar um destino e também oferece a opção de transformar os eventos correspondentes antes da entrega.

Observe o seguinte:

  • Um pipeline e uma inscrição precisam estar no mesmo projeto do Google Cloud . O barramento pode estar no mesmo projeto ou em um projeto diferente.
  • Um pipeline pode ser usado para várias inscrições.
  • Apenas um destino pode ser o destino das mensagens encaminhadas por um pipeline.

Antes de começar

Antes de configurar um pipeline ou uma inscrição, você precisa criar um barramento avançado do Eventarc.

Funções exigidas

Um papel do Identity and Access Management (IAM) contém um conjunto de permissões que permite realizar ações específicas em recursos do Google Cloud . As seguintes funções e permissões são necessárias ao criar um pipeline e um registro para encaminhar mensagens:

  • Para receber a permissão necessária para criar um pipeline, peça ao administrador para conceder a você o papel do IAM de desenvolvedor do Eventarc (roles/eventarc.developer) no projeto do pipeline. Esse papel predefinido contém a permissão eventarc.pipelines.create, que é necessária para criar um pipeline.
  • Para receber a permissão necessária para criar uma inscrição, peça ao administrador para conceder a você o papel do IAM de Desenvolvedor do Eventarc (roles/eventarc.developer) no projeto de inscrição. Esse papel predefinido contém a permissão eventarc.enrollments.create, que é necessária para criar uma inscrição.
  • 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 mais informações sobre como conceder papéis, consulte Gerenciar acesso. Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.

Criar um registro e um pipeline

É possível criar um pipeline e uma inscrição das seguintes maneiras:

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

Console

No console Google Cloud , é possível criar o pipeline e a inscrição ao mesmo tempo na página Pipelines.

  1. Para criar uma inscrição, no console Google Cloud , acesse a página Eventarc > Pipelines.

    Acessar "Pipelines"

  2. Clique em Criar pipeline.

  3. No painel Detalhes do pipeline, faça o seguinte:

    1. Insira um Nome do pipeline. Esse é o ID do seu pipeline.
    2. Na lista Região, selecione uma região para implantar o pipeline. O pipeline precisa ser criado na mesma região do barramento. Saiba mais em Locais avançados do Eventarc.
    3. Opcional: na lista Gravidade do registro, selecione a gravidade mínima para eventos descritos nas entradas de registro. O padrão é Nenhum. Para mais informações, consulte LogSeverity.
    4. Opcional: na seção Política de novas tentativas, é possível modificar a configuração padrão para tentar novamente os eventos.
    5. Em 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 suas chaves.

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

      2. Em Selecionar uma chave gerenciada pelo cliente, escolha 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 papel cloudkms.cryptoKeyEncrypterDecrypter ao Agente de serviço do Eventarc.

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

    8. Clique em Continuar.

  4. No painel Inscrições, faça o seguinte:

    1. Clique em Adicionar uma inscrição.
    2. Insira um Nome da inscrição.
    3. Na lista Ônibus, selecione um ônibus para se inscrever.
    4. No campo Expressão CEL, escreva uma expressão de avaliação usando CEL. Exemplo:

      message.type == "google.cloud.dataflow.job.v1beta3.statusChanged"

      A expressão padrão, true, indica que todas as mensagens são encaminhadas sem filtro.

    5. Clique em Concluído.

    6. Você pode adicionar outra inscrição ou clicar em Continuar.

  5. Opcional: no painel Mediação de eventos, faça o seguinte ou clique em Continuar:

    1. Marque a caixa de seleção Aplicar uma transformação.
    2. Na lista Formato de entrada, selecione o formato aplicável.

      Ao aplicar uma transformação, você precisa especificar um formato de dados de entrada para um pipeline, e todos os eventos precisam corresponder a esse formato.

    3. Para formatos Avro ou Protobuf, especifique um esquema de entrada. Se quiser, faça upload de um esquema de entrada. Para mais informações, consulte Formatar eventos recebidos.

    4. No campo Expressão CEL, escreva uma expressão de transformação usando a CEL.

    5. Clique em Continuar.

  6. No painel Destino, faça o seguinte:

    1. Na lista Tipo de destino, selecione um tipo de destino para rotear mensagens. Dependendo do tipo de destino, faça o seguinte:

    2. Para endpoints HTTP apenas (incluindo URLs do Cloud Run), especifique um anexo de rede.

      Um anexo de rede é um recurso que permite que uma rede VPC do produtor inicie conexões com uma rede VPC do consumidor. Para publicar eventos, o Eventarc Advanced usa o anexo de rede para estabelecer uma conexão com o endpoint hospedado em uma rede VPC.

      É possível criar um anexo de rede que aceite automaticamente conexões de qualquer interface do Private Service Connect que se refira ao anexo de rede. Crie o anexo de rede na mesma rede e região que contém o endpoint de destino.

      Se você estiver roteando mensagens para um destino do Google usando um endereço DNS, por exemplo, o Cloud Run, verifique se o Acesso privado do Google está ativado na sub-rede usada no anexo de rede. Caso contrário, não será possível resolver o endereço DNS.

    3. Se aplicável, na lista Formato de saída, selecione um formato.

      Se um formato de dados de entrada não for especificado para um pipeline, não será possível definir um formato de saída.

    4. Se aplicável, aplique uma vinculação de mensagem. Para mais informações, consulte Definir uma vinculação de mensagem.

    5. Para ativar a autenticação, marque a caixa de seleção Ativar autenticação.

      1. Na lista Cabeçalho de autenticação, selecione o tipo de token a ser gerado e anexado como um cabeçalho Authorization na solicitação HTTP:

        • Um token OAuth geralmente só deve ser usado ao chamar APIs do Google hospedadas em *.googleapis.com. Se quiser, especifique o Escopo deste token. Caso contrário, o padrão será https://www.googleapis.com/auth/cloud-platform. Para serviços doGoogle Cloud , é uma prática recomendada usar o escopo https://www.googleapis.com/auth/cloud-platform, que inclui todas as APIs do Google Cloud , além do gerenciamento de identidade e acesso (IAM), que fornece controle de acesso refinado.

          Todos os pedidos para outro barramento do Eventarc Advanced, Pub/Sub ou Workflows precisam ter um cabeçalho de autorização HTTP com um token OAuth assinado pelo Google para uma das contas de serviço autorizadas.

        • Um token do OIDC pode ser usado em vários cenários, incluindo endpoints em que você pretende validar o token por conta própria. Além disso, especifique o público-alvo a que o token se destina. Em geral, ele precisa corresponder ao URL do pipeline de destino. Se não for especificado, todo o URL será usado, incluindo os parâmetros de solicitação.

          O Cloud Run executa uma verificação do IAM em cada solicitação, e você pode usar a permissão run.routes.invoke para configurar quem pode acessar o serviço do Cloud Run de uma das seguintes maneiras:

          • Conceda a permissão para selecionar contas de serviço ou grupos para permitir o acesso ao serviço. Todas as solicitações precisam ter um cabeçalho de autorização HTTP com um token do OpenID Connect assinado pelo Google para uma das contas de serviço autorizadas.

          • Conceda a permissão a allUsers para permitir o acesso não autenticado.

          Para mais informações, consulte Controle de acesso do Cloud Run.

        Saiba mais sobre os tipos de token.

      2. Na lista Conta de serviço, selecione a conta que vai invocar o serviço de destino. Ou crie uma nova conta de serviço.

        Isso especifica o e-mail da conta de serviço do IAM associada ao pipeline e à qual você concedeu papéis específicos exigidos pelo Eventarc Advanced.

  7. Clique em Criar.

gcloud

Ao usar a CLI gcloud, primeiro crie o pipeline e depois crie a inscrição usando os comandos apropriados.

Pipeline

  1. Abra um terminal.

  2. Crie um pipeline usando o comando gcloud beta eventarc pipelines create:

    gcloud beta eventarc pipelines create PIPELINE_NAME \
        --destinations=DESTINATION_KEY \
        --location=LOCATION

    Substitua:

    • PIPELINE_NAME: o ID do pipeline ou um nome totalmente qualificado
    • DESTINATION_KEY: um ou mais pares de chave-valor para configurar um destino para o pipeline.

      Você precisa definir apenas uma das seguintes chaves:

      Para http_endpoint_uri apenas (incluindo URLs do Cloud Run), defina a seguinte chave:

      • network_attachment: um recurso que permite que uma rede VPC produtora inicie conexões com uma rede VPC consumidora. Para publicar eventos, o Eventarc Advanced usa o anexo de rede para estabelecer uma conexão com o endpoint hospedado em uma rede VPC.

        É possível criar um anexo de rede que aceite automaticamente conexões de qualquer interface do Private Service Connect que se refira ao anexo de rede. Crie o anexo de rede na mesma rede e região que contém o recurso de destino.

        Se você estiver encaminhando mensagens para um destino do Google usando um endereço DNS, por exemplo, o Cloud Run, verifique se o Acesso privado do Google está ativado na sub-rede usada no anexo de rede. Caso contrário, não será possível resolver o endereço DNS.

      Para ativar a autenticação, defina uma das seguintes chaves:

      • google_oidc_authentication_service_account: o e-mail da conta de serviço usado para gerar um token OIDC, que pode ser usado em muitos cenários, incluindo endpoints em que você pretende validar o token por conta própria. Opcionalmente, você pode definir google_oidc_authentication_audience para especificar o público-alvo a que esse token se destina. Em geral, ele precisa corresponder ao URL do pipeline de destino. Se não for especificado, todo o URL será usado, incluindo os parâmetros de solicitação.

        O Cloud Run executa uma verificação do IAM em cada solicitação, e você pode usar a permissão run.routes.invoke para configurar quem pode acessar o serviço do Cloud Run de uma das seguintes maneiras:

        • Conceda a permissão para selecionar contas de serviço ou grupos para permitir o acesso ao serviço. Todas as solicitações precisam ter um cabeçalho de autorização HTTP com um token do OpenID Connect assinado pelo Google para uma das contas de serviço autorizadas.

        • Conceda a permissão a allUsers para permitir o acesso não autenticado.

        Para mais informações, consulte Controle de acesso do Cloud Run .

      • oauth_token_authentication_service_account: o e-mail da conta de serviço usado para gerar um token OAuth, que geralmente só deve ser usado ao chamar APIs do Google hospedadas em *.googleapis.com. Se quiser, defina oauth_token_authentication_scope para especificar o escopo desse token. Caso contrário, o padrão será https://www.googleapis.com/auth/cloud-platform. Para serviços doGoogle Cloud , é uma prática recomendada usar o escopo https://www.googleapis.com/auth/cloud-platform, que inclui todas as APIs do Google Cloud , além do gerenciamento de identidade e acesso (IAM), que fornece controle de acesso refinado.

        Todos os pedidos para outro barramento do Eventarc Advanced, Pub/Sub ou Workflows precisam ter um cabeçalho de autorização HTTP com um token OAuth assinado pelo Google para uma das contas de serviço autorizadas.

        Saiba mais sobre os tipos de token.

      Opcional: você pode definir uma das seguintes chaves:

      • output_payload_format_avro_schema_definition
      • output_payload_format_json
      • output_payload_format_protobuf_schema_definition

        Se você definir um formato de saída, especifique também um formato de entrada (consulte as flags input-payload-format-* a seguir).

      Opcional: se http_endpoint_uri não for usado como uma chave de destino, defina as seguintes chaves:

      • project: o ID do projeto do recurso de destino. Por padrão, o ID do projeto do pipeline é usado. Google Cloud
      • location: o local do recurso de destino. Por padrão, o local do pipeline é usado.
    • LOCATION: uma região do Eventarc Advanced compatível

      Como alternativa, defina a propriedade de local da CLI gcloud:

      gcloud config set eventarc/location LOCATION
      

    Opcional: você pode 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 o nível de geração de registros, que precisa ser um destes: NONE, DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY.
    • --mediations para aplicar uma transformação. transformation_template é o único modelo compatível, e apenas uma mediação por pipeline é aceita. Por exemplo:

      --mediations=transformation_template='message.removeFields(["id\ ","credit_card_number","age"])'

      Se você estiver aplicando uma transformação, precisará usar uma das flags a seguir para especificar um formato de entrada.

    • Uma das seguintes opções para especificar um formato de entrada:

      • --input-payload-format-avro-schema-definition
      • --input-payload-format-json
      • --input-payload-format-protobuf-schema-definition
    • --max-retry-attempts, --max-retry-delay e --min-retry-delay para eventos de nova tentativa

    Exemplo:

    gcloud beta eventarc pipelines create my-pipeline \
        --destinations=http_endpoint_uri='https://example-endpoint.com',network_attachment=my-network-attachment,oauth_token_authentication_service_account=example-service-account@example-project.gserviceaccount.iam.com,oauth_token_authentication_scope='https://www.googleapis.com/auth/cloud-platform',output_payload_format_avro_schema_definition='{"type": "record","name": "my_record", "fields": [{"name": "my_field", "type":"string"}]}' \
        --input-payload-format-avro-schema-definition='{"type":"record", "name": "my_record", "fields": [{"name": "my_field","type": "string"}]}' \
        --location=us-central1 \
        --async
    

    Para mais detalhes e exemplos, consulte a documentação da CLI gcloud.

Registro

  1. Abra um terminal.

  2. Crie uma inscrição usando o comando gcloud beta eventarc enrollments create:

    gcloud beta eventarc enrollments create ENROLLMENT_NAME \
        --cel-match=MATCH_EXPRESSION \
        --destination-pipeline=PIPELINE_NAME \
        --message-bus=BUS_NAME \
        --message-bus-project=PROJECT_ID \
        --location=LOCATION

    Substitua:

    • ENROLLMENT_NAME: o ID da inscrição ou um nome totalmente qualificado
    • MATCH_EXPRESSION: a expressão de correspondência para esta inscrição usando CEL—por exemplo, "message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'"
    • PIPELINE_NAME: o ID do pipeline de destino ou o nome totalmente qualificado dele para esta inscrição.
    • BUS_NAME: o ID do barramento avançado do Eventarc ou o nome totalmente qualificado dele.
    • PROJECT_ID: o ID do projeto Google Cloud para o barramento
    • LOCATION: uma região do Eventarc Advanced compatível

      Como alternativa, defina a propriedade de local da CLI gcloud:

      gcloud config set eventarc/location LOCATION
      

    Opcional: você pode usar a seguinte flag:

    • --async para retornar do comando imediatamente, sem aguardar a conclusão da operação em andamento

    Exemplo:

    gcloud beta eventarc enrollments create my-enrollment \
        --cel-match="message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'" \
        --destination-pipeline=my-pipeline \
        --message-bus=my-message-bus \
        --message-bus-project=another-google-cloud-project \
        --location=us-central1 \
        --async
    

API REST

Ao enviar solicitações para a API Eventarc, primeiro crie o pipeline e depois a inscrição.

Pipeline

Para criar um pipeline, use o método projects.locations.pipelines.create.

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

  • name: o nome completo do recurso do pipeline no formato projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME

    Substitua:

    • PROJECT_ID: o ID do projeto Google Cloud do pipeline
    • LOCATION: a região em que o pipeline será implantado, por exemplo, us-central1.
    • PIPELINE_NAME: o nome do pipeline
  • LABEL_KEY e LABEL_VALUE: opcional. Um mapa de pares de chave e valor de rótulo que ajudam a organizar seus recursos do 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.
  • 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.
  • destinations: o destino para onde as mensagens serão encaminhadas. Apenas um destino é aceito: httpEndpoint, messageBus, topic ou workflow. Para mais informações, consulte o destino Destination. Por exemplo, substitua o seguinte:
    • HTTP_URI: um URI de destino. O host pode ser um endereço IP estático endereçável de uma rede de nuvem privada virtual (VPC) ou o nome de host interno do sistema de nomes de domínio (DNS) de um serviço resolvível usando o Cloud DNS. Também é possível definir messageBindingTemplate para especificar uma vinculação de mensagem.
    • networkAttachment: aplicável somente a httpEndpoint (incluindo URLs do Cloud Run). O nome completo do recurso de um anexo de rede neste formato: projects/NETWORK_ATTACHMENT_PROJECT_ID/regions/NETWORK_ATTACHMENT_LOCATION /networkAttachments/NETWORK_ATTACHMENT_NAME. Um anexo de rede é um recurso que permite que uma rede de nuvem privada virtual do produtor inicie conexões com uma rede VPC do consumidor e precisa ser especificado. Para publicar eventos, o Eventarc Advanced usa o anexo de rede para estabelecer uma conexão com o endpoint hospedado em uma rede VPC.

      É possível criar um anexo de rede que aceite automaticamente conexões de qualquer interface do Private Service Connect que se refira ao anexo de rede. Crie o anexo de rede na mesma rede e região que contém o recurso de destino.

      Se você estiver roteando mensagens para um destino do Google usando um endereço DNS, por exemplo, o Cloud Run, verifique se o Acesso privado do Google está ativado na sub-rede usada no anexo de rede. Caso contrário, não será possível resolver o endereço DNS.

    • SERVICE_ACCOUNT_EMAIL: o nome do e-mail da conta de serviço usado para gerar um token OIDC que pode ser usado em muitos cenários, incluindo endpoints em que você pretende validar o token por conta própria. Opcionalmente, você pode definir audience para especificar o público-alvo a que esse token se destina. Em geral, ele precisa corresponder ao URL do pipeline de destino. Se não for especificado, todo o URL será usado, incluindo os parâmetros de solicitação.

      Como alternativa, use oauthToken para especificar o e-mail da conta de serviço usado para gerar um token OAuth, que geralmente deve ser usado apenas ao chamar APIs do Google hospedadas em *.googleapis.com. Também é possível definir scope para especificar o escopo desse token. Caso contrário, o padrão será https://www.googleapis.com/auth/cloud-platform. Para serviços do Google Cloud, é uma prática recomendada usar o escopo https://www.googleapis.com/auth/cloud-platform, que inclui todas as APIs do Google Cloud , além do gerenciamento de identidade e acesso (IAM), que fornece controle de acesso refinado.

      Todas as solicitações para outro barramento do Eventarc Advanced, Pub/Sub ou Workflows precisam ter um cabeçalho de autorização HTTP com um token OAuth assinado pelo Google para uma das contas de serviço autorizadas.

      Saiba mais sobre os tipos de token.

Corpo JSON da solicitação:

{
  "name": "projects/PROJECT_ID/regions/LOCATION/pipelines/PIPELINE_NAME",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
  "loggingConfig": {"logSeverity":"LOG_SEVERITY"},
  "destinations": [{"httpEndpoint": {"uri": "HTTP_URI"},"networkConfig":
  {"networkAttachment": "projects/NETWORK_ATTACHMENT_PROJECT_ID/regions/NETWORK_ATTACHMENT_LOCATION/networkAttachments/NETWORK_ATTACHMENT_NAME"},
  "authenticationConfig": {"googleOidc": {"serviceAccount": "SERVICE_ACCOUNT_EMAIL"}}}]
}

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

Registro

Para criar uma inscrição, use o método projects.locations.enrollments.create.

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

  • ENROLLMENT_NAME: o nome de exibição da sua inscrição, por exemplo, my_enrollment.
  • MATCH_EXPRESSION: uma expressão CEL que identifica a quais mensagens essa inscrição se aplica. Por exemplo, message.type == 'hello-world-type'.
  • destination: o nome completo do recurso do pipeline de destino no formato projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME.

    Substitua:

    • PROJECT_ID: o ID do projeto Google Cloud do pipeline
    • LOCATION: a região em que o pipeline é implantado, por exemplo, us-central1.
    • PIPELINE_NAME: o nome do pipeline
  • message_bus: o nome completo do recurso do barramento que identifica a origem das mensagens no formato projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME.

    Substitua:

    • BUS_PROJECT_ID: o Google Cloud ID do projeto de ônibus
    • BUS_LOCATION: a região em que o barramento é implantado, por exemplo, us-central1.
    • BUS_NAME: o nome do barramento de mensagens

Corpo JSON da solicitação:

{
  "display_name": "ENROLLMENT_NAME",
  "cel_match": "MATCH_EXPRESSION",
  "message_bus": "projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME",
  "destination": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME"
}

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

Listar inscrições

É possível listar as inscrições 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. Para listar as inscrições de um pipeline específico, no Google Cloud console, acesse a página Eventarc > Pipelines.

    Acessar "Pipelines"

  2. Clique no nome do pipeline para o qual você quer listar as inscrições.

    A página Detalhes do pipeline é aberta.

    Na guia Inscrições, todas as inscrições associadas ao pipeline são listadas.

gcloud

  1. Abra um terminal.

  2. Liste as inscrições usando o comando gcloud beta eventarc enrollments list:

    gcloud beta eventarc enrollments list \
        --location=LOCATION

    Substitua LOCATION por uma região avançada do Eventarc compatível.

API REST

Para listar as inscrições, use o método projects.locations.enrollments.list.

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

  • PROJECT_ID: o ID do projeto do Google Cloud.
  • LOCATION: a região em que as inscrições são criadas, por exemplo, us-central1.

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

Se bem-sucedido, o corpo da resposta conterá instâncias de Enrollment e a resposta será semelhante a esta:

{
  "enrollments": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/enrollments/ENROLLMENT_NAME",
      "uid": "06e396f5-2d4f-43d2-961f-fd2c88403326",
      "createTime": "2025-03-26T17:57:25.214845320Z",
      "updateTime": "2025-03-26T17:57:45.136172180Z",
      "celMatch": "message.type == \"hello-world-type\"",
      "messageBus": "projects/PROJECT_ID/locations/LOCATION/messageBuses/BUS_NAME",
      "destination": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME"
    },
    {...}
  ]
}

Excluir uma inscrição

É possível excluir uma inscrição 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. Para excluir uma inscrição, no console Google Cloud , acesse a página Eventarc > Pipelines.

    Acessar "Pipelines"

  2. Clique no nome do pipeline em que você quer excluir a inscrição.

    O painel Detalhes do pipeline é aberto.

  3. Clique em Editar.

  4. Clique em Continuar.

    O painel Inscrições é aberto.

  5. Na inscrição que você quer excluir, clique no ícone de exclusão .

  6. Clique em Salvar.

gcloud

  1. Abra um terminal.

  2. Exclua um registro usando o comando gcloud beta eventarc enrollments delete:

    gcloud beta eventarc enrollments delete ENROLLMENT_NAME \
          --location=LOCATION

    Substitua:

API REST

Para excluir uma inscrição, use o método projects.locations.enrollments.delete.

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

  • ENROLLMENT_NAME: o nome de exibição da inscrição que você quer excluir. Por exemplo, my_enrollment.
  • PROJECT_ID: o ID do projeto do Google Cloud.
  • LOCATION: a região em que a inscrição é implantada, por exemplo, us-central1.

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

Listar pipelines

É possível listar pipelines 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

No Google Cloud console, acesse a página Eventarc > Pipelines.

Acessar "Pipelines"

Todos os pipelines são listados. Você também pode usar o Filtro para restringir uma pesquisa.

gcloud

  1. Abra um terminal.

  2. Liste as inscrições usando o comando gcloud beta eventarc pipelines list:

    gcloud beta eventarc pipelines list \
        --location=LOCATION

    Substitua LOCATION por uma região avançada do Eventarc compatível.

API REST

Para listar pipelines, use o método projects.locations.pipelines.list.

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

  • PROJECT_ID: o ID do projeto do Google Cloud.
  • LOCATION: a região em que os pipelines são criados, por exemplo, us-central1.

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

Se bem-sucedido, o corpo da resposta conterá instâncias de Pipeline e a resposta será semelhante a esta:

{
  "pipelines": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME",
      "createTime": "2025-01-10T20:32:11.606516066Z",
      "updateTime": "2025-03-26T18:02:34.886616683Z",
      "uid": "7d58dd18-323a-43f6-a456-4f8c20a70218",
      "destinations": [
        {
          "networkConfig": {
            "networkAttachment": "projects/PROJECT_ID/regions/LOCATION/networkAttachments/NETWORK_ATTACHMENT_NAME"
          },
          "httpEndpoint": {
            "uri": "HTTP_URI"
          },
          "authenticationConfig": {
            "googleOidc": {
              "serviceAccount": "SERVICE_ACCOUNT_EMAIL"
            }
          }
        }
      ],
      "loggingConfig": {
        "logSeverity": "NONE"
      },
      "retryPolicy": {
        "maxAttempts": 5,
        "minRetryDelay": "1s",
        "maxRetryDelay": "60s"
      }
    },
    {...}
  ]
}

Excluir um pipeline

É possível excluir um pipeline 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

A exclusão de um pipeline pode levar mais de 10 minutos.

Console

  1. Para excluir um pipeline, no console Google Cloud , acesse a página Eventarc > Pipelines.

    Acessar "Pipelines"

  2. Na lista de pipelines, marque a caixa de seleção ao lado do nome do pipeline que você quer excluir.

  3. Clique em Excluir.

  4. Confirme a exclusão digitando Delete.

  5. Clique em Excluir.

gcloud

  1. Abra um terminal.

  2. Exclua um pipeline usando o comando gcloud beta eventarc pipelines delete:

    gcloud beta eventarc pipelines delete PIPELINE_NAME \
          --location=LOCATION

    Substitua:

API REST

Para excluir um pipeline, use o método projects.locations.pipelines.delete.

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

  • PIPELINE_NAME: o nome de exibição do pipeline que você quer excluir. Por exemplo, my_pipeline.
  • PROJECT_ID: o ID do projeto do Google Cloud.
  • LOCATION: a região em que o pipeline é implantado, por exemplo, us-central1.

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

A seguir