Trabalhar com transferências

Depois de criar uma transferência usando o serviço de transferência de dados do BigQuery, é possível:

  • conseguir informações sobre uma configuração de transferência;
  • listar configurações de transferência;
  • ver o histórico de execução de uma transferência;
  • ver detalhes de execução de transferência, como mensagens de registro;
  • atualizar uma transferência;
  • configurar um preenchimento;
  • atualizar credenciais;
  • desativar uma transferência;
  • excluir uma transferência.

Ver informações sobre transferências

Depois de criar uma transferência, você pode conseguir informações sobre a configuração dela. A configuração inclui os valores que você forneceu quando criou a transferência.

Permissões necessárias

Para informações sobre uma transferência, as permissões bigquery.transfers.get são necessárias. Os seguintes papéis predefinidos do IAM incluem as permissões bigquery.transfers.get:

  • bigquery.admin
  • bigquery.user

Um usuário que tenha as permissões bigquery.transfers.get pode ver informações de todas as transferências em um projeto.

Para mais informações sobre papéis do IAM no serviço de transferência de dados do BigQuery, consulte Controle de acesso.

Ver informações sobre uma transferência

Para conseguir informações sobre uma configuração de transferência:

Console

  1. Acesse a página Transferências de dados.

    Vá para transferência de dados

  2. Selecione a transferência para conferir os detalhes.

  3. Para ver a configuração da transferência e os detalhes da fonte de dados, clique em Configuração na página Detalhes da transferência. Confira no exemplo a seguir as propriedades de configuração de uma transferência do Google Ads.

    Configuração da transferência no console

bq

Digite o comando bq show e insira o nome do recurso da configuração da transferência. A sinalização --format pode ser usada para controlar o formato da saída.

bq show \
--format=prettyjson \
--transfer_config resource_name

Em que:

Por exemplo, insira o comando a seguir para exibir a configuração da transferência para projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7.

bq show \
--format=prettyjson \
--transfer_config projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

API

Use o método projects.locations.transferConfigs.get e forneça a configuração da transferência por meio do parâmetro name.

Java

Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.

Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.GetTransferConfigRequest;
import com.google.cloud.bigquery.datatransfer.v1.TransferConfig;
import java.io.IOException;

// Sample to get config info.
public class GetTransferConfigInfo {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String configId = "MY_CONFIG_ID";
    // i.e projects/{project_id}/transferConfigs/{config_id}` or
    // `projects/{project_id}/locations/{location_id}/transferConfigs/{config_id}`
    getTransferConfigInfo(configId);
  }

  public static void getTransferConfigInfo(String configId) throws IOException {
    try (DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.create()) {
      GetTransferConfigRequest request =
          GetTransferConfigRequest.newBuilder().setName(configId).build();
      TransferConfig info = dataTransferServiceClient.getTransferConfig(request);
      System.out.print("Config info retrieved successfully." + info.getName() + "\n");
    } catch (ApiException ex) {
      System.out.print("config not found." + ex.toString());
    }
  }
}

listar configurações de transferência;

Permissões necessárias

Para listar todas as transferências ou configurações de transferência em um projeto, é necessária a permissão bigquery.transfers.get. Os seguintes papéis predefinidos do IAM incluem as permissões bigquery.transfers.get:

  • bigquery.admin
  • bigquery.user

Um usuário com as permissões bigquery.transfers.get pode listar todas as transferências em um projeto.

Para mais informações sobre papéis do IAM no serviço de transferência de dados do BigQuery, consulte Controle de acesso.

Listar transferências

Para listar as configurações de transferência em um projeto:

Console

  1. No console do Google Cloud, acesse a página do BigQuery.

    Acesse a página do BigQuery

  2. Clique em Transferências.

  3. Se houver configurações de transferência no projeto, uma lista delas será exibida na página Transferências.

bq

Para listar todas as configurações de transferência de um projeto por local, insira o comando bq ls e forneça as sinalizações --transfer_location e --transfer_config. Também é possível fornecer a sinalização --project_id para especificar um projeto determinado. Se --project_id não for especificado, o projeto padrão será usado. A sinalização --format pode ser usada para controlar o formato da saída.

