Carregue dados do Salesforce para o BigQuery

Pode carregar dados do Salesforce para o BigQuery através do conetor do Serviço de transferência de dados do BigQuery para o Salesforce. Com o Serviço de transferência de dados do BigQuery, pode agendar tarefas de transferência recorrentes que adicionam os seus dados mais recentes do Salesforce ao BigQuery.

Limitações

As transferências de dados do Salesforce estão sujeitas às seguintes limitações:

  • O Serviço de transferência de dados do BigQuery para o Salesforce só suporta a API Bulk do Salesforce para estabelecer ligação à instância do Salesforce e só suporta a transferência de entidades suportadas pela API Bulk do Salesforce. Para mais informações sobre as entidades suportadas, consulte o artigo Erro "A entidade não é suportada pela API Bulk".
  • O intervalo de tempo mínimo entre transferências de dados recorrentes é de 15 minutos. O intervalo predefinido para uma transferência recorrente é de 24 horas.
  • O Serviço de transferência de dados do BigQuery usa a Salesforce Bulk API v1 para estabelecer ligação ao ponto final do Salesforce para obter dados.
  • Devido aos limites de processamento do Salesforce, agendar demasiadas transferências de dados ao mesmo tempo pode provocar atrasos ou falhas. Recomendamos que limite as transferências de dados do Salesforce ao seguinte:
    • Não ter mais de 10 recursos por configuração de transferência.
    • Nas diferentes configurações de transferência, não tenha mais de 10 execuções de transferências simultâneas de cada vez.
  • Uma única configuração de transferência só pode suportar uma execução de transferência de dados num determinado momento. No caso em que uma segunda transferência de dados esteja agendada para ser executada antes de a primeira transferência estar concluída, apenas a primeira transferência de dados é concluída, enquanto todas as outras transferências de dados que se sobreponham à primeira transferência são ignoradas.
    • Para evitar transferências ignoradas numa única configuração de transferência, recomendamos que aumente a duração do tempo entre transferências de dados grandes configurando a frequência de repetição.
  • Se a associação de rede configurada e a instância de máquina virtual (VM) estiverem localizadas em regiões diferentes, pode haver movimento de dados entre regiões quando transfere dados do Salesforce.

Antes de começar

As secções seguintes descrevem os passos que tem de realizar antes de criar uma transferência de dados do Salesforce.

Crie uma app associada do Salesforce

Tem de criar uma app associada do Salesforce com as seguintes configurações necessárias:

  • Configure as informações básicas na app associada. Os campos Nome da app associada e Email de contacto são obrigatórios para uma transferência do Salesforce.
  • Ative as definições de OAuth com as seguintes configurações:
    • Selecione a caixa de verificação Ativar definições OAuth.
    • No campo URL de retorno, introduza o seguinte:
      • Para um ambiente de produção, introduza https://login.salesforce.com/services/oauth2/token.
      • Para um ambiente de teste restrito, introduza https://test.salesforce.com/services/oauth2/token.
  • Na secção Âmbitos do OAuth selecionados, selecione Gerir dados do utilizador através de APIs (api).
  • Desmarque a caixa de verificação Extensão da chave de prova necessária para troca de código (PKCE) para fluxos de autorização suportados.
  • Selecione Ativar fluxo de credenciais do cliente e, de seguida, clique em OK no aviso apresentado.

Depois de configurar a app associada com as configurações necessárias, clique em Guardar. É redirecionado para a página de detalhes da app associada criada recentemente.

Depois de criar a app associada, também tem de configurar o fluxo de credenciais do cliente fazendo o seguinte:

  1. Clique em Configurar.
  2. Na barra de pesquisa, pesquise Apps associadas.
  3. Clique em Gerir apps > Apps associadas. Se estiver a usar o Salesforce Lightning Experience, clique em Gerir apps associadas.
  4. Na app associada que criou, clique em Editar.
  5. É apresentada a página Detalhes da app. Na secção Fluxo de credenciais do cliente, introduza o seu nome de utilizador no campo Executar como. Pode usar a ferramenta de pesquisa neste campo para garantir que selecionou o utilizador correto.
  6. Clique em Guardar.

Informações do Salesforce necessárias

Tem de ter as seguintes informações do Salesforce quando criar uma transferência de dados do Salesforce:

Nome do parâmetro Descrição
myDomain O seu O meu domínio no Salesforce.
clientId Chave do consumidor da aplicação associada do Salesforce.
clientSecret

Segredo do cliente OAuth ou segredo do consumidor da aplicação associada do Salesforce.

