Origem em lote do Salesforce

Nesta página, descrevemos como carregar dados de sObjects do Salesforce no Google Cloud com o Cloud Data Fusion. O plug-in de origem em lote do Salesforce lê sObjects do Salesforce. Os sObjects são as tabelas do Salesforce que você planeja extrair. Alguns exemplos de sObjects incluem oportunidades, contatos, contas, leads e objetos personalizados.

O plug-in de origem em lote do Salesforce oferece suporte à leitura de dados com consultas da Linguagem de consulta de objetos do Salesforce (SOQL, na sigla em inglês) e filtros de data incrementais ou de período.

Antes de começar

Configurar o plug-in

  1. Acesse a interface da Web do Cloud Data Fusion e clique em Studio.
  2. Verifique se Pipeline de dados - Lote está selecionado (não em Tempo real).
  3. No menu Origem, clique em Salesforce. O nó do Salesforce aparece no pipeline. Se você não encontrar a origem do Salesforce na página do Studio, implante os plug-ins do Salesforce a partir do Hub do Cloud Data Fusion.
  4. Para configurar a origem, acesse o nó do Salesforce e clique em Propriedades.
  5. Insira as seguintes propriedades. Para ver uma lista completa, consulte Propriedades.

    1. Digite um Rótulo para o nó do Salesforce, por exemplo, Salesforce tables.
    2. Insira um Nome de referência para a origem do Salesforce para a linhagem, por exemplo, Salesforce tables.
    3. Digite os detalhes da conexão. É possível configurar uma conexão única ou uma atual reutilizável.

      Nova conexão

      Para adicionar uma conexão única ao Salesforce, siga estas etapas:

      1. Mantenha a opção Usar conexão desativada.
      2. Na seção Conexão, insira as seguintes informações da conta do Salesforce nestes campos:

        • Nome de usuário
        • Senha
        • Token de segurança
        • Chave do cliente
        • Chave secreta do consumidor

        Para receber as credenciais do Salesforce, consulte Receber propriedades do Salesforce.

      Conexão reutilizável

      Para reutilizar uma conexão existente, siga estas etapas:

      1. Ative a opção Usar conexão.
      2. Clique em Procurar conexões.
      3. Clique no nome da conexão.

      4. Opcional: se não houver uma conexão e você quiser criar uma nova conexão reutilizável, clique em Adicionar conexão e consulte as etapas na guia Nova conexão.

    4. Digite o SObject name para carregar todas as colunas do objeto.

    5. Opcional: se você selecionar o nome do sObject, será possível filtrar os dados com os seguintes campos:

      • Última modificação depois: inclua somente os registros que foram modificados pela última vez após um determinado momento.
      • Última modificação antes de: inclua apenas registros que foram modificados antes de um determinado horário.
      • Duração: inclua apenas registros que foram modificados pela última vez em uma janela de tempo do tamanho especificado.
      • Deslocamento: inclua apenas registros em que a data da última modificação seja menor que o horário de início lógico do pipeline, menos o deslocamento especificado.
    6. Opcional: para sObjects compatíveis, para melhorar o desempenho de um pipeline, ative Ativar agrupamento de PK. Para mais informações, consulte Melhorar o desempenho com o agrupamento de PK.

    7. Opcional: em vez de especificar o nome do sObject, insira uma consulta SOQL, como SELECT LastName from Contact. Para mais informações, consulte Consultas SOQL para a origem do Salesforce.

    8. Para testar a conectividade, clique em Usar esquema. O Cloud Data Fusion se conecta ao Salesforce e extrai o esquema da tabela listada (tecnicamente, um sObject).

Propriedades

Propriedade Macro ativada Propriedade obrigatória Descrição
Nome de referência Não Sim Usado para identificar exclusivamente essa fonte em tarefas, como linhagem e anotação de metadados.
Usar conexão Não Não Use uma conexão existente. Se uma conexão for usada, não será necessário fornecer as credenciais.
Procurar conexões Sim Não Nome da conexão a ser usada.
Nome do usuário Sim Sim Nome de usuário do Salesforce.
Senha Sim Sim Senha do Salesforce.
Token de segurança Sim Não Token de segurança do Salesforce. Se a senha não contiver o token de segurança, o Cloud Data Fusion anexará o token antes de autenticar com o Salesforce.
Chave do cliente Sim Sim Chave do cliente do aplicativo. Isso também é chamado de ID do cliente OAuth. Para conseguir uma chave do consumidor, crie um aplicativo conectado do Salesforce.
Chave secreta do consumidor Sim Sim Chave secreta do consumidor do aplicativo. Ela também é chamada de chave secreta do cliente OAuth. Para receber uma chave secreta do cliente, crie um aplicativo conectado do Salesforce.
URL de login Sim Sim URL de login do OAuth2 do Salesforce.
O padrão é https://login.salesforce.com/services/oauth2/token
Tempo limite de conexão Sim Não Tempo máximo, em milissegundos, para aguardar a inicialização da conexão antes que ela expire.
O padrão é 30.000 milissegundos.
URL do proxy Sim Não URL do proxy, que contém um protocolo, um endereço e uma porta.
SOQL Sim Não Uma consulta SOQL para buscar dados na origem.
Exemplos:
  • SELECT Id, Name, BillingCity FROM Account
  • SELECT Id FROM Contact WHERE Name LIKE 'A%' AND MailingCity = 'California'
Nome do SObject Sim Não Nome do objeto do Salesforce a ser lido. Se o valor for fornecido, o conector receberá todos os campos desse objeto do Salesforce e gerará uma consulta SOQL, como select FIELD_1, FIELD_2 from ${sObjectName}. Será ignorada se a consulta SOQL for fornecida.
Também há sObjects que não têm suporte na API Salesforce Bulk. A criação de um job com um objeto não compatível causa o seguinte erro: Entity is not supported by the Bulk API. Esses objetos também não são compatíveis com o Einstein Analytics, que usa a API Bulk para consultar dados.
Casos em que a API BULK não é usada: quando o tamanho da consulta envia a consulta ao Salesforce para receber a matriz de informações do lote, a API Bulk não é usada em um caso. Se a consulta está dentro do limite, ela executa a consulta original. Caso contrário, ele alterna para a lógica de objeto amplo. Por exemplo, ela gera uma consulta de ID que só recupera informações de lote de IDs que serão usados posteriormente para recuperar dados por meio da API SOAP.
Última modificação depois de Sim Não Filtre os dados para incluir apenas registros em que o campo do sistema, LastModifiedDate, é maior ou igual à data especificada. Use o formato de data do Salesforce (consulte exemplos). Se nenhum valor for fornecido, nenhuma data limite inferior será aplicada.
Última modificação antes de Sim Não Filtre os dados para incluir apenas registros em que o campo do sistema, LastModifiedDate, é menor que a data especificada. Use o formato de data do Salesforce (consulte exemplos). Ao especificar esse valor com a propriedade Última modificação depois, você pode ler os dados que foram modificados em um período. Se nenhum valor for fornecido, nenhuma data de limite superior será aplicada.
Duração Sim Não Filtrar dados para ler apenas registros que foram modificados pela última vez em uma janela de tempo do tamanho especificado. Por exemplo, se a duração for 6 hours e o pipeline for executado às 9h, ele lerá os dados que foram atualizados pela última vez das 3h (inclusive) para as 9h (exclusivas). Especifique a duração com números e as seguintes unidades de tempo:
  • seconds
  • minutes
  • hours
  • days
  • months
  • years
É possível especificar várias unidades, mas cada uma só pode ser usada uma vez. Por exemplo, 2 days, 1 hours, 30 minutes. Se um valor já tiver sido especificado para Última modificação depois de ou Última modificação antes de, a duração será ignorada.
Deslocamento Sim Não Filtre os dados para ler apenas registros em que o campo do sistema, LastModifiedDate, é menor que o horário de início lógico do pipeline, menos o deslocamento especificado. Por exemplo, se a duração for 6 hours, o deslocamento será 1 hours e o pipeline for executado às 9h, os dados modificados pela última vez entre 2h (inclusive) e 8h (exclusivos) serão lidos.
Especifique a duração usando números e as seguintes unidades de tempo:
  • seconds
  • minutes
  • hours
  • days
  • months
  • years
É possível especificar várias unidades, mas cada uma só pode ser usada uma vez. Por exemplo, 2 days, 1 hours, 30 minutes. Se um valor já estiver especificado para Última modificação depois de ou Última modificação antes de, o deslocamento será ignorado.
Tipo de operação SOQL Não Não Especifique a operação de consulta a ser executada na tabela. Se uma consulta for selecionada, apenas os registros atuais serão retornados. Selecionar queryAll retorna todos os registros atuais e excluídos.
A operação padrão é query.
Ativar o agrupamento de PK Sim Não O agrupamento de chave primária (PK) divide uma consulta em tabelas grandes em partes, ou partes, com base nos IDs de registro, ou chaves primárias, dos registros consultados.
A Salesforce recomenda ativar a divisão da PK ao consultar tabelas com mais de 10 milhões de registros ou quando uma consulta em massa expira constantemente. Para mais informações, consulte Agrupamento de PK. O agrupamento de PK só funciona com consultas que não incluem cláusulas SELECT ou condições diferentes de WHERE. A fragmentação é compatível com objetos personalizados e com qualquer tabela de compartilhamento e histórico compatível com objetos padrão.
Tamanho dos pedaços Sim Não Especifique o tamanho do bloco. O tamanho máximo é 250.000. O tamanho padrão é 100.000.
Nome do SObject pai Sim Não Pai do Objeto do Salesforce. Isso é usado para ativar a divisão em tabelas de histórico ou objetos compartilhados.

Exemplos de formato de data do Salesforce

Sintaxe de formato Exemplo
YYYY-MM-DDThh:mm:ss+hh:mm 1999-01-01T23:01:01+01:00
YYYY-MM-DDThh:mm:ss-hh:mm 1999-01-01T23:01:01-08:00
YYYY-MM-DDThh:mm:ssZ 1999-01-01T23:01:01Z

Mapeamentos de tipo de dados

Veja na tabela a seguir uma lista dos tipos de dados do Salesforce com os tipos de CDAP correspondentes.

Tipo de dados do Salesforce Tipo de dados do esquema do CDAP
_bool boolean
_int int
_long long
_double, currency, percent, geolocation (latitude), geolocation (longitude) double
date date
datetime timestamp (microssegundos)
time time (microssegundos)
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
json string
complexvalue string

Casos de uso

Confira os seguintes casos de uso para a origem em lote do Salesforce:

Práticas recomendadas

Para mais informações sobre como melhorar o desempenho na origem em lote do Salesforce, consulte as práticas recomendadas.

A seguir