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
.
- Para um ambiente de produção, introduza
- 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:
- Clique em Configurar.
- Na barra de pesquisa, pesquise Apps associadas.
- Clique em Gerir apps > Apps associadas. Se estiver a usar o Salesforce Lightning Experience, clique em Gerir apps associadas.
- Na app associada que criou, clique em Editar.
- É 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.
- 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:
- Inicie sessão na plataforma Salesforce.
- Clique em Configurar.
- Na barra de pesquisa, pesquise O meu domínio.
- 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:
- Inicie sessão na plataforma Salesforce.
- Clique em Configurar.
- Na barra de pesquisa, pesquise Apps.
- Na secção Criar nos resultados da pesquisa, clique em Criar > Apps.
- Clique num Nome da app associada.
- Na página de detalhes Apps associadas, clique em Gerir detalhes do consumidor.
- 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.
- Na página Detalhes do consumidor, a chave de consumidor é o seu valor
ClientId
. O segredo do cliente é o seu valorClientSecret
.
Salesforce Lightning Experience
Obtenha detalhes de myDomain
Para encontrar o seu myDomain
, faça o seguinte:
- Inicie sessão na plataforma Salesforce.
- Clique em Configurar.
- Na barra de pesquisa, pesquise O meu domínio.
- 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
- Inicie sessão na plataforma Salesforce.
- Clique em Configurar.
- Na barra de pesquisa, pesquise Apps.
- Nos resultados da pesquisa, clique em Apps > Gestor de apps.
- Encontre uma app associada e, de seguida, clique em Ver.
- Clique em Gerir detalhes do consumidor.
- 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.
- Na página Detalhes do consumidor, a chave de consumidor é o seu valor
ClientId
. O segredo do cliente é o seu valorClientSecret
.
Pré-requisitos do BigQuery
- Verifique se concluiu todas as ações necessárias para ativar o Serviço de transferência de dados do BigQuery.
- Crie um conjunto de dados do BigQuery para armazenar os seus dados.
- Se pretender configurar notificações de execução de transferências para o Pub/Sub,
certifique-se de que tem a autorização de
pubsub.topics.setIamPolicy
gestão de identidade e de acesso (IAM). Não são necessárias autorizações do Pub/Sub se configurar apenas notificações por email. Para mais informações, consulte Notificações de execução do Serviço de transferência de dados 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
Aceda à página Transferências de dados na Google Cloud consola.
Clique em
Criar transferência.Na secção Tipo de origem, para Origem, escolha Salesforce.
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.
Na secção Definições de destino, para Conjunto de dados, escolha o conjunto de dados que criou para armazenar os seus dados.
Na secção Nome da configuração de transferência, em Nome a apresentar, introduza um nome para a transferência de dados.
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.
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.
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 forexample.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
.
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?
- Para uma vista geral do Serviço de transferência de dados do BigQuery, consulte o artigo Introdução ao Serviço de transferência de dados do BigQuery.
- Para obter informações sobre a utilização de transferências, incluindo a obtenção de informações sobre uma configuração de transferência, a apresentação de configurações de transferência e a visualização do histórico de execução de uma transferência, consulte o artigo Trabalhar com transferências.
- Saiba como carregar dados com operações em várias nuvens.