Consultar um conjunto de dados vinculado do BigQuery

Este documento descreve como criar um conjunto de dados vinculado para um bucket de registros e como consultar e visualizar registros nesse conjunto de dados. Por exemplo, é possível criar um conjunto de dados vinculado para executar consultas na Análise de dados de registros usando seus slots reservados do BigQuery. Da mesma forma, talvez você queira um conjunto de dados vinculado para escrever consultas no BigQuery ou no Looker Studio que combinem seus dados de registro com outros dados de negócios.

Não é possível criar um conjunto de dados vinculado do BigQuery para uma vista do Analytics.

Se você não conhece a Análise de Registros, consulte a visão geral da Análise de Registros.

Quando você precisa de um conjunto de dados vinculado

Não é necessário um conjunto de dados vinculado do BigQuery para emitir consultas a uma visualização de registros na página Análise de dados de registros ao usar o serviço padrão do Cloud Logging. É possível salvar e compartilhar suas consultas, além de salvar os resultados em um painel personalizado.

Você precisa de um conjunto de dados do BigQuery vinculado quando quer fazer alguma das seguintes ações:

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

Se você executar consultas em slots reservados do BigQuery, elas estarão sujeitas aos preços de computação de capacidade. Além disso, se você consultar seus dados usando um serviço diferente da Análise de dados de registros, suas consultas poderão estar sujeitas a outras cobranças com base nesse serviço. Consulte a página de preços do serviço que você está usando.

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 vinculado durante o processo de vinculação. Todas as visualizações de registros 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 para esse bucket de registros com o nome my_dataset, a página Explorer do BigQuery vai mostrar 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

Quando um principal consulta uma visualização em um conjunto de dados vinculado do BigQuery, essa consulta é executada na camada de permissão do BigQuery, não na 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 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, ele pode consultar todas as visualizações nesse conjunto.

Antes de começar

Nesta seção, descrevemos as etapas que você precisa concluir antes de usar a análise de registros.

Configurar buckets de registros

Confirme se os buckets de registros foram atualizados para usar a Análise de registros:

  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. Para cada bucket de registros com uma visualização que você quer consultar, verifique se a coluna Log Analytics disponível mostra Abrir. Se a opção Fazer upgrade aparecer, clique nela e conclua a caixa de diálogo.

Configurar permissões e papéis do IAM

Nesta seção, descrevemos os papéis ou as permissões do IAM necessários para usar a análise de registros:

  • Para receber as permissões necessárias para usar a Análise de registros e consultar visualizações de registros, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

    É possível restringir um principal a uma visualização de registros específica adicionando uma condição do IAM à concessão de papel de leitor de acesso à visualização de registros feita no nível do projeto ou adicionando uma vinculação do IAM ao arquivo de política da visualização de registros. Para mais informações, consulte Controlar o acesso a uma visualização de registro.

    Essas são as mesmas permissões necessárias para visualizar entradas de registro na página Análise de registros. Para informações sobre outros papéis necessários para consultar visualizações em buckets definidos pelo usuário ou para consultar a visualização _AllLogs do bucket de registros _Default, consulte Papéis do Cloud Logging.

  • Para receber as permissões necessárias para criar e consultar conjuntos de dados vinculados, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto que armazena o bucket de registros:

Verificar sua edição do BigQuery

Se você quiser consultar os dados de registros na página Análise de registros usando slots reservados do BigQuery e projetos com o VPC Service Controls, use a edição Enterprise do BigQuery. Para mais informações, consulte Noções básicas sobre as edições do BigQuery.

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 dados de registros e crie um conjunto de dados vinculado. Com essa configuração, o Logging armazena os dados de registro, mas o BigQuery pode lê-los.

Google Cloud console

Para criar um link para um conjunto de dados do BigQuery em um bucket de registros existente, 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 registros disponível mostra Abrir.

    Se essa coluna mostrar Fazer upgrade, o bucket de registros não foi atualizado para usar a Análise de dados de registros. Configure a Análise de dados de registros:

    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 é 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 Google Cloud projeto. Se você inserir o nome de um conjunto de dados que já existe, vai receber o seguinte erro: Dataset name must be unique in the selected region.

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

    Depois que o Logging mostrar o nome do conjunto de dados vinculado na página Armazenamento de registros, pode levar alguns minutos até 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 dados de registros, 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 seu projeto 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 Google Cloud projeto. Se você tentar criar um conjunto de dados com o mesmo nome de um já existente, vai 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 dados de registros, 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 que usa a Análise de dados de registros, 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. Construa 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 seu projeto 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 Google Cloud projeto. Se você tentar criar um conjunto de dados com o mesmo nome de um já existente, vai 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 dados de registros, o seguinte erro será informado:

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