Para listar configurações de transferência de fontes de dados específicas, forneça a sinalização --filter.

Para ver um número específico de configurações de transferência no formato paginado, forneça a sinalização --max_results para determinar o número de transferências. O comando retorna um token de página que você fornece usando a sinalização --page_token para ver as próximas N configurações. Há um limite de 1.000 configurações que serão retornadas se --max_results for omitido, e --max_results não aceitará valores maiores que 1.000. Se o projeto tiver mais de 1.000 configurações, use --max_results e --page_token para iterar todas elas.

bq ls \
--transfer_config \
--transfer_location=location \
--project_id=project_id \
--max_results=integer \
--filter=dataSourceIds:data_sources

Em que:

Exemplos:

Insira o comando a seguir para exibir todas as configurações de transferência nos EUA do projeto padrão. A saída é controlada com o uso da sinalização --format.

bq ls \
--format=prettyjson \
--transfer_config \
--transfer_location=us

Insira o comando a seguir para exibir todas as configurações de transferência nos EUA para o ID do projeto myproject.

bq ls \
--transfer_config \
--transfer_location=us \
--project_id=myproject

Insira o comando a seguir para listar as três configurações de transferência mais recentes.

bq ls \
--transfer_config \
--transfer_location=us \
--project_id=myproject \
--max_results=3

O comando retorna o token da próxima página. Copie o token da página e forneça-o no comando bq ls para ver os próximos três resultados.

bq ls \
--transfer_config \
--transfer_location=us \
--project_id=myproject \
--max_results=3 \
--page_token=AB1CdEfg_hIJKL

Insira o comando a seguir para listar as configurações de transferência do Ads e Campaign Manager para o ID do projeto myproject.

bq ls \
--transfer_config \
--transfer_location=us \
--project_id=myproject \
--filter=dataSourceIds:dcm_dt,adwords

API

Use o método projects.locations.transferConfigs.list e insira o ID do projeto por meio do parâmetro parent.

Java

Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.

Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.ListTransferConfigsRequest;
import com.google.cloud.bigquery.datatransfer.v1.ProjectName;
import java.io.IOException;

// Sample to get list of transfer config
public class ListTransferConfigs {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    final String projectId = "MY_PROJECT_ID";
    listTransferConfigs(projectId);
  }

  public static void listTransferConfigs(String projectId) throws IOException {
    try (DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.create()) {
      ProjectName parent = ProjectName.of(projectId);
      ListTransferConfigsRequest request =
          ListTransferConfigsRequest.newBuilder().setParent(parent.toString()).build();
      dataTransferServiceClient
          .listTransferConfigs(request)
          .iterateAll()
          .forEach(config -> System.out.print("Success! Config ID :" + config.getName() + "\n"));
    } catch (ApiException ex) {
      System.out.println("Config list not found due to error." + ex.toString());
    }
  }
}

Python

Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Python.

Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

from google.cloud import bigquery_datatransfer

transfer_client = bigquery_datatransfer.DataTransferServiceClient()

project_id = "my-project"
parent = transfer_client.common_project_path(project_id)

configs = transfer_client.list_transfer_configs(parent=parent)
print("Got the following configs:")
for config in configs:
    print(f"\tID: {config.name}, Schedule: {config.schedule}")

Visualizar o histórico de execução

À medida que as transferências programadas são executadas, um histórico de execução é mantido para cada configuração de transferência que inclui tanto execuções de transferência bem-sucedidas quanto que apresentam falha. As execuções de transferência com mais de 90 dias são excluídas automaticamente do histórico de execução.

Permissões necessárias

Para ver o histórico de execução de uma configuração de transferência, as permissões bigquery.transfers.get são necessárias. Os papéis predefinidos bigquery.user e bigquery.admin do IAM incluem permissões bigquery.transfers.get.

Para mais informações sobre papéis do IAM no serviço de transferência de dados do BigQuery, consulte Controle de acesso.

Visualizar um histórico de execução

Para ver o histórico de execução de uma configuração de transferência:

Console

  1. No console do Google Cloud, acesse a página do BigQuery.

    Acesse a página do BigQuery

  2. Clique em Transferências.

  3. Na página Transferências, clique em uma transferência apropriada na lista.

  4. Você estará na página EXECUTAR HISTÓRICO da transferência selecionada.

bq

Para listar as execuções de transferência de uma configuração específica, digite o comando bq ls e insira a sinalização --transfer_run. Também é possível inserir a sinalização --project_id para especificar um projeto determinado. Se resource_name não contiver informações do projeto, o valor --project_id será usado. Se --project_id não for especificado, o projeto padrão será usado. A sinalização --format pode ser usada para controlar o formato da saída.

Para visualizar um número específico de execuções de transferência, forneça a sinalização --max_results. O comando retorna um token de página que você fornece usando a sinalização --page_token para ver as próximas N configurações.

Para listar execuções de transferência com base no estado delas, forneça a sinalização --filter.

bq ls \
--transfer_run \
--max_results=integer \
--transfer_location=location \
--project_id=project_id \
--filter=states:state, ... \
resource_name

Em que:

  • integer é o número de resultados que serão retornados;
  • location é o local das configurações de transferência. O local é especificado quando você cria uma transferência;
  • project_id é o ID do projeto;
  • state, ... é uma das listas a seguir ou uma lista separada por vírgulas:
    • SUCCEEDED
    • FAILED
    • PENDING
    • RUNNING
    • CANCELLED
  • resource_name é o nome do recurso da transferência, também conhecido como configuração da transferência. Se você não souber o nome do recurso da transferência, encontre o nome do recurso com: bq ls --transfer_config --transfer_location=location.

Exemplos:

Insira o comando a seguir para exibir as três execuções mais recentes da configuração de transferência projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7. A saída é controlada com o uso da sinalização --format.

bq ls \
--format=prettyjson \
--transfer_run \
--max_results=3 \
--transfer_location=us \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

O comando retorna o token da próxima página. Copie o token da página e forneça-o no comando bq ls para ver os próximos três resultados.

bq ls \
--format=prettyjson \
--transfer_run \
--max_results=3 \
--page_token=AB1CdEfg_hIJKL \
--transfer_location=us \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

Insira o comando a seguir para exibir todas as execuções com falha na configuração de transferência projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7.

bq ls \
--format=prettyjson \
--transfer_run \
--filter=states:FAILED \
--transfer_location=us \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

API

Use o método projects.locations.transferConfigs.runs.list e especifique o ID do projeto por meio do parâmetro parent.

Java

Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.

Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.ListTransferRunsRequest;
import java.io.IOException;

// Sample to get run history from transfer config.
public class RunHistory {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String configId = "MY_CONFIG_ID";
    // i.e projects/{project_id}/transferConfigs/{config_id}` or
    // `projects/{project_id}/locations/{location_id}/transferConfigs/{config_id}`
    runHistory(configId);
  }

  public static void runHistory(String configId) throws IOException {
    try (DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.create()) {
      ListTransferRunsRequest request =
          ListTransferRunsRequest.newBuilder().setParent(configId).build();
      dataTransferServiceClient
          .listTransferRuns(request)
          .iterateAll()
          .forEach(run -> System.out.print("Success! Run ID :" + run.getName() + "\n"));
    } catch (ApiException ex) {
      System.out.println("Run history not found due to error." + ex.toString());
    }
  }
}

Visualizar detalhes da execução de transferências e mensagens de registros

Quando uma execução de transferência aparece no histórico de execução, você pode ver os detalhes de execução, incluindo mensagens de registro, advertências e erros, o nome da execução e a hora de início e término.

Permissões necessárias

Para ver os detalhes da execução da transferência, as permissões bigquery.transfers.get são necessárias. Os papéis predefinidos do IAM bigquery.user e bigquery.admin incluem as permissões bigquery.transfers.get.

Para mais informações sobre papéis do IAM no serviço de transferência de dados do BigQuery, consulte Controle de acesso.

