Programar uma transferência do Salesforce

Com o serviço de transferência de dados do BigQuery para o conector do Salesforce, é possível programar e gerenciar automaticamente jobs de carregamento recorrentes do Salesforce para o 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 Salesforce aceita apenas a API Salesforce Bulk para se conectar à instância do Salesforce e aceita apenas a transferência de entidades compatíveis com essa API. Para mais informações sobre quais entidades são compatíveis, consulte "A entidade não é compatível com o erro da API Bulk".
  • O intervalo mínimo entre as transferências de dados recorrentes é de 15 minutos. O intervalo padrão para uma transferência recorrente é 24 horas.
  • O serviço de transferência de dados do BigQuery usa a API Salesforce Bulk v1 para se conectar ao endpoint do Salesforce e extrair dados.

Antes de começar

Nas seções a seguir, descrevemos as etapas que você precisa seguir antes de criar uma transferência de dados do Salesforce.

Criar um app conectado do Salesforce

É necessário criar um app conectado do Salesforce com as seguintes configurações obrigatórias:

  • Configure as informações básicas no app conectado. Os campos Connected App Name e Contact Email são obrigatórios para uma transferência do Salesforce.
  • Ative as configurações do OAuth com as seguintes configurações:
    • Marque a caixa de seleção Ativar configurações do OAuth.
    • No campo URL de chamada de retorno, digite o seguinte.
      • Para um ambiente de produção, insira https://login.salesforce.com/services/oauth2/token.
      • Para um ambiente de sandbox, insira https://test.salesforce.com/services/oauth2/token.
  • Na seção Escopos OAuth selecionados, selecione Gerenciar dados do usuário por APIs (api).
  • Desmarque a caixa de seleção Required Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows.
  • Selecione Ativar o fluxo de credenciais do cliente e clique em OK no aviso que aparece.

Depois de configurar o app conectado com as configurações necessárias, clique em Salvar. Você será redirecionado para a página de detalhes do app conectado recém-criado.

Depois de criar o app conectado, você também precisa configurar o fluxo de credenciais do cliente:

  1. Clique em Configurar.
  2. Na barra de pesquisa, pesquise Apps conectados.
  3. Clique em Gerenciar apps > Apps conectados. Se você estiver usando a Salesforce Lightning Experience, clique em Gerenciar apps conectados.
  4. No app conectado que você criou, clique em Editar.
  5. A página Detalhes do app é exibida. Na seção Fluxo de credenciais do cliente, insira seu nome de usuário no campo Executar como. Você pode usar a ferramenta de localização neste campo para garantir que selecionou o usuário correto.
  6. Clique em Salvar.

Informações obrigatórias do Salesforce

Você precisa ter as seguintes informações do Salesforce ao criar uma transferência de dados do Salesforce:

Nome do parâmetro Descrição
myDomain Seu Meu domínio no Salesforce.
clientId Chave do cliente do aplicativo conectado do Salesforce.
clientSecret

Chave secreta do cliente OAuth ou do cliente do aplicativo conectado do Salesforce.

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

Salesforce Classic

Extrair detalhes de myDomain

Para encontrar o myDomain, faça o seguinte:

  1. Faça login na plataforma do Salesforce.
  2. Clique em Configurar.
  3. Na barra de pesquisa, pesquise Meu domínio.
  4. Nos resultados da pesquisa, clique em Gerenciamento de domínio > Meu domínio.

Na seção Detalhes do meu domínio, o myDomain aparece como o prefixo no URL atual do meu domínio. Por exemplo, se o URL do Meu domínio for example.my.salesforce.com, o valor de myDomain a ser usado será example.

Extrair detalhes de ClientId e ClientSecret

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

  1. Faça login na plataforma do Salesforce.
  2. Clique em Configurar.
  3. Na barra de pesquisa, digite Apps.
  4. Na seção Build dos resultados da pesquisa, clique em Criar > Apps.
  5. Clique em um Nome do app conectado.
  6. Na página de detalhes Apps conectados, clique em Gerenciar detalhes do consumidor.
  7. Verifique sua identidade usando um dos métodos registrados. Você pode acessar a página de detalhes do consumidor por até cinco minutos antes de receber a solicitação de verificação da identidade novamente.
  8. Na página Detalhes do consumidor, a chave do consumidor é o valor ClientId. O Customer Secret é o valor ClientSecret.

Experiência do Salesforce Lightning

Extrair detalhes de myDomain

Para encontrar o myDomain, faça o seguinte:

  1. Faça login na plataforma do Salesforce.
  2. Clique em Configurar.

Abra a página "Configuração" na plataforma do Salesforce.

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

Na seção Detalhes do meu domínio, o myDomain aparece como o prefixo no URL atual do meu domínio. Por exemplo, se o URL do Meu domínio for example.my.salesforce.com, o valor de myDomain a ser usado será example.

