Configure exportações

Esta página explica como exportar rastreios através da Cloud Trace API e da CLI gcloud. Tem de usar a versão 274.0.0 ou posterior da CLI Google Cloud. Para obter informações sobre como atualizar a CLI do Google Cloud, consulte o artigo gcloud components update .

Alguns exemplos nesta página foram gerados através de curl. Para ver informações sobre a configuração desta ferramenta, consulte o artigo Usar o curl.

Para ver um exemplo que ilustra a utilização dos comandos da CLI Google Cloud para listar, criar, descrever, atualizar e eliminar um destino, consulte o exemplo completo.

Terminologia

Para simplificar os exemplos nesta página, foram usadas variáveis de ambiente.

Os exemplos da CLI do Google Cloud usam as seguintes variáveis de ambiente:

  • SINK_ID: o nome ou o identificador do destino. Por exemplo, my-sink. Não tem de fornecer o comando totalmente qualificado à CLI do Google Cloud, uma vez que esta consegue determinar o seu Google Cloud projeto.
  • DESTINATION: armazena o nome totalmente qualificado do destino. Tem de ser um conjunto de dados do BigQuery. Por exemplo, um destino válido é:

    bigquery.googleapis.com/projects/DESTINATION_PROJECT_NUMBER/datasets/DATASET_ID
    

    onde DESTINATION_PROJECT_NUMBER é o Google Cloud número do projeto de destino e DATASET_ID é o identificador do conjunto de dados do BigQuery.

Os exemplos de curl usam as seguintes variáveis de ambiente:

  • ACCESS_TOKEN: armazena o token de autorização. Para mais informações, consulte o artigo Usar o curl.
  • PROJECT_ID: armazena o identificador do projeto ou o número do projeto. Google Cloud
  • PROJECT_NUMBER: armazena o Google Cloud número do projeto.
  • SINK_ID: o nome ou o identificador do destino. Por exemplo, my-sink.
  • SINK_BODY: armazena a descrição de um recurso de TraceSink. O recurso TraceSink inclui um nome e o destino do coletor. O nome tem de especificar o Google Cloud númerodo projeto.
  • DESTINATION: armazena o nome totalmente qualificado do destino. Tem de ser um conjunto de dados do BigQuery.

Configurar o destino

Para exportar rastreios para o BigQuery, faça o seguinte:

  1. Crie o conjunto de dados de destino.

  2. Crie o destino através da API Cloud Trace ou da Google Cloud CLI. Para ver detalhes, consulte o artigo Criar um destino.

  3. Conceda à origem a função de dataEditor para o seu conjunto de dados do BigQuery:

    1. Obtenha a identidade do escritor a partir do destino. Para obter informações sobre a identidade do autor, consulte o artigo Propriedades e terminologia do Sink.

      A identidade do escritor de um destino está incluída nos dados de resposta ao comando de criação. Também está incluído nos dados de resposta do comando list.

    2. Adicione a identidade de gravação do destino como uma conta de serviço ao seu conjunto de dados do BigQuery e atribua-lhe a função de editor de dados do BigQuery.

      • Para adicionar as autorizações através da Google Cloud consola, consulte o artigo Controlar o acesso a um conjunto de dados.

      • Para adicionar as autorizações através da CLI Google Cloud, use o comando add-iam-policy-binding e indique o seu Google Cloud identificador do projeto e a identidade do escritor do destino:

        gcloud projects add-iam-policy-binding ${DESTINATION_PROJECT_ID} \
          --member serviceAccount:${WRITER_IDENTITY} \
          --role roles/bigquery.dataEditor
        

        No comando anterior, WRITER_IDENTITY é uma variável de ambiente que armazena a identidade do escritor do destino e DESTINATION_PROJECT_ID é o Google Cloud identificador do projeto do conjunto de dados do BigQuery.

Sinks de registo

Para listar todos os destinos no seu Google Cloud projeto, incluindo as respetivas identidades de gravação, invoque o método traceSinks.list.

gcloud

Para listar os destinos definidos com o projeto predefinido através da CLI do Google Cloud, execute o seguinte comando:

gcloud alpha trace sinks list

Protocolo

Para listar os destinos usando curl, envie um pedido GET para:

https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks

Por exemplo, o seguinte pedido obtém todos os destinos:

curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}"  https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks

Mostrar detalhes de um ponto de drenagem específico

Para mostrar os detalhes de um destino específico que se encontra no seu projeto, invoque o método traceSinks.get. Google Cloud

gcloud

Para apresentar os detalhes do destino cujo identificador está armazenado em SINK_ID através da CLI do Google Cloud, execute o seguinte comando:

gcloud alpha trace sinks describe ${SINK_ID}

Protocolo

Para apresentar os detalhes do destino cujo identificador está armazenado em SINK_ID através de curl, envie um pedido GET para:

https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/%{SINK_ID}

Por exemplo, o pedido seguinte obtém os detalhes do destino especificado:

curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}"  https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}

Criar um destino

Para criar um destino no seu Google Cloud projeto, invoque o método traceSinks.create. O destino de um sink tem de ser um conjunto de dados do BigQuery.

Este conjunto de dados tem de existir antes de criar o destino. O comando Trace não verifica a existência do destino. Consulte o artigo Criar conjuntos de dados para obter informações sobre a criação de conjuntos de dados do BigQuery.

gcloud

Para criar um destino através da CLI Google Cloud, execute o seguinte comando:

gcloud alpha trace sinks create ${SINK_ID} ${DESTINATION}

Protocolo

Para criar um destino através do curl, envie um pedido POST para:

https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks

Por exemplo, para criar um destino denominado test_sink para exportar intervalos de rastreio para test_dataset no projeto com ${PROJECT_NUMBER}, defina a variável de ambiente SINK_BODY conforme mostrado:

SINK_BODY='{"name":"projects/12345/traceSinks/test_sink","output_config":{"destination":"bigquery.googleapis.com/projects/12345/datasets/test_dataset"}}'

Para criar o destino, execute o seguinte comando:

curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}"  --header "Content-Type: application/json"  -X POST -d ${SINK_BODY} https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks

Pode demorar vários minutos após a criação de um coletor antes de os intervalos de rastreio serem exportados para o destino.

Eliminar um lavatório

Para eliminar um coletor que esteja no seu Google Cloud projeto, invoque o comando traceSinks.delete.

gcloud

Para eliminar o destino cujo identificador está armazenado em SINK_ID através da CLI do Google Cloud, execute o seguinte comando:

gcloud alpha trace sinks delete ${SINK_ID}

Protocolo

Para eliminar o destino cujo identificador está armazenado em SINK_ID através de curl, envie um pedido DELETE para:

https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}

Por exemplo, o pedido seguinte elimina um destino:

curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}"  -X DELETE https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}

Atualizar um destino

Para atualizar um destino que está no seu Google Cloud projeto, invoque o comando traceSinks.patch.

Este conjunto de dados tem de existir antes de criar o destino. O comando Trace não verifica a existência do destino.

gcloud

Para atualizar o destino cujo identificador está armazenado em SINK_ID através da CLI do Google Cloud, execute o seguinte comando:

gcloud alpha trace sinks update ${SINK_ID} ${DESTINATION}

A variável de ambiente DESTINATION armazena o novo destino do recetor.

Protocolo

Para atualizar o destino do ponto de recolha cujo identificador está armazenado em SINK_ID através de curl, envie um pedido PATCH para:

https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}

Por exemplo, o pedido seguinte atualiza o destino de um coletor:

curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}"  --header "Content-Type: application/json"  -X PATCH -d ${SINK_BODY} https://cloudtrace.googleapis.com/v2beta1/projects/${PROJECT_NUMBER}/traceSinks/${SINK_ID}?update_mask=output_config.destination

Para ver um exemplo de um SINK_BODY, consulte o exemplo para criar um destino.

Depois de atualizar um destino, pode demorar vários minutos até que os intervalos de rastreio sejam exportados para o novo destino.

Exemplo ponto a ponto

Esta secção ilustra a utilização dos comandos da CLI do Google Cloud para listar, criar, descrever, atualizar e eliminar um destino. Os comandos foram executados para um projeto com o identificador do projeto a-sample-project. Este projeto foi pré-configurado para conter 2 conjuntos de dados do BigQuery. Por último, nestes exemplos, o destino e o destino estão no mesmo projeto. Isto não é um requisito. A origem e o destino podem estar emGoogle Cloud projetos diferentes.