Além disso, a visualização de mensagens de registro pelo console do Google Cloud requer permissões para visualizar os dados do Cloud Logging, o papel de visualizador de registros (roles/logging.viewer) concede acesso somente leitura a todos os recursos do Logging. Para mais informações sobre as permissões do IAM e os papéis que se aplicam aos dados de registros do Cloud, consulte o Guia de controle de acesso do Cloud Logging.

Visualizar detalhes de uma execução de transferência

Para ver detalhes da execução da transferência:

Console

  1. No console do Google Cloud, acesse a página do BigQuery.

    Acesse a página do BigQuery

  2. Clique em Transferências.

  3. Na página Transferências, clique em uma transferência apropriada na lista.

  4. Você estará na página EXECUTAR HISTÓRICO da transferência selecionada.

  5. Clique em uma execução individual da transferência, e o painel Detalhes da execução será aberto para essa execução da transferência.

  6. Em Detalhes da execução, observe se há mensagens de erro. Essas informações são necessárias para entrar em contato com o Cloud Customer Care. Os detalhes da execução também incluem mensagens de registro e avisos.

    Detalhes da execução no console

bq

Para ver os detalhes da execução de transferência, digite o comando bq show e insira o nome da execução da transferência usando a sinalização --transfer_run. A sinalização --format pode ser usada para controlar o formato da saída.

bq show \
--format=prettyjson \
--transfer_run run_name

Em que:

  • run_name é o nome da execução de transferência. Use o comando bq ls para recuperar o nome da execução.

Por exemplo:

Insira o comando a seguir para exibir os detalhes da execução de transferência projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g.

bq show \
--format=prettyjson \
--transfer_run \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g

Para ver as mensagens do registro de transferência de uma execução, insira o comando bq ls com a sinalização --transfer_log. Use a sinalização --message_type para filtrar mensagens de registro por tipo.

Para ver um determinado número de mensagens de registro, forneça a sinalização --max_results. O comando retorna um token de página que você fornece usando a sinalização --page_token para ver as próximas N mensagens.

bq ls \
--transfer_log \
--max_results=integer \
--message_type=messageTypes:message_type \
run_name

Em que:

  • integer é o número de mensagens de registro que serão retornadas;
  • message_type é o tipo de mensagem de registro para visualizar (um valor único ou uma lista separada por vírgulas):
    • INFO
    • WARNING
    • ERROR
  • run_name é o nome da execução de transferência. É possível recuperá-lo usando o comando bq ls.

Exemplos:

Insira o comando a seguir para visualizar as duas primeiras mensagens de registro da execução de transferência projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g.

bq ls \
--transfer_log \
--max_results=2 \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g

O comando retorna o token da próxima página. Copie o token da página e forneça-o no comando bq ls para ver os próximos dois resultados.

bq ls \
--transfer_log \
--max_results=2 \
--page_token=AB1CdEfg_hIJKL \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g

Insira o comando a seguir para visualizar somente mensagens de erro da execução de transferência projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g.

bq ls \
--transfer_log \
--message_type=messageTypes:ERROR \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7/runs/1a2b345c-0000-1234-5a67-89de1f12345g

API

Use o método projects.transferConfigs.runs.transferLogs.list e forneça o nome da execução de transferência por meio do parâmetro parent.

Java

Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.

Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.GetTransferRunRequest;
import com.google.cloud.bigquery.datatransfer.v1.TransferRun;
import java.io.IOException;

// Sample to get run details from transfer config.
public class RunDetails {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    // runId examples:
    // `projects/{project_id}/transferConfigs/{config_id}/runs/{run_id}` or
    // `projects/{project_id}/locations/{location_id}/transferConfigs/{config_id}/runs/{run_id}`
    String runId = "MY_RUN_ID";
    runDetails(runId);
  }

  public static void runDetails(String runId) throws IOException {
    try (DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.create()) {
      GetTransferRunRequest request = GetTransferRunRequest.newBuilder().setName(runId).build();
      TransferRun run = dataTransferServiceClient.getTransferRun(request);
      System.out.print("Run details retrieved successfully :" + run.getName() + "\n");
    } catch (ApiException ex) {
      System.out.print("Run details not found." + ex.toString());
    }
  }
}

Atualizar uma transferência