Extrair detalhes de ClientId e ClientSecret

  1. Faça login na plataforma do Salesforce.
  2. Clique em Configurar.
  3. Na barra de pesquisa, digite Apps.
  4. Nos resultados da pesquisa, clique em Apps > Gerenciador de apps.
  5. Encontre um app conectado e clique em Visualizar.
  6. Clique em Gerenciar detalhes do consumidor.
  7. Verifique sua identidade usando um dos métodos registrados. Você pode acessar a página de detalhes do consumidor por até cinco minutos antes de receber a solicitação de verificação da identidade novamente.
  8. Na página Detalhes do consumidor, a chave do consumidor é o valor ClientId. O Customer Secret é o valor ClientSecret.

Pré-requisitos do BigQuery

Papéis obrigatórios do BigQuery

Para receber as permissões necessárias para criar um conjunto de dados federado, peça ao administrador para conceder a você o papel do IAM Administrador do BigQuery (roles/bigquery.admin). Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

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.

Configurar uma transferência de dados do Salesforce

Para criar uma transferência de dados do Salesforce:

Console

  1. Acesse a página "Transferências de dados" no console do Google Cloud.

    Acesse Transferências de dados

  2. Clique em Criar transferência.

  3. Na seção Tipo de origem, em Origem, escolha Google AdWords.

  4. Na seção Detalhes da fonte de dados, faça o seguinte:

    • Em Meu domínio, insira o Meu domínio do Salesforce.
    • Em ID do cliente, insira a chave do consumidor do aplicativo conectado do Salesforce.
    • Em Chave secreta do cliente, insira a chave secreta do consumidor do aplicativo conectado do Salesforce.
    • Em Objetos do Salesforce para transferência, clique em Procurar para selecionar qualquer objeto a ser transferido para o conjunto de dados de destino do BigQuery.

      • Nesse campo, também é possível inserir manualmente qualquer objeto para incluir na transferência de dados.

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

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

  6. No campo Nome de exibição, na seção Nome de configuração da transferência, insira um nome para a transferência de dados.

  7. Na seção Opções de programação, faça o seguinte:

    • Na lista Frequência de repetição, selecione uma opção para especificar com que frequência essa transferência de dados é executada. Para especificar uma frequência de repetição personalizada, selecione Personalizada. Se você selecionar Sob demanda, essa transferência vai ser executada quando você acionar manualmente a transferência.

    • Se aplicável, selecione Começar agora ou Começar no horário definido e forneça uma data de início e um horário de execução.

  8. Na lista Conta de serviço, selecione uma conta de serviço associada ao seu projeto do Google Cloud. A conta de serviço selecionada precisa ter os papéis necessários para executar a transferência de dados.

    Se você fez login com uma identidade federada, é necessário uma conta de serviço para criar uma transferência de dados. Se você fez login com uma Conta do Google, uma conta de serviço para a transferência é opcional.

    Para mais informações sobre o uso de contas de serviço com transferências de dados, consulte Usar contas de serviço.

  9. Opcional: na seção Opções de notificação, faça o seguinte:

    • Para ativar as notificações por e-mail, clique no botão de alternância Notificação por e-mail. Quando essa opção está ativada, o administrador de transferência recebe uma notificação por e-mail quando uma execução de transferência falha.
    • Para ativar as notificações de execução de transferência do Pub/Sub para essa transferência, clique no botão de alternância Notificações do Pub/Sub. Selecione o nome do tópico ou clique em Criar um tópico.
  10. Clique em Salvar.

bq

Insira o comando bq mk e forneça a sinalização de execução da transferência --transfer_config:

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

Em que:

  • PROJECT_ID (opcional): o ID do projeto do Google Cloud. Se --project_id não for fornecido para especificar um projeto determinado, o projeto padrão será usado;
  • DATA_SOURCE: a fonte de dados — salesforce.
  • NAME: o nome de exibição da configuração da transferência de dados. O nome da transferência pode ser qualquer valor que permita identificá-la, caso você precise modificá-la mais tarde.
  • DATASET: o conjunto de dados de destino na configuração da transferência.
  • PARAMETERS é o parâmetro da configuração de transferência criada no formato JSON. Por exemplo, --params='{"param":"param_value"}'. Confira a seguir os parâmetros de uma transferência de dados do Salesforce:

    • connector.authentication.oauth.clientId: a chave do cliente do aplicativo conectado do Salesforce.
    • connector.authentication.oauth.clientSecret: chave secreta do cliente OAuth ou do cliente do aplicativo conectado do Salesforce.
    • connector.authentication.oauth.myDomain: o My Domain do Salesforce. Por exemplo, se o URL do domínio for example.my.salesforce.com, o valor será example.
    • assets: o caminho para os objetos do Salesforce a serem transferidos para o BigQuery.

Por exemplo, o comando a seguir cria uma transferência de dados do Salesforce no projeto padrão 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.

Preços

Não há custo para transferir dados do Salesforce para o BigQuery enquanto esse recurso está em Pré-lançamento.

Resolver problemas na configuração da transferência

Se você tiver problemas para configurar a transferência de dados, consulte Problemas de transferência no Salesforce.

A seguir