Origem em lote do Salesforce

Nesta página, descrevemos como carregar dados de sObjects do Salesforce no Google Cloudcom 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 permite ler dados com consultas da linguagem de consulta de objetos do Salesforce (SOQL) e filtros de data incrementais ou de intervalo.

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 a opção Pipeline de dados – lote está selecionada (não Em tempo real).
  3. No menu Origem, clique em Salesforce. O nó do Salesforce aparece no pipeline. Se a origem do Salesforce não aparecer na página Studio, implante os plug-ins do Salesforce no 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 uma lista completa, consulte Propriedades.

    1. Insira um Rótulo para o nó do Salesforce, por exemplo, Salesforce tables.
    2. Insira um Nome da referência para a origem do Salesforce para linhagem, por exemplo, Salesforce tables.
    3. Insira os detalhes da conexão. É possível configurar uma conexão única ou uma conexão 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, 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 uma conexão não existir 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. Insira o nome do SObject para carregar todas as colunas do objeto.

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

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

    7. Opcional: em vez de especificar o nome do sObject, você pode inserir uma consulta SOQL, como SELECT LastName from Contact. Para mais informações, consulte Consultas SOQL para a fonte 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 Ativada para macros Propriedade obrigatória Descrição
Nome da referência Não Sim Usado para identificar exclusivamente essa origem para tarefas, como linhagem e anotação de metadados.
Usar conexão Não Não Use uma conexão atual. 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 de 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 app Cloud Data Fusion vai anexar o token antes de fazer a autenticação com o Salesforce.
Chave do cliente Sim Sim Chave do cliente do aplicativo. Também chamado de ID do cliente OAuth. Para conseguir uma chave de cliente, crie um aplicativo conectado do Salesforce.
Chave secreta do consumidor Sim Sim Secret do cliente do aplicativo. Também chamada de chave secreta do cliente OAuth. Para conseguir 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 atinja o tempo limite.
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 um valor for fornecido, o conector vai receber todos os campos desse objeto do Salesforce e gerar uma consulta SOQL, como select FIELD_1, FIELD_2 from ${sObjectName}. Ignorado se uma consulta SOQL for fornecida.
Há também sObjects que não são compatíveis com a 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 em massa para consultar dados.
Casos em que a API BULK não é usada:quando o comprimento 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 estiver dentro do limite, ela vai executar a consulta original. Caso contrário, ele muda para a lógica de objeto amplo. Por exemplo, ele gera uma consulta de ID que só recupera informações de lote para IDs que serão usados mais tarde para recuperar dados pela API SOAP.
Última modificação depois de Sim Não Filtre os dados para incluir apenas registros em que o campo do sistema LastModifiedDate seja maior ou igual à data especificada. Use o formato de data do Salesforce (confira exemplos). Se nenhum valor for fornecido, nenhuma data de 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, seja menor que a data especificada. Use o formato de data do Salesforce (confira exemplos). Especificar esse valor com a propriedade Última modificação após permite ler 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 Filtra os dados para ler apenas os registros que foram modificados pela última vez em um período do tamanho especificado. Por exemplo, se a duração for 6 hours e o pipeline for executado às 9h, ele vai ler os dados atualizados pela última vez das 3h (inclusive) às 9h (exclusive). Especifique a duração com números e as seguintes unidades de tempo:
  • seconds
  • minutes
  • hours
  • days
  • months
  • years
Várias unidades podem ser especificadas, 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 após ou Última modificação antes, a duração será ignorada.
Deslocamento Sim Não Filtre os dados para ler apenas os 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 for 1 hours e o pipeline for executado às 9h, os dados modificados pela última vez entre 2h (inclusive) e 8h (exclusivo) serão lidos.
Especifique a duração usando números e as seguintes unidades de tempo:
  • seconds
  • minutes
  • hours
  • days
  • months
  • years
Várias unidades podem ser especificadas, 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 após ou Última modificação antes, 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 chaves primárias Sim Não O fragmentação de chave primária (PK) divide uma consulta em tabelas grandes em partes ou fragmentos com base nos IDs de registro ou nas chaves primárias dos registros consultados.
O Salesforce recomenda ativar o fragmentação de chave primária ao consultar tabelas com mais de 10 milhões de registros ou quando uma consulta em massa atinge o tempo limite constantemente. Para mais informações, consulte PK chunking. O particionamento de PK funciona apenas com consultas que não incluem cláusulas SELECT ou condições diferentes de WHERE. O chunking é compatível com objetos personalizados e todas as tabelas de compartilhamento e histórico que aceitam objetos padrão.
Tamanho do bloco Sim Não Especifique o tamanho do bloco. O tamanho máximo é 250.000. O tamanho padrão é 100.000.
Nome do objeto do Salesforce pai Sim Não Pai do objeto do Salesforce. Usado para ativar o chunking 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

A tabela a seguir é uma lista de tipos de dados do Salesforce com tipos correspondentes do CDAP.

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 da fonte em lote do Salesforce:

Pré-requisitos para fazer upgrade para a versão 1.7.0 do plug-in do Salesforce

A versão 1.7.0 do plug-in do Salesforce está disponível no Cloud Data Fusion versão 6.8.0 e mais recente. Esta versão inclui a atualização da versão 62.0 para a 64.0 da API Bulk V1 do Salesforce.

O Salesforce descontinuou alguns campos na versão 64.0 da API. Fazer upgrade para a versão 1.7.0 do plug-in do Salesforce pode causar falhas nos pipelines que usam esses campos. Para garantir que seus pipelines continuem funcionando, atualize manualmente o esquema do pipeline para carregar um novo esquema ou remover os campos descontinuados.

Campos descontinuados na versão 64.0 da API do Salesforce

O Salesforce descontinuou os seguintes campos na versão 64.0 da API:

Nome do objeto Nomes de campos
MobSecurityCertPinConfig EffectiveDate
Perfil PermissionsAllowObjectDetectionTraining
PermissionsAllowObjectDetection
PermissionSet PermissionsAllowObjectDetectionTraining
PermissionsAllowObjectDetection
PermissionSetLicense MaximumPermissionsAllowObjectDetectionTraining
MaximumPermissionsAllowObjectDetection
UserPermissionAccess PermissionsAllowObjectDetectionTraining
PermissionsAllowObjectDetection
MutingPermissionSet PermissionsAllowObjectDetectionTraining
PermissionsAllowObjectDetection
Domínio OptionsHstsHeaders
Usuário UserPreferencesHideInvoicesRedirectConfirmation
UserPreferencesHideStatementsRedirectConfirmation
UserChangeEvent UserPreferencesHideInvoicesRedirectConfirmation
UserPreferencesHideStatementsRedirectConfirmation

Atualizar esquema de pipeline

Se o pipeline usar campos descontinuados, atualize o esquema carregando um novo ou removendo os campos descontinuados:

  1. Acesse a interface da Web do Cloud Data Fusion e clique em Lista.

  2. Para ver os pipelines implantados, clique na guia Implantado.

  3. No pipeline que você quer atualizar, clique em > Editar.

  4. Na visualização Studio, mantenha o ponteiro sobre o plug-in de origem do Salesforce e clique em Propriedades.

    A janela de configuração do plug-in do Salesforce é aberta.

  5. Para carregar um novo esquema, siga estas etapas:

    1. Na guia Esquema de saída, clique em > Limpar e em Validar. Isso carrega o esquema mais recente do Salesforce.

    2. Depois que o esquema for carregado, na guia Esquema de saída, clique em > Propagar.

      Isso atualiza automaticamente o esquema de todos os plug-ins subsequentes no pipeline, o que pode substituir as mudanças manuais de esquema em plug-ins como o Wrangler.

  6. Para remover manualmente os campos descontinuados, siga esta etapa:

    1. Na guia Esquema de saída, clique em para cada um dos campos descontinuados. Isso remove os campos de todas as etapas subsequentes.

Práticas recomendadas

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

A seguir