Passos da configuração

  1. Valide a predefinição do projeto:

    $ gcloud config list
    

    Exemplo de resposta:

    [compute]
    zone = us-east1-b
    [core]
    account = user@example.com
    disable_usage_reporting = True
    project = a-sample-project
    
    Your active configuration is: [default]
    
  2. Verifique se a CLI do Google Cloud é, pelo menos, a versão 274.0.0:

    $ gcloud --version
    

    Exemplo de resposta:

    Google Cloud SDK 275.0.0
    alpha 2020.01.03
    beta 2020.01.03
    bq 2.0.51
    core 2020.01.03
    gsutil 4.46
    kubectl 2020.01.03
    
  3. Identifique os conjuntos de dados disponíveis no projeto predefinido:

    $ bq ls
    

    Exemplo de resposta:

        datasetId
     ---------------
      dataset_1
      dataset_other
    

    Tenha em atenção que, da primeira vez que usar comandos bq, pode ter de selecionar o projeto.

Configure as variáveis de ambiente

  1. Defina as variáveis de ambiente usadas pelo comando da CLI gcloud:

    $ PROJECT_ID=a-sample-project
    $ PROJECT_NUMBER=123456789000
    $ SINK_ID=a-sample-sink
    $ DATA_SET_NAME=dataset_1
    $ DESTINATION=bigquery.googleapis.com/projects/${PROJECT_NUMBER}/datasets/${DATA_SET_NAME}
    

    Neste exemplo, o destino e o ponto de recolha estão no mesmo projeto. Isto não é um requisito. A origem e o destino podem estar emGoogle Cloud projetos diferentes.

  2. Verifique as definições:

    $ echo $SINK_ID
    a-sample-sink
    $ echo $DATA_SET_NAME
    dataset_1
    $ echo $DESTINATION
    bigquery.googleapis.com/projects/123456789000/datasets/dataset_1
    

Listar sinks

Para apresentar uma lista de todos os destinos, execute o seguinte comando:

$ gcloud alpha trace sinks list

Uma vez que este projeto não tem nenhum destino, a resposta é:

Listed 0 items.

Crie um lavatório

  1. Para criar um destino, execute o seguinte comando:

    $ gcloud alpha trace sinks create ${SINK_ID} ${DESTINATION}
    

    Exemplo de resposta:

    You can give permission to the service account by running the following command.
    gcloud projects add-iam-policy-binding bigquery-project \
    --member serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com \
    --role roles/bigquery.dataEditor
    

    Repare que o nome da conta de serviço inclui export-0000001cbe991a08-3434. O número 0000001cbe991a08 é a representação hexadecimal do PROJECT_NUMBER. O valor 3434 é um valor aleatório.

    Antes de executar o Google Cloud CLI na resposta anterior, tem de substituir bigquery-project pelo identificador do seu projeto.

  2. Verifique se o destino foi criado:

    $ gcloud alpha trace sinks list
    

    Exemplo de resposta:

    NAME           DESTINATION                                                       WRITER_IDENTITY
    a-sample-sink  bigquery.googleapis.com/projects/123456789000/datasets/dataset_1  export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
    
  3. Descreva o lavatório detalhadamente:

    $ gcloud alpha trace sinks describe ${SINK_ID}
    

    Exemplo de resposta:

    destination: bigquery.googleapis.com/projects/123456789000/datasets/dataset_1
    name: a-sample-sink
    writer_identity: export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
    
  4. Conceda a autorização bigquery.dataEditor à identidade de gravação do destino. O comando de criação do destino devolve um comando da CLI do Google Cloud que pode usar para atualizar a autorização.

    Para que este comando seja bem-sucedido, faça o seguinte:

    • Certifique-se de que tem autorização para modificar as autorizações de destino.
    • Substitua bigquery-project pelo identificador do seu projeto:
    gcloud projects add-iam-policy-binding ${PROJECT_ID} --member serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com --role roles/bigquery.dataEditor
    

    Tenha em atenção que a primeira entrada nesta resposta de exemplo é a identidade do escritor do destino:

    Updated IAM policy for project [a-sample-project].
    bindings:
    - members:
      - serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
      role: roles/bigquery.dataEditor
    - members:
      - user:user@example.com
      role: roles/cloudtrace.admin
    - members:
      - serviceAccount:service-123456789000@compute-system.iam.gserviceaccount.com
      role: roles/compute.serviceAgent
    - members:
      - serviceAccount:service-123456789000@container-engine-robot.iam.gserviceaccount.com
      role: roles/container.serviceAgent
    - members:
      - serviceAccount:service-123456789000@container-analysis.iam.gserviceaccount.com
      role: roles/containeranalysis.ServiceAgent
    - members:
      - serviceAccount:service-123456789000@containerregistry.iam.gserviceaccount.com
      role: roles/containerregistry.ServiceAgent
    - members:
      - serviceAccount:123456789000-compute@developer.gserviceaccount.com
      - serviceAccount:123456789000@cloudservices.gserviceaccount.com
      role: roles/editor
    - members:
      - user:user@example.com
      role: roles/owner
    etag: BwWbqGVnShQ=
    version: 1