Depois de adicionar a transferência, você pode editá-la. É possível editar qualquer um dos campos preenchidos durante a criação da transferência, exceto Fonte:

  • conjunto de dados de destino
  • nome de exibição
  • qualquer um dos parâmetros especificados para o tipo de transferência específico
  • executar configurações de notificação

Permissões necessárias

Para atualizar uma transferência, as permissões bigquery.transfers.update são necessárias. O papel predefinido bigquery.admin do IAM inclui as permissões bigquery.transfers.update.

Para mais informações sobre papéis do IAM no serviço de transferência de dados do BigQuery, consulte Controle de acesso.

Atualizar uma transferência

Para atualizar uma transferência, siga estas etapas:

Console

  1. No console do Google Cloud, acesse a página do BigQuery.

    Acesse a página do BigQuery

  2. Clique em Transferências.

  3. Na página Transferências, clique em uma transferência apropriada na lista.

  4. Clique em EDITAR para atualizar a configuração da transferência.

bq

Digite o comando bq update, insira o nome do recurso da configuração de transferência por meio do flag --transfer_config e especifique os flags --display_name, --params, --refresh_window_days, --schedule ou --target_dataset.

bq update \
--display_name='NAME' \
--params='PARAMETERS' \
--refresh_window_days=INTEGER \
--schedule='SCHEDULE'
--target_dataset=DATASET_ID \
--transfer_config \
RESOURCE_NAME

Substitua:

  • NAME: o nome de exibição da configuração de transferência.
  • PARAMETERS: os parâmetros da configuração de transferência no formato JSON. Por exemplo, --params='{"param1":"param_value1"}'. Os parâmetros a seguir podem ser editados:
    • Campaign Manager: bucket e network_id
    • Google Ad Manager: bucket e network_code
    • Google Ads: customer_id
    • Google Merchant Center: merchant_id
    • Google Play: bucket e table_suffix
    • Consulta programada: destination_table_kms_key, destination_table_name_template, partitioning_field, partitioning_type, query e write_disposition
    • Search Ads 360: advertiser_id, agency_id, custom_floodlight_variables, include_removed_entities e table_filter
    • Canal do YouTube: table_suffix
    • Proprietário do conteúdo do YouTube: content_owner_id e table_suffix
  • INTEGER: um valor de 0 a 30. Para informações sobre como configurar a janela de atualização, consulte a documentação do seu tipo de transferência.
  • SCHEDULE: uma programação recorrente, como --schedule="every 3 hours". Para ver uma descrição da sintaxe schedule, consulte Como formatar o schedule.
  • DATASET_ID: o conjunto de dados de destino na configuração da transferência.
  • RESOURCE_NAME: o nome do recurso da transferência, também conhecido como configuração da transferência. Se você não souber o nome do recurso da transferência, encontre o nome do recurso com: bq ls --transfer_config --transfer_location=location.

Exemplos:

O comando a seguir atualiza o nome de exibição, o conjunto de dados de destino, a janela de atualização e os parâmetros para a transferência projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7 do Google Ads:

bq update \
--display_name='My changed transfer' \
--params='{"customer_id":"123-123-5678"}' \
--refresh_window_days=3 \
--target_dataset=mydataset2 \
--transfer_config \
 projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

O comando a seguir atualiza os parâmetros e a programação da transferência de consultas programadas projects/myproject/locations/us/transferConfigs/5678z567-5678-5z67-5yx9-56zy3c866vw9:

bq update \
--params='{"destination_table_name_template":"test", "write_disposition":"APPEND"}' \
--schedule="every 24 hours" \
--transfer_config \
projects/myproject/locations/us/transferConfigs/5678z567-5678-5z67-5yx9-56zy3c866vw9

API

Use o método projects.transferConfigs.patch e forneça o nome do recurso da transferência por meio do parâmetro transferConfig.name. Se você não souber o nome do recurso da transferência, encontre o nome do recurso com: bq ls --transfer_config --transfer_location=location. Também é possível chamar o método a seguir e fornecer o ID do projeto usando o parâmetro parent para listar todas as transferências: projects.locations.transferConfigs.list.