Para obter os valores myDomain, clientID e clientSecret, selecione uma das seguintes opções:

Salesforce Classic

Obtenha detalhes de myDomain

Para encontrar o seu myDomain, faça o seguinte:

  1. Inicie sessão na plataforma Salesforce.
  2. Clique em Configurar.
  3. Na barra de pesquisa, pesquise O meu domínio.
  4. Nos resultados da pesquisa, clique em Gestão de domínios > O meu domínio.

Na secção Os detalhes do meu domínio, o seu myDomain aparece como o prefixo no URL atual de O meu domínio. Por exemplo, se o URL do meu domínio for example.my.salesforce.com, o valor myDomain a usar é example.

Obtenha detalhes de ClientId e ClientSecret

Para encontrar os valores de ClientId e ClientSecret, faça o seguinte:

  1. Inicie sessão na plataforma Salesforce.
  2. Clique em Configurar.
  3. Na barra de pesquisa, pesquise Apps.
  4. Na secção Criar nos resultados da pesquisa, clique em Criar > Apps.
  5. Clique num Nome da app associada.
  6. Na página de detalhes Apps associadas, clique em Gerir detalhes do consumidor.
  7. Valide a sua identidade através de um dos métodos registados. Pode ver a página de detalhes do consumidor durante um máximo de cinco minutos antes de lhe ser pedido que valide novamente a sua identidade.
  8. Na página Detalhes do consumidor, a chave de consumidor é o seu valor ClientId. O segredo do cliente é o seu valor ClientSecret.

Salesforce Lightning Experience

Obtenha detalhes de myDomain

Para encontrar o seu myDomain, faça o seguinte:

  1. Inicie sessão na plataforma Salesforce.
  2. Clique em Configurar.

Abra a página de configuração na plataforma Salesforce.

  1. Na barra de pesquisa, pesquise O meu domínio.
  2. Nos resultados da pesquisa, clique em Definições da empresa > O meu domínio.

Na secção Os detalhes do meu domínio, o seu myDomain aparece como o prefixo no URL atual de O meu domínio. Por exemplo, se o URL do meu domínio for example.my.salesforce.com, o valor myDomain a usar é example.

Obtenha detalhes de ClientId e ClientSecret

  1. Inicie sessão na plataforma Salesforce.
  2. Clique em Configurar.
  3. Na barra de pesquisa, pesquise Apps.
  4. Nos resultados da pesquisa, clique em Apps > Gestor de apps.
  5. Encontre uma app associada e, de seguida, clique em Ver.
  6. Clique em Gerir detalhes do consumidor.
  7. Valide a sua identidade através de um dos métodos registados. Pode ver a página de detalhes do consumidor durante um máximo de cinco minutos antes de lhe ser pedido que valide novamente a sua identidade.
  8. Na página Detalhes do consumidor, a chave de consumidor é o seu valor ClientId. O segredo do cliente é o seu valor ClientSecret.

Pré-requisitos do BigQuery

Funções do BigQuery necessárias

Para obter as autorizações de que precisa para criar uma transferência, peça ao seu administrador que lhe conceda a função de IAM de administrador do BigQuery (roles/bigquery.admin). Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Esta função predefinida contém as autorizações necessárias para criar uma transferência. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

São necessárias as seguintes autorizações para criar uma transferência:

  • bigquery.transfers.update no utilizador
  • bigquery.datasets.get no conjunto de dados de destino
  • bigquery.datasets.update no conjunto de dados de destino

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Configure uma transferência de dados do Salesforce

Adicione dados do Salesforce ao BigQuery configurando uma configuração de transferência através de uma das seguintes opções:

Consola

  1. Aceda à página Transferências de dados na Google Cloud consola.

    Aceda a Transferências de dados

  2. Clique em Criar transferência.

  3. Na secção Tipo de origem, para Origem, escolha Salesforce.

  4. Na secção Detalhes da origem de dados, faça o seguinte:

    • Para O meu domínio, introduza O meu domínio do Salesforce.
    • Para o ID de cliente, introduza a chave de consumidor da aplicação associada ao Salesforce.
    • Para o Segredo do cliente, introduza o segredo do consumidor da aplicação associada do Salesforce.
    • Para Objetos do Salesforce a transferir, clique em Procurar para selecionar os objetos a transferir para o conjunto de dados de destino do BigQuery. Também pode introduzir manualmente quaisquer objetos a incluir na transferência de dados neste campo.

      Configure uma configuração de transferência do Salesforce

  5. Na secção Definições de destino, para Conjunto de dados, escolha o conjunto de dados que criou para armazenar os seus dados.

  6. Na secção Nome da configuração de transferência, em Nome a apresentar, introduza um nome para a transferência de dados.

  7. Na secção Opções de programação:

    • Na lista Frequência de repetição, selecione uma opção para especificar a frequência com que esta transferência de dados é executada. Para especificar uma frequência de repetição personalizada, selecione Personalizado. Se selecionar A pedido, esta transferência é executada quando aciona manualmente a transferência.
    • Se aplicável, selecione Começar agora ou Começar à hora definida e indique uma data de início e um tempo de execução.
  8. Opcional: na secção Opções de notificação, faça o seguinte:

    • Para ativar as notificações por email, clique no botão Notificação por email. Quando ativa esta opção, o administrador da transferência recebe uma notificação por email quando uma execução da transferência falha.
    • Para ativar as notificações de execução de transferências do Pub/Sub para esta transferência, clique no botão ativar/desativar Notificações do Pub/Sub. Pode selecionar o nome do tópico ou clicar em Criar um tópico para criar um.
  9. Clique em Guardar.

bq

Introduza o comando bq mk e forneça a flag de criação de transferência --transfer_config:

bq mk
    --transfer_config
    --project_id=PROJECT_ID
    --data_source=DATA_SOURCE
    --display_name=NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

Onde:

  • PROJECT_ID (opcional): o ID do seu Google Cloud projeto. Se --project_id não for fornecido para especificar um projeto em particular, é usado o projeto predefinido.
  • DATA_SOURCE: a origem de dados: salesforce.
  • NAME: o nome a apresentar da configuração de transferência de dados. O nome da transferência pode ser qualquer valor que lhe permita identificar a transferência se precisar de a modificar mais tarde.
  • DATASET: o conjunto de dados de destino para a configuração de transferência.
  • PARAMETERS: os parâmetros da configuração de transferência criada no formato JSON. Por exemplo: --params='{"param":"param_value"}'. Seguem-se os parâmetros para uma transferência de dados do Salesforce:

    • connector.authentication.oauth.clientId: a chave do consumidor da aplicação associada do Salesforce.
    • connector.authentication.oauth.clientSecret: segredo do cliente OAuth ou segredo do consumidor da aplicação ligada do Salesforce.
    • connector.authentication.oauth.myDomain: o Salesforce My Domain. Por exemplo, se o URL do seu domínio for example.my.salesforce.com, o valor é example.
    • assets: o caminho para os objetos do Salesforce a transferir para o BigQuery.

Por exemplo, o seguinte comando cria uma transferência de dados do Salesforce no projeto predefinido com todos os parâmetros necessários:

bq mk
    --transfer_config
    --target_dataset=mydataset
    --data_source=salesforce
    --display_name='My Transfer'
    --params='{"assets":["Account"],
        "connector.authentication.oauth.clientId": "1234567890",
        "connector.authentication.oauth.clientSecret":"ABC12345",
        "connector.authentication.oauth.myDomain":"MyDomainName",}'

API

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

Quando guarda a configuração da transferência, o conector do Salesforce aciona automaticamente uma execução da transferência de acordo com a opção de programação. Com cada execução de transferência, o conetor do Salesforce transfere todos os dados disponíveis do Salesforce para o BigQuery.

Para executar manualmente uma transferência de dados fora da sua programação normal, pode iniciar uma execução de preenchimento.

Mapeamento de tipos de dados

A tabela seguinte mapeia os tipos de dados do Salesforce para os tipos de dados do BigQuery correspondentes:

Tipo de dados do Salesforce Tipo de dados do BigQuery
_bool BOOLEAN
_int INTEGER
_long INTEGER
_double FLOAT
currency FLOAT
percent FLOAT
geolocation (latitude) FLOAT
geolocation (longitude) FLOAT
date DATE
datetime TIMESTAMP
time TIME
picklist STRING
multipicklist STRING
combobox STRING
reference STRING
base64 STRING
textarea STRING
phone STRING
id STRING
url STRING
email STRING
encryptedstring STRING
datacategorygroupreference STRING
location STRING
address STRING
anyType STRING

Preços

Não existe qualquer custo para transferir dados do Salesforce para o BigQuery enquanto esta funcionalidade estiver em pré-visualização.

Resolva problemas de configuração da transferência

Se estiver a ter problemas com a configuração da transferência de dados, consulte o artigo Problemas de transferência do Salesforce.

O que se segue?