Criar um conjunto de dados vinculado do BigQuery em um bucket de registros

Um conjunto de dados vinculado do BigQuery em um bucket de registros permite consultar e analisar seus dados de registro usando serviços do BigQuery, como o BigQuery Studio e o Data Studio. Como um conjunto de dados vinculado do BigQuery é um ponteiro somente leitura para seu bucket de registros, é possível mesclar dados de registro com outros conjuntos de dados e criar políticas de alertas baseadas em SQL sem duplicar dados ou pagar por armazenamento separado do BigQuery.

Não é possível criar um conjunto de dados vinculado do BigQuery para uma visualização de análise. Se você não conhece a Análise de Observabilidade, consulte a visão geral.

Quando você precisa de um conjunto de dados vinculado do BigQuery

Não é necessário um conjunto de dados vinculado do BigQuery para consultar dados de registro ou dados de registro e de trace. Nesses cenários, use a página Análise de Observabilidade. Também é possível salvar e compartilhar suas consultas, além de salvar a consulta em um painel personalizado. Para saber como consultar dados de trace, consulte Consultar e analisar traces.

Você precisa de um conjunto de dados do BigQuery vinculado quando quiser fazer o seguinte:

Um conjunto de dados vinculado do BigQuery para um bucket de registros permite que o BigQuery leia os dados no bucket de registros.

Como os buckets e as visualizações de registros são mapeados para objetos do BigQuery

Quando você cria um conjunto de dados vinculado do BigQuery para um bucket de registros, um novo conjunto de dados fica disponível para o BigQuery. Você especifica o nome do conjunto de dados do BigQuery vinculado durante o processo de vinculação. Todas as visualizações de registro no bucket de registros são mapeadas automaticamente para visualizações virtuais no conjunto de dados. O nome de uma visualização virtual é o mesmo da visualização de registros correspondente.

Por exemplo, suponha que o projeto my_project tenha um bucket de registros chamado example e que esse bucket tenha uma visualização de registros chamada _AllLogs. Se você criar um conjunto de dados vinculado do BigQuery para esse bucket de registros com o nome my_dataset, a página Explorer do BigQuery vai exibir uma entrada my_project. Um filho da entrada my_project é um conjunto de dados com o nome my_dataset, e esse conjunto de dados lista uma visualização virtual chamada _AllLogs.

Implicações do controle de acesso ao usar conjuntos de dados vinculados do BigQuery

Quando um principal consulta uma visualização em um conjunto de dados vinculado do BigQuery, essa consulta é executada pela camada de permissão do BigQuery, não pela camada de permissão do Cloud Logging. Portanto, os papéis e as permissões do BigQuery concedidos ao principal no conjunto de dados vinculado do BigQuery determinam se ele pode consultar o conjunto de dados.

Não é possível restringir um principal a uma visualização virtual específica em um conjunto de dados vinculado. Quando um principal recebe acesso ao conjunto de dados vinculado do BigQuery, ele pode consultar todas as visualizações nesse conjunto.

Ações do sistema que ocorrem quando você cria um conjunto de dados vinculado

Quando você cria um link em um conjunto de dados de observabilidade, ocorre o seguinte:

  • O Google Cloud Observability pode criar as seguintes contas de serviço ou modificar as concessões de papel do IAM:

  • Os registros de auditoria registram a solicitação para criar um link e a solicitação do gerente do agente de serviço para conceder à conta de serviço do Monitoring o papel do IAM de Agente de serviço do Monitoring. Esses registros também registram a conclusão da operação de longa duração.

Antes de começar

  1. Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloudagora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho sem custos financeiros.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Para receber as permissões necessárias para criar um conjunto de dados vinculado, peça ao administrador para conceder a você o papel do IAM de Gravador de configuração de registros (roles/logging.configWriter) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

  7. Verifique se o bucket de registros foi atualizado para usar a Análise de Observabilidade:

    1. No console Google Cloud , acesse a página Armazenamento de registros:

      Acessar o armazenamento de registros

      Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Logging.

    2. Se o bucket de registros exibir Fazer upgrade, clique em Fazer upgrade e conclua a caixa de diálogo.