Java

Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.

Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.TransferConfig;
import com.google.cloud.bigquery.datatransfer.v1.UpdateTransferConfigRequest;
import com.google.protobuf.FieldMask;
import com.google.protobuf.util.FieldMaskUtil;
import java.io.IOException;

// Sample to update transfer config.
public class UpdateTransferConfig {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String configId = "MY_CONFIG_ID";
    TransferConfig transferConfig =
        TransferConfig.newBuilder()
            .setName(configId)
            .setDisplayName("UPDATED_DISPLAY_NAME")
            .build();
    FieldMask updateMask = FieldMaskUtil.fromString("display_name");
    updateTransferConfig(transferConfig, updateMask);
  }

  public static void updateTransferConfig(TransferConfig transferConfig, FieldMask updateMask)
      throws IOException {
    try (DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.create()) {
      UpdateTransferConfigRequest request =
          UpdateTransferConfigRequest.newBuilder()
              .setTransferConfig(transferConfig)
              .setUpdateMask(updateMask)
              .build();
      TransferConfig updateConfig = dataTransferServiceClient.updateTransferConfig(request);
      System.out.println("Transfer config updated successfully :" + updateConfig.getDisplayName());
    } catch (ApiException ex) {
      System.out.print("Transfer config was not updated." + ex.toString());
    }
  }
}

Python

Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Python.

Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

from google.cloud import bigquery_datatransfer
from google.protobuf import field_mask_pb2

transfer_client = bigquery_datatransfer.DataTransferServiceClient()

transfer_config_name = "projects/1234/locations/us/transferConfigs/abcd"
new_display_name = "My Transfer Config"

transfer_config = bigquery_datatransfer.TransferConfig(name=transfer_config_name)
transfer_config.display_name = new_display_name

transfer_config = transfer_client.update_transfer_config(
    {
        "transfer_config": transfer_config,
        "update_mask": field_mask_pb2.FieldMask(paths=["display_name"]),
    }
)

print(f"Updated config: '{transfer_config.name}'")
print(f"New display name: '{transfer_config.display_name}'")

Configurar preenchimentos e atualizar execuções

Atualizar

Os preenchimentos não estão disponíveis para esses tipos de transferência. No entanto, é possível configurar uma atualização.

Preenchimento

É possível iniciar os preenchimentos de dados manualmente a qualquer momento. Além dos limites de origem, o serviço de transferência de dados do BigQuery aceita até 180 dias por solicitação de preenchimento. As solicitações simultâneas de preenchimento não são compatíveis.

Para informações sobre a quantidade de dados disponíveis para preenchimento, consulte a documentação da fonte de dados:

Aplicativos de software como serviço (SaaS) do Google:
  • Campaign Manager
  • Google Ad Manager
  • Google Ads (antigo AdWords)
    • Quando você configura um preenchimento do Google Ads, os snapshots das tabelas de correspondência são criados uma vez por dia e armazenados na partição da última data de execução. Quando você programa um preenchimento, os snapshots da tabela de correspondências das tabelas a seguir NÃO são atualizados:
      • Ad
      • AdGroup
      • AgeRange
      • Audience
      • BidGoal
      • Budget
      • Campaign
      • Criteria
      • Customer
      • Gender
      • Keyword
      • LocationBasedCampaignCriterion
      • ParentalStatus
      • Placement
      • Vídeo
  • Google Merchant Center
  • Google Play
  • Search Ads 360
    • Quando você configura um preenchimento do Search Ads 360, os snapshots das tabelas de correspondência são criados uma vez por dia e armazenados na partição da última data de execução. Quando você programa um preenchimento, os snapshots da tabela de correspondências das tabelas a seguir NÃO são atualizados:
      • Account
      • Ad
      • Advertiser
      • AdGroup
      • AdGroupTarget
      • BidStrategy
      • Campaign
      • CampaignTarget
      • FeedItem
      • FloodlightActivity
      • Keyword
      • NegativeAdGroupKeyword
      • NegativeAdGroupTarget
      • NegativeCampaignKeyword
      • NegativeCampaignTarget
      • ProductAdvertised
      • ProductGroup
      • ProductLeadAndCrossSellFloodlightStats
      • Video
      • Placement
      • Vídeo
  • Canal do YouTube
  • Proprietário do conteúdo no YouTube
Operações do BigQuery: Provedores de armazenamento em nuvem externos: Data warehouses:

Permissões necessárias

Para programar um preenchimento, as permissões bigquery.transfers.update são necessárias. O papel predefinido bigquery.admin do IAM inclui as permissões bigquery.transfers.update.

Para mais informações sobre papéis do IAM no serviço de transferência de dados do BigQuery, consulte Controle de acesso.

Programar um preenchimento

Para programar um preenchimento:

Console

  1. No console do Google Cloud, acesse a página do BigQuery.

    Acesse a página do BigQuery

  2. Clique em Transferências.

  3. Na página Transferências, clique em uma transferência apropriada na lista.

  4. Clique no menu MAIS e selecione Programar preenchimento.

  5. Na caixa de diálogo Programar preenchimento, escolha a Data de início e a Data de término.

    Definir datas de atualização

bq

Digite o comando bq mk, insira a sinalização --transfer_run e especifique --start_time e --end_time.

bq mk \
--transfer_run \
--start_time='start_time' \
--end_time='end_time' \
resource_name

Em que:

  • start_time e end_time são carimbos de data/hora que terminam em Z ou contêm uma diferença de fuso horário válida. Exemplo:

    • 2017-08-19T12:11:35.00Z
    • 2017-05-25T00:00:00+00:00
  • resource_name é o nome do recurso da transferência, também conhecido como configuração da transferência. Se você não souber o nome do recurso da transferência, encontre o nome do recurso com: bq ls --transfer_config --transfer_location=location.

Exemplos:

Insira o comando a seguir para programar um preenchimento da configuração de transferência projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7.

bq mk \
--transfer_run \
--start_time 2017-05-25T00:00:00Z \
--end_time 2017-05-25T00:00:00Z \
projects/myproject/locations/us/transferConfigs/1234a123-1234-1a23-1be9-12ab3c456de7

API

Use o método projects.locations.transferConfigs.startManualRuns e forneça o recurso de configuração de transferência por meio do parâmetro parent.

Java

Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Java.

Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.ScheduleTransferRunsRequest;
import com.google.cloud.bigquery.datatransfer.v1.ScheduleTransferRunsResponse;
import com.google.protobuf.Timestamp;
import java.io.IOException;
import org.threeten.bp.Clock;
import org.threeten.bp.Instant;
import org.threeten.bp.temporal.ChronoUnit;

// Sample to run schedule back fill for transfer config
public class ScheduleBackFill {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String configId = "MY_CONFIG_ID";
    Clock clock = Clock.systemDefaultZone();
    Instant instant = clock.instant();
    Timestamp startTime =
        Timestamp.newBuilder()
            .setSeconds(instant.minus(5, ChronoUnit.DAYS).getEpochSecond())
            .setNanos(instant.minus(5, ChronoUnit.DAYS).getNano())
            .build();
    Timestamp endTime =
        Timestamp.newBuilder()
            .setSeconds(instant.minus(2, ChronoUnit.DAYS).getEpochSecond())
            .setNanos(instant.minus(2, ChronoUnit.DAYS).getNano())
            .build();
    scheduleBackFill(configId, startTime, endTime);
  }

  public static void scheduleBackFill(String configId, Timestamp startTime, Timestamp endTime)
      throws IOException {
    try (DataTransferServiceClient client = DataTransferServiceClient.create()) {
      ScheduleTransferRunsRequest request =
          ScheduleTransferRunsRequest.newBuilder()
              .setParent(configId)
              .setStartTime(startTime)
              .setEndTime(endTime)
              .build();
      ScheduleTransferRunsResponse response = client.scheduleTransferRuns(request);
      System.out.println("Schedule backfill run successfully :" + response.getRunsCount());
    } catch (ApiException ex) {
      System.out.print("Schedule backfill was not run." + ex.toString());
    }
  }
}

Python

Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido do BigQuery: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API BigQuery em Python.

Para autenticar no BigQuery, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.