Executar consultas do BigQuery

Quando você tem um bucket de registros que usa a Análise de dados de registros e conjuntos de dados vinculados, é possível consultar e visualizar esses conjuntos na página do BigQuery Studio. Com essa configuração, é possível analisar seus conjuntos de dados usando comandos, fluxos de trabalho e conjuntos de dados disponíveis apenas no BigQuery Studio.

Para abrir o BigQuery na Análise de dados de registros e consultar o conjunto de dados vinculado, faça o seguinte:

  1. Verifique se existe um conjunto de dados vinculado para o bucket de registros que hospeda a visualização de registros que você quer consultar:

    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 Conjunto de dados vinculado do BigQuery mostra um URL. Se a entrada estiver vazia, crie um conjunto de dados vinculado. Para informações sobre essas etapas, consulte Criar um conjunto de dados vinculado do BigQuery

  2. No console Google Cloud , acesse a página Análise de dados de registros:

    Acesse Análise de registros

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

  3. Na lista Visualizações de registros, encontre e selecione a visualização de registros.

  4. No painel Esquema, selecione Consulta.

    O painel Consulta é preenchido com uma consulta padrão. Você também pode inserir uma consulta no painel Consulta ou editar uma consulta exibida.

  5. Na barra de ferramentas, expanda o botão Executar consulta ou Executar no BigQuery e selecione Abrir no BigQuery.

    A página do BigQuery Studio é aberta. A instrução FROM da consulta é modificada para especificar o caminho da visualização de registros no conjunto de dados vinculado usando a sintaxe de caminho da tabela do BigQuery.

    Também é possível editar a consulta mostrada.

  6. Na página do BigQuery Studio, clique em Executar consulta.

Executar consultas de análise de dados de registros nos seus slots reservados do BigQuery

Para minimizar o tempo de execução das consultas da Análise de registros, execute-as nos seus slots reservados do BigQuery. A página Análise de registros é pré-configurada para usar o serviço padrão da Análise de registros, o que significa que suas consultas precisam competir por espaço limitado de slots com outras consultas. Quando não há slots disponíveis, a execução da consulta é adiada. Para eliminar esses atrasos, execute as consultas em slots reservados do BigQuery.

Para emitir uma consulta SQL em uma visualização de registros, faça o seguinte:

  1. Verifique se existe um conjunto de dados vinculado para o bucket de registros que hospeda a visualização de registros que você quer consultar:

    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 Conjunto de dados vinculado do BigQuery mostra um URL. Se a entrada estiver vazia, crie um conjunto de dados vinculado. Para informações sobre essas etapas, consulte Criar um conjunto de dados vinculado do BigQuery

  2. Verifique se você configurou os slots reservados do BigQuery:

    1. Criar uma reserva com slots dedicados
    2. Criar atribuições de reserva
  3. Configure a Análise de registros para executar suas consultas nos slots reservados do BigQuery:

    1. No console Google Cloud , acesse a página Análise de dados de registros:

      Acesse Análise de registros

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

    2. Na lista Visualizações de registros, encontre a visualização e selecione Consulta ou insira uma consulta.

      Se o painel de consulta mostrar uma mensagem de erro que faz referência à instrução FROM, a tabela não poderá ser resolvida em uma visualização de registros específica. Para saber como resolver essa falha, consulte Erro FROM clause must contain exactly one log view.

    3. Acesse a barra de ferramentas e verifique se um botão chamado Executar no BigQuery está sendo exibido.

      Se a barra de ferramentas mostrar Executar consulta, clique em Configurações e selecione BigQuery.

      Se o botão Executar no BigQuery estiver desativado, você precisará criar um conjunto de dados vinculado.

    4. Execute a consulta.

      Use as opções da barra de ferramentas para formatar, limpar e abrir a documentação de referência do SQL do BigQuery.

A seguir