Quando quiser usar os recursos do BigQuery para analisar seus dados de registro, faça upgrade de um bucket de registros para usar a Análise de Observabilidade e, em seguida, crie um conjunto de dados vinculado. Com essa configuração, o Logging armazena os dados de registro, mas o BigQuery pode ler esses dados.

Console do Google Cloud

Para criar um link para um conjunto de dados do BigQuery em um bucket de registros, faça o seguinte:

  1. No console Google Cloud , acesse a página Armazenamento de registros:

    Acessar o armazenamento de registros

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Logging.

  2. Localize o bucket de registros e verifique se a coluna Análise de Observabilidade disponível mostra Abrir.

    Se essa coluna exibir Fazer upgrade, o bucket de registros não foi atualizado para usar a Análise de Observabilidade. Configurar a Análise de Observabilidade:

    1. Clique em Fazer upgrade.
    2. Clique em Confirmar na caixa de diálogo.

    Depois que o upgrade for concluído, siga para a próxima etapa.

  3. No bucket de registros, clique em Mais e em Editar bucket.

    A caixa de diálogo Editar bucket de registros será aberta.

  4. Selecione Criar um novo conjunto de dados do BigQuery vinculado a este bucket e insira o nome do novo conjunto de dados.

    O nome do conjunto de dados precisa ser exclusivo para cada projeto do Google Cloud . Se você inserir o nome de um conjunto de dados atual, receberá o seguinte erro: Dataset name must be unique in the selected region.

  5. Clique em Concluído e em Atualizar bucket.

    Depois que o Logging exibir o nome do conjunto de dados vinculado na página Armazenamento de registros, pode levar vários minutos para que o BigQuery reconheça o conjunto de dados.

gcloud

Para criar um conjunto de dados vinculado para um bucket de registros que foi atualizado para usar a Análise de Observabilidade, execute o comando gcloud logging links create:

gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION

O LINK_ID fornecido é usado como o nome do conjunto de dados do BigQuery, e o valor desse campo precisa ser exclusivo para o projeto do Google Cloud .

O comando links create é assíncrono. O retorno de um método assíncrono é um objeto Operation, que contém informações sobre o progresso do método. Quando o método é concluído, o objeto Operation contém o status. Para mais informações, consulte Métodos de API assíncronos.

O comando links create leva alguns minutos para ser concluído.

Por exemplo, o comando a seguir cria um conjunto de dados vinculado chamado mylink para o bucket de registros chamado my-bucket:

gcloud logging links create mylink --bucket=my-bucket --location=global

O nome do conjunto de dados precisa ser exclusivo para cada projeto do Google Cloud . Se você tentar criar um conjunto de dados com o mesmo nome de um conjunto de dados atual, receberá o seguinte erro:

BigQuery dataset with name "LINK_ID" already exists.

Se você tentar criar um conjunto de dados vinculado para um bucket de registros que não foi atualizado para usar a Análise de Observabilidade, o seguinte erro será informado:

A link can only be created for an analytics-enabled bucket.

REST

Para criar um conjunto de dados vinculado do BigQuery para um bucket de registros atualizado para usar a Análise de Observabilidade, chame o método assíncrono projects.locations.buckets.links.create da API Cloud Logging.

Prepare os argumentos do método da seguinte maneira:

  1. Crie o corpo da solicitação para o comando create. O corpo da solicitação é formatado como um objeto Link.
  2. Para o parâmetro de consulta do comando, use linkId=LINK_ID. O LINK_ID fornecido é usado como o nome do conjunto de dados do BigQuery, e o valor desse campo precisa ser exclusivo para o projeto do Google Cloud .

A resposta aos métodos assíncronos é um objeto Operation. Esse objeto contém informações sobre o progresso do método. Quando o método é concluído, o objeto Operation contém o status. Para mais informações, consulte Métodos de API assíncronos.

O método links.create leva alguns minutos para ser concluído.

O nome do conjunto de dados precisa ser exclusivo para cada projeto do Google Cloud . Se você tentar criar um conjunto de dados com o mesmo nome de um conjunto de dados atual, receberá o seguinte erro:

BigQuery dataset with name "LINK_ID" already exists.

Se você tentar criar um conjunto de dados vinculado para um bucket de registros que não foi atualizado para usar a Análise de Observabilidade, o seguinte erro será informado:

A link can only be created for an analytics-enabled bucket.

A seguir