Pular para o conteúdo principal

Ingira dados do Salesforce

Aprenda como importar dados do Salesforce para Databricks usando LakeFlow Connect.

Requisitos

  • Para criar um pipeline de ingestão, você deve primeiro atender aos seguintes requisitos:

    • Seu workspace deve estar habilitado para o Unity Catalog.

    • O compute sem servidor deve estar habilitado para o seu workspace. Consulte os requisitos do compute sem servidor.

    • Se você planeja criar uma nova conexão: Você deve ter privilégios CREATE CONNECTION no metastore. Consulte a seção sobre privilégios de gerenciamento no Unity Catalog.

      Se o conector oferecer suporte à criação pipeline baseada em interface de usuário, um administrador poderá criar a conexão e o pipeline ao mesmo tempo, concluindo os passos nesta página. No entanto, se os usuários que criam o pipeline usarem a criação pipeline baseada em API ou não forem usuários administradores, um administrador deverá primeiro criar a conexão no Catalog Explorer. Veja Conectar às fontes de ingestão de gerenciar.

    • Se você planeja usar uma conexão existente: você deve ter privilégios USE CONNECTION ou ALL PRIVILEGES no objeto de conexão.

    • Você deve ter privilégios USE CATALOG no catálogo de destino.

    • Você deve ter privilégios USE SCHEMA e CREATE TABLE em um esquema existente ou privilégios CREATE SCHEMA no catálogo de destino.

  • O Salesforce aplica restrições de uso aos aplicativos conectados. As permissões na tabela a seguir são necessárias para uma primeira autenticação bem-sucedida. Se você não tiver essas permissões, o Salesforce bloqueará a conexão e exigirá que um administrador instale o aplicativo conectado do Databricks.

Condição

Permissão necessária

O Controle de Acesso à API está habilitado.

Customize Application e Modify All Data ou Manage Connected Apps

O Controle de Acesso à API não está habilitado.

Approve Uninstalled Connected Apps

Para obter informações básicas, consulte Preparar-se para alterações nas restrições de uso de aplicativos conectados na documentação do Salesforce.

  • Para ingerir do Salesforce, o seguinte é recomendado:

  • Crie um usuário do Salesforce que a Databricks possa usar para recuperar dados. Certifique-se de que o usuário tenha acesso à API e a todos os objetos que o senhor planeja ingerir.

Criar um pipeline de ingestão

info

Beta

Você pode filtrar linhas durante a ingestão para melhorar o desempenho e reduzir a duplicação de dados. Consulte Selecionar linhas para ingestão.

  1. Na barra lateral do site Databricks workspace, clique em ingestão de dados .
  2. Na página Adicionar dados , em Conectores do Databricks , clique em Salesforce .
  3. Na página Conexão do assistente de ingestão, selecione a conexão que armazena suas credenciais de acesso ao Salesforce. Se você tiver o privilégio CREATE CONNECTION no metastore, poderá clicar. Ícone de mais (+). Criar conexão para criar uma nova conexão com os detalhes de autenticação no Salesforce.
  4. Clique em Avançar .
  5. Na página de configuração de ingestão , insira um nome exclusivo para o pipeline.
  6. Selecione um catálogo e um esquema para gravar logs de eventos. Se você tiver privilégios USE CATALOG e CREATE SCHEMA no catálogo, poderá clicar. Ícone de mais (+). Para criar um novo esquema, clique em "Criar esquema" no menu suspenso.
  7. Clique em Create pipeline (Criar pipeline) e continue .
  8. Na página Origem , selecione as tabelas que deseja importar. Se você selecionar Todas as tabelas , todas as tabelas existentes e futuras no esquema de origem serão incluídas.
  9. Clique em Salvar e continuar .
  10. Na página Destino , selecione um catálogo e um esquema para carregar os dados. (Opcional) Se você tiver privilégios USE CATALOG e CREATE SCHEMA no catálogo, poderá clicar. Ícone de mais (+). Para criar um novo esquema, clique em "Criar esquema" no menu suspenso.
  11. Clique em Salvar e continuar .
  12. (Opcional) Na página de programação e notificações , clique em Ícone de mais (+). Criar programar . Defina a frequência de refresh das tabelas de destino.
  13. (Opcional) Clique Ícone de mais (+). Adicione uma notificação para configurar notificações email para operações pipeline bem-sucedidas ou com falha e, em seguida, clique em Salvar e execute pipeline .

Exemplos

Utilize esses exemplos para configurar seu pipeline.

Ingerir campos de fórmula incrementalmente

info

Beta

Este recurso está em versão Beta.

Por default, os campos de fórmula são ingeridos usando o Snapshot completo em cada execução pipeline . No entanto, você pode habilitar a ingestão incremental para campos de fórmula definindo o sinalizador pipelines.enableSalesforceFormulaFieldsMVComputation: "true" no bloco configuration da definição do seu pipeline.

O seguinte arquivo de definição de pipeline permite a ingestão incremental de campos de fórmula:

YAML
resources:
pipelines:
pipeline_sfdc:
name: salesforce_pipeline
catalog: my_catalog
schema: my_schema
configuration:
pipelines.enableSalesforceFormulaFieldsMVComputation: 'true'
ingestion_definition:
connection_name: <salesforce-connection>
objects:
- table:
source_schema: objects
source_table: Account
destination_catalog: my_catalog
destination_schema: my_schema

Para obter mais informações, consulte Ingerir campos de fórmula do Salesforce de forma incremental.

Ingerir dois objetos do Salesforce em esquemas separados

O seguinte arquivo de definição de pipeline ingere dois objetos do Salesforce em esquemas separados:

YAML
resources:
pipelines:
pipeline_sfdc:
name: salesforce_pipeline
catalog: my_catalog_1 # Location of the pipeline event log
schema: my_schema_1 # Location of the pipeline event log
ingestion_definition:
connection_name: <salesforce-connection>
objects:
- table:
source_schema: objects
source_table: AccountShare
destination_catalog: my_catalog_1 # Location of this table
destination_schema: my_schema_1 # Location of this table
- table:
source_schema: objects
source_table: AccountPartner
destination_catalog: my_catalog_2 # Location of this table
destination_schema: my_schema_2 # Location of this table

Ingerir um objeto do Salesforce três vezes

O seguinte arquivo de definição de pipeline ingere um objeto do Salesforce em três tabelas de destino diferentes. Opcionalmente, você pode atribuir um novo nome às tabelas ingeridas para diferenciá-las quando várias tabelas forem ingeridas no mesmo esquema de destino (duplicatas não são suportadas).

YAML
resources:
pipelines:
pipeline_sfdc:
name: salesforce_pipeline
catalog: my_catalog_1 # Location of the pipeline event log
schema: my_schema_1 # Location of the pipeline event log
ingestion_definition:
connection_name: <salesforce-connection>
objects:
- table:
source_schema: objects
source_table: Order
destination_catalog: my_catalog_1 # Location of first copy
destination_schema: my_schema_1 # Location of first copy
- table:
source_schema: objects
source_table: Order
destination_catalog: my_catalog_2 # Location of second copy
destination_schema: my_schema_2 # Location of second copy
- table:
source_schema: objects
source_table: Order
destination_catalog: my_catalog_2 # Location of third copy, renamed
destination_schema: my_schema_2 # Location of third copy, renamed
destination_table: order_duplicate # Table rename

Arquivo de definição de trabalho de pacote

Segue abaixo um exemplo de arquivo de definição de tarefa para uso com pacotes de automação declarativa. A execução do trabalho ocorre todos os dias, exatamente um dia após a última execução.

YAML
resources:
jobs:
sfdc_dab_job:
name: sfdc_dab_job

trigger:
periodic:
interval: 1
unit: DAYS

email_notifications:
on_failure:
- <email-address>

tasks:
- task_key: refresh_pipeline
pipeline_task:
pipeline_id: ${resources.pipelines.pipeline_sfdc.id}

Padrões comuns

Para configurações avançadas pipeline , consulte Padrões comuns para gerenciar pipeline de ingestão.

Próximos passos

começar, programar e definir alerta em seu pipeline. Consulte Tarefa comum de manutenção pipeline.

Recurso adicional