Altere o destino da sincronização

Neste exemplo, o destino é alterado de dataset_1 para dataset_other:

  1. Atualize as variáveis de ambiente DATA_SET_NAME e DESTINATION:

    $ DATA_SET_NAME=dataset_other
    $ DESTINATION=bigquery.googleapis.com/projects/${PROJECT_NUMBER}/datasets/${DATA_SET_NAME}
    $ echo ${DESTINATION}
    bigquery.googleapis.com/projects/123456789000/datasets/dataset_other
    

    Certifique-se de que atualiza o valor de DESTINATION depois de modificar o DATA_SET_NAME ou o PROJECT_NUMBER.

  2. Altere o destino do ponto de recolha:

    $ gcloud alpha trace sinks update ${SINK_ID} ${DESTINATION}
    

    Um exemplo de resultado é:

    Updated [https://cloudtrace.googleapis.com/v2beta1/projects/123456789000/traceSinks/a-sample-sink].
    destination: bigquery.googleapis.com/projects/123456789000/datasets/dataset_other
    name: a-sample-sink
    writer_identity: export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
    

    Execute o comando describe para ver os detalhes do destino:

    $ gcloud alpha trace sinks describe ${SINK_ID}
    destination: bigquery.googleapis.com/projects/123456789000/datasets/dataset_other
    name: a-sample-sink
    writer_identity: export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
    

    Quando atualiza o destino de um coletor, não altera a identidade do escritor do coletor e, por isso, não precisa de atualizar as autorizações do coletor.

Elimine um lavatório

Para eliminar um destino, execute o seguinte comando:

$ gcloud alpha trace sinks delete ${SINK_ID}

A saída de exemplo é:

Really delete sink [a-sample-sink]?

Do you want to continue (y/N)? y

Deleted [https://cloudtrace.googleapis.com/v2beta1/projects/123456789000/traceSinks/a-sample-sink].

Pode verificar o resultado executando o comando list:

$ gcloud alpha trace sinks list
Listed 0 items.

Validação

Pode usar a métrica exported_span_count do Cloud Monitoring como base para um gráfico que apresenta os erros quando os dados do Trace são exportados para o BigQuery. Também pode criar uma política de alertas para receber uma notificação se ocorrerem erros de exportação.

Criar um gráfico

Para ver as métricas de um recurso monitorizado através do Metrics Explorer, faça o seguinte:

  1. Na Google Cloud consola, aceda à página  Explorador de métricas:

    Aceda ao Metrics Explorer

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.

  2. Na barra de ferramentas da Google Cloud consola, selecione o seu Google Cloud projeto. Para configurações do App Hub, selecione o projeto anfitrião do App Hub ou o projeto de gestão da pasta com apps ativadas.
  3. No elemento Métrica, expanda o menu Selecionar uma métrica, introduza Spans Exported to BigQuery na barra de filtro e, de seguida, use os submenus para selecionar um tipo de recurso e uma métrica específicos:
    1. No menu Recursos ativos, selecione Cloud Trace.
    2. No menu Categorias de métricas ativas, selecione Bigquery_export.
    3. No menu Métricas ativas, selecione Intervalos exportados para o BigQuery.
    4. Clique em Aplicar.
  4. Configure a forma como os dados são vistos.
    1. Deixe o elemento Filter vazio. Com esta escolha, o gráfico apresenta todos os dados de estado.
    2. No elemento Agregação, defina o primeiro menu como Média e o segundo menu como status.

      Estas seleções resultam numa única série cronológica para cada valor de estado único. A tabela seguinte apresenta os valores de estado possíveis:

      Valor do estadoSignificado e ação corretiva
      ok A transferência de dados foi efetuada com êxito.
      bigquery_permission_denied A exportação de dados para o destino falhou. A exportação pode falhar por qualquer um dos seguintes motivos:
      • A conta de serviço no destino de registo de rastreio não tem autorização para escrever no conjunto de dados de destino. Consulte Autorização recusada.
      • O destino do conjunto de dados no ponto de recolha não existe. Consulte o artigo Destino inválido.
      • Erros internos do BigQuery. Este é um erro inesperado e temporário.
      bigquery_quota_exceeded O projeto do BigQuery excedeu a respetiva quota de streaming do BigQuery. Consulte a secção Quota esgotada.
      invalid_span
      internal_errors

      invalid_destination
      Erro desconhecido que impede a exportação de dados para o BigQuery. Para resolver esta condição, contacte o apoio técnico ou faça uma pergunta no Stack Overflow. Para mais informações, consulte Obter apoio técnico.

    Para mais informações sobre como configurar um gráfico, consulte o artigo Selecione métricas quando usar o explorador de métricas.

Se o seu destino de registo de rastreio estiver a exportar dados com êxito, o gráfico criado com as definições anteriores apresenta uma única série cronológica com o valor de estado de ok. Se ocorrerem erros durante a exportação, são apresentadas mais séries cronológicas no gráfico.

Criar uma política de alerta

Para criar uma política de alertas que é acionada se existirem erros ao exportar dados do Cloud Trace para o BigQuery, use as seguintes definições.

Nova condição
Campo

Valor
Recurso e métrica No menu Recursos, selecione Cloud Trace.
No menu Categorias de métricas, selecione Bigquery_export.
No menu Métricas, selecione Intervalos exportados para o BigQuery.
Filtro status != ok
Em intervalos temporais
Agrupamento de intervalos temporais
status
Em intervalos temporais
Agregação de intervalos temporais
sum
Janela de rolagem 1 m
Função de período contínuo rate
Configure o acionador de alerta
Campo

Valor
Tipo de condição Threshold
Acionador de alertas Any time series violates
Posição do limite Above threshold
Valor do limite 0
Período de novo teste 1 minute

Usar curl

Esta secção descreve as convenções e a configuração usadas para invocar a API Cloud Trace através da ferramenta curl:

Autenticação

  1. Crie uma variável de ambiente para guardar o identificador do Google Cloud projeto:

    PROJECT_ID=my-project
    
  2. Crie uma variável de ambiente para guardar o número do Google Cloud projeto:

    PROJECT_NUMBER=12345
    
  3. Autentique a CLI do Google Cloud:

    gcloud auth login
    
  4. Defina o identificador do projeto Google Cloud predefinido:

    gcloud config set project ${PROJECT_ID}
    
  5. Crie um token de autorização e guarde-o numa variável de ambiente:

    ACCESS_TOKEN=`gcloud auth print-access-token`
    
  6. Valide o token de acesso:

    echo ${ACCESS_TOKEN}
    

    A resposta ao comando deve ser uma string longa de carateres. Por exemplo, num sistema, a resposta começa da seguinte forma:

    y29.GluiBjo....
    

A invocar curl

Cada comando curl inclui um conjunto de argumentos, seguido do URL de um recurso da API Cloud Trace. Os argumentos comuns incluem valores especificados pelas variáveis de ambiente PROJECT_ID e ACCESS_TOKEN.

Cada invocação curl tem o seguinte formato geral:

curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" [OTHER_ARGS]
https://cloudtrace.googleapis.com/[API_VERSION]/projects/${PROJECT_ID}/[RESOURCE]

where:

  • [OTHER_ARGS] (Opcional): omita este campo se estiver a emitir um pedido GET. Para outros tipos de pedidos HTTP, substitua este marcador de posição pelo tipo de pedido e quaisquer dados adicionais necessários para satisfazer o pedido.
  • [API_VERSION]: especifique a versão da API.
  • [RESOURCE]: Especifique o nome do recurso da Cloud Trace API.

Por exemplo, para listar os 1000 rastreios mais recentes no seu projeto, execute o seguinte:

curl --http1.1 --header "Authorization: Bearer ${ACCESS_TOKEN}" https://cloudtrace.googleapis.com/v1/projects/${PROJECT_ID}/traces

Resolução de problemas

Esta secção contém informações de resolução de problemas que podem ajudar a resolver falhas ao configurar uma exportação.

Erro de argumento inválido para o conjunto de dados

A seguinte mensagem de erro indica que o nome do conjunto de dados é inválido:

ERROR: (gcloud.alpha.trace.sinks.create) INVALID_ARGUMENT: Request contains an invalid argument.
- '@type': type.googleapis.com/google.rpc.DebugInfo
  detail: '[ORIGINAL ERROR] generic::invalid_argument: sink destination is malformed:
    bigquery.googleapis.com/projects/123456789000/datasets/a-sample-project:dataset_1.

O erro é causado pelo facto de o destino incluir o Google Cloud identificador do projetoa-sample-project como um qualificador do nome do conjunto de dados.

Para resolver este erro, substitua a-sample-project:dataset_1 por dataset_1 e, em seguida, emita o comando create.

Tenha em atenção que pode listar os seus conjuntos de dados com o comando bq ls.

Não estão a ser recebidos dados de rastreio

Existem vários motivos pelos quais pode não receber dados de rastreio no BigQuery.

Destino inválido

Verifique se o nome do conjunto de dados e o número do projeto estão corretos.

  • Para verificar se o nome do conjunto de dados está correto. Para listar os conjuntos de dados no seu projeto atual, execute bq ls.

    Se optou por usar variáveis de ambiente, verifique se o valor de cada variável está correto emitindo um comando echo. Por exemplo, verifique se o destino está correto:

    $ echo ${DESTINATION}
    bigquery.googleapis.com/projects/123456789000/datasets/dataset_other
    

    Uma vez que DESTINATION depende do valor de PROJECT_NUMBER e DATA_SET_NAME, estas duas variáveis têm de ser definidas primeiro. Além disso, se modificar qualquer uma destas duas variáveis, tem de atualizar o valor armazenado em DESTINATION.

  • Para determinar o número de projetos atual, execute o seguinte:

    gcloud projects list --filter="${PROJECT_ID}"
    

    Pode definir o PROJECT_NUMBER programaticamente através do seguinte comando:

    $ PROJECT_NUMBER=`gcloud projects list --filter="${PROJECT_ID}" --format="value(PROJECT_NUMBER)"`
    

Autorizações inválidas

Confirme que à conta de serviço foi atribuída a função de DataEditor para o BigQuery. Pode validar as autorizações executando o seguinte comando:

$ gcloud projects get-iam-policy ${PROJECT_ID}

A resposta deste comando descreve todas as associações da IAM. Neste caso, o resultado é o apresentado. Tenha em atenção que a identidade do autor do destino tem a função de dataEditor:

bindings:
- members:
  - serviceAccount:export-0000001cbe991a08-3434@gcp-sa-cloud-trace.iam.gserviceaccount.com
  role: roles/bigquery.dataEditor
- members:
  [Note, content truncated]

Quota esgotada

Se tem recebido dados e estes pararem subitamente ou estiverem incompletos, pode estar a esgotar a sua quota de streaming do BigQuery. Para ver a sua quota, aceda à página IAM e administrador e selecione Quotas. Pesquise a API BigQuery. Existem duas entradas relevantes: Streaming rows per minute per resource, Streaming bytes per minute per resource.

Aceder a Quotas

O que se segue?

Para ver informações sobre o esquema do BigQuery, consulte o artigo Exporte para o BigQuery.