Programar uma transferência do Comparison Shopping Service Center

Neste documento, mostramos como programar e gerenciar jobs de carregamento recorrentes para dados de relatórios do CSS Center usando o serviço de transferência de dados do BigQuery.

Antes de começar

Antes de criar uma transferência do CSS Center:

  • Ative o serviço de transferência de dados do BigQuery.
  • Crie um conjunto de dados do BigQuery para armazenar os dados do CSS Center.
    • Para a região do conjunto de dados, é possível usar a opção padrão, multirregional, nos EUA ou na UE.
    • Se você quiser criar um conjunto de dados em uma região específica, a transferência de dados do CSS Center só será aceita nas seguintes regiões:
    • us-east4 (Northern Virginia),
    • asia-northeast1 (Tokyo),
    • asia-southeast1 (Singapore),
    • australia-southeast1 (Sydney),
    • europe-north1 (Findland),
    • europe-west2 (London),
    • europe-west6 (Zurich)
  • Você precisa ter o ID do domínio do CSS para criar uma transferência do CSS Center.
  • Se você pretende configurar notificações de execução de transferência do Pub/Sub, é preciso ter permissões pubsub.topics.setIamPolicy. As permissões do Pub/Sub não serão necessárias caso você configure notificações por e-mail. Para mais informações, consulte Notificações de execução do serviço de transferência de dados do BigQuery.

Permissões necessárias

Verifique se o usuário que está criando a transferência tem as seguintes permissões necessárias:

Para o BigQuery:

Para receber as permissões necessárias para criar uma transferência, peça ao administrador para conceder a você o papel do IAM Administrador do BigQuery (roles/bigquery.admin). Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Esse papel predefinido contém as permissões necessárias para criar uma transferência. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para criar uma transferência:

  • bigquery.transfers.update no usuário
  • bigquery.datasets.get no conjunto de dados de destino
  • bigquery.datasets.update no conjunto de dados de destino

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Para o CSS Center:

Você precisa ter acesso à conta do CSS Center usada na configuração da transferência.

Configurar uma transferência do CSS Center

Para criar uma transferência de dados para relatórios do CSS Center:

Console

  1. Acesse a página do BigQuery no console do Google Cloud.

    Acesse a página do BigQuery

  2. Clique em Transferências.

  3. Clique em Criar transferência.

  4. Na página Criar transferência, siga estas instruções:

    • Na seção Tipo de origem, em Origem, escolha Google CSS Center.

    • No campo Nome de exibição da seção Transferir nome da configuração, insira um nome para a transferência, como My Transfer. O nome da transferência pode ser qualquer valor que permita identificá-la, caso você precise modificá-la mais tarde.

      Nome da transferência

    • A seção Opções de programação não é configurável. A transferência do CSS Center está programada para ser executada a cada 24 horas.

    • Na seção Configurações de destino, em Conjunto de dados de destino, escolha o conjunto criado para armazenar seus dados.

    • Na seção Detalhes da fonte de dados, em ID do CSS, insira o ID do domínio do CSS.

      Selecione os relatórios que você quer transferir. Consulte Relatórios suportados para mais detalhes.

      Dados de transferência do CSS Center.

    • Opcional: na seção Opções de notificação:

      • Clique no botão para ativar as notificações por e-mail. Quando você ativa essa opção, o administrador de transferência recebe uma notificação por e-mail se uma execução de transferência falhar.
      • Em Selecionar um tópico do Pub/Sub, escolha o nome do tópico ou clique em Criar um tópico. Essa opção configura notificações de execução do Pub/Sub da sua transferência.
  5. Clique em Salvar.

bq

Insira o comando bq mk e forneça a sinalização de execução da transferência --transfer_config. As sinalizações a seguir também são obrigatórias:

  • --data_source
  • --target_dataset
  • --display_name
  • --params

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.

bq mk \
--transfer_config \
--project_id=project_id \
--target_dataset=dataset \
--display_name=name \
--params='parameters' \
--data_source=data_source

Em que:

  • project_id é o ID do projeto.
  • dataset é o conjunto de dados de destino na configuração da transferência.
  • name é o nome de exibição da configuração de transferência. O nome da transferência pode ser qualquer valor que permita identificá-la facilmente, caso precise modificá-la mais tarde.
  • parameters contém os parâmetros da configuração da transferência criada no formato JSON. Por exemplo, --params='{"param":"param_value"}'.
    • css_id: o ID do domínio do CSS.
    • export_products: se é necessário ou não transferir os dados do produto e de problemas do produto. Esse parâmetro está incluído por padrão, mesmo que você não especifique o parâmetro export_products. Recomendamos que você inclua esse parâmetro explicitamente e o defina como true.
  • data_source é a fonte de dados: css_center.

Por exemplo, o comando a seguir cria uma transferência do CSS Center chamada My Transfer usando o ID de domínio do CSS 1234 e o conjunto de dados de destino mydataset. A transferência é criada no projeto padrão.

bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"css_id":"1234","export_products":"true","export_regional_inventories":"true","export_local_inventories":"true","export_price_benchmarks":"true","export_best_sellers":"true"}' \
--data_source=css_center

Ao executar o comando pela primeira vez, você recebe uma mensagem como esta:

[URL omitted] Please copy and paste the above URL into your web browser and follow the instructions to retrieve an authentication code.

Siga as instruções na mensagem e cole o código de autenticação na linha de comando.

API

Use o método projects.locations.transferConfigs.create e forneça uma instância do recurso TransferConfig.