Delen via


Gegevens opnemen uit Salesforce

Belangrijk

LakeFlow Connect bevindt zich in beperkte openbare preview. Neem contact op met uw Databricks-accountteam om deel te nemen aan de preview.

In dit artikel wordt beschreven hoe u gegevens uit Salesforce opneemt en laadt in Azure Databricks met behulp van LakeFlow Connect. De resulterende opnamepijplijn wordt beheerd door Unity Catalog en wordt mogelijk gemaakt door serverloze compute en Delta Live Tables.

De Salesforce-opnameconnector ondersteunt de volgende bron:

  • Salesforce Sales Cloud

Voordat u begint

Als u een opnamepijplijn wilt maken, moet u voldoen aan de volgende vereisten:

  • Uw werkruimte is ingeschakeld voor Unity Catalog.

  • Serverloze berekening is ingeschakeld voor notebooks, werkstromen en Delta Live Tables. Zie Serverloze berekening inschakelen.

  • Een verbinding maken: u hebt CREATE CONNECTION in de metastore.

    Een bestaande verbinding gebruiken: u hebt USE CONNECTION of ALL PRIVILEGES op het verbindingsobject.

  • USE CATALOG op doel catalog.

  • USE SCHEMA en CREATE TABLE op een bestaande schema of CREATE SCHEMA op het beoogde catalog.

  • (Aanbevolen) Maak een Salesforce-gebruiker die Databricks kan gebruiken om gegevens op te halen. Zorg ervoor dat de gebruiker API-toegang heeft en toegang heeft tot alle objecten die u wilt opnemen.

Een Salesforce-verbinding maken

Vereiste machtigingen:CREATE CONNECTION in de metastore. Neem contact op met een metastore-beheerder om dit te grant.

Als u een opnamepijplijn wilt maken met behulp van een bestaande verbinding, gaat u verder met de volgende sectie. U hebt de verbinding nodig USE CONNECTION of ALL PRIVILEGES de verbinding.

Ga als volgt te werk om een Salesforce-verbinding te maken:

  1. Klik in de Azure Databricks-werkruimte op Catalog> Externe locaties >Connections> Verbinding maken.

  2. Geef voor verbindingsnaam een unieke naam op voor de Salesforce-verbinding.

  3. Klik voor verbindingstype op Salesforce.

  4. Als u gegevens opneemt vanuit een Salesforce-sandboxaccount, setis sandbox- voor true.

  5. Klik op Aanmelden met Salesforce.

    Salesforce-aanmelding

  6. Als u gegevens opneemt vanuit een Salesforce-sandbox, klikt u op Aangepast domein gebruiken. Geef de sandbox-URL op en ga vervolgens verder met aanmelden. Databricks raadt u aan om u aan te melden als een Salesforce-gebruiker die is toegewezen aan Databricks-opname.

    Knop Aangepast domein gebruiken

    Sandbox-URL invoeren

  7. Nadat u bent teruggekomen naar de pagina Verbinding maken , klikt u op Maken.

Een opnamepijplijn maken

Vereiste machtigingen:USE CONNECTION of ALL PRIVILEGES voor een verbinding.

In deze stap wordt beschreven hoe u de opnamepijplijn maakt. Elke opgenomen table komt overeen met een streaming-table met dezelfde naam, maar volledig in kleine letters, in de bestemming, tenzij u de naam expliciet wijzigt.

Databricks-gebruikersinterface

  1. Klik in de zijbalk van de Azure Databricks-werkruimte op Gegevensopname.

  2. Klik op de pagina Gegevens toevoegen onder Databricks-connectors op Salesforce.

    De wizard Salesforce-opname wordt geopend.

  3. Voer op de pagina Pijplijn van de wizard een unieke naam in voor de opnamepijplijn.

  4. In de vervolgkeuzelijst Bestemming catalog, select een catalog. Ingenomen gegevens en gebeurtenislogboeken zullen naar deze catalogworden geschreven.

  5. Select de Unity Catalog-verbinding waarin de credentials wordt opgeslagen die nodig is voor toegang tot Salesforce-gegevens.

    Als er geen Salesforce-connectionsis, klik op Verbinding creëren. U moet de CREATE CONNECTION bevoegdheid hebben voor de metastore.

  6. Klik op Pijplijn maken en ga door.

  7. Klik op de pagina Bronselect de Salesforce-tables die u wilt opnemen in Databricks en klik vervolgens op Volgende.

    Als u een schemaselect, schrijft de Salesforce-invoegconnector alle bestaande en toekomstige tables in de bron-schema in het door Unity Catalog beheerde tables.

  8. Op de pagina Bestemmingselect u de Unity-Catalogcatalog en schema om naar te schrijven.

    Als u geen bestaande schemawilt gebruiken, klikt u op schemamaken. U moet de USE CATALOG en CREATE SCHEMA bevoegdheden hebben voor de bovenliggende catalog.

  9. Klik op Pijplijn opslaan en ga door.

  10. Klik op de pagina Instellingen op Planning maken. Set de frequentie naar refresh de bestemming tables.

  11. Optioneel set e-mailmeldingen voor geslaagde of mislukte pijplijnbewerkingen.

  12. Klik op Opslaan en pijplijn uitvoeren.

Databricks Asset Bundles

In dit tabblad wordt beschreven hoe u een opnamepijplijn implementeert met behulp van Databricks Asset Bundles (DABs). Bundels kunnen YAML-definities van taken en taken bevatten, worden beheerd met behulp van de Databricks CLI en kunnen worden gedeeld en uitgevoerd in verschillende doelwerkruimten (zoals ontwikkeling, fasering en productie). Zie Databricks Asset Bundles voor meer informatie.

  1. Maak een nieuwe bundel met behulp van de Databricks CLI:

    databricks bundle init
    
  2. Voeg twee nieuwe resourcebestanden toe aan de bundel:

    • Een pijplijndefinitiebestand (resources/sfdc_pipeline.yml).
    • Een werkstroombestand waarmee de frequentie van gegevensopname (resources/sfdc_job.yml) wordt gecontroleerd.

    Hier volgt een voorbeeldbestand resources/sfdc_pipeline.yml :

    variables:
      dest_catalog:
        default: main
      dest_schema:
        default: ingest_destination_schema
    
    # The main pipeline for sfdc_dab
    resources:
      pipelines:
        pipeline_sfdc:
          name: salesforce_pipeline
          ingestion_definition:
            connection_name: <salesforce-connection>
            objects:
              # An array of objects to ingest from Salesforce. This example
              # ingests the AccountShare, AccountPartner, and ApexPage objects.
              - table:
                  source_schema: objects
                  source_table: AccountShare
                  destination_catalog: ${var.dest_catalog}
                  destination_schema: ${var.dest_schema}
              - table:
                  source_schema: objects
                  source_table: AccountPartner
                  destination_catalog: ${var.dest_catalog}
                  destination_schema: ${var.dest_schema}
              - table:
                  source_schema: objects
                  source_table: ApexPage
                  destination_catalog: ${var.dest_catalog}
                  destination_schema: ${var.dest_schema}
          channel: "preview"
    

    Hier volgt een voorbeeldbestand resources/sfdc_job.yml :

    resources:
      jobs:
        sfdc_dab_job:
          name: sfdc_dab_job
    
          trigger:
            # Run this job every day, exactly one day from the last run
            # See https://docs.databricks.com/api/workspace/jobs/create#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}
    
  3. Implementeer de pijplijn met behulp van de Databricks CLI:

    databricks bundle deploy
    

Databricks-CLI

De pijplijn maken:

databricks pipelines create --json "<pipeline-definition | json-file-path>"

Om de pijplijn te update:

databricks pipelines update --json "<<pipeline-definition | json-file-path>"

De definitie van de pijplijn get:

databricks pipelines get "<pipeline-id>"

De pijplijn verwijderen:

databricks pipelines delete "<pipeline-id>"

Voor meer informatie kunt u het volgende uitvoeren:

databricks pipelines --help
databricks pipelines <create|update|get|delete|...> --help

Start, plan en set meldingen voor uw pijplijn.

  1. Nadat de pijplijn is gemaakt, gaat u opnieuw naar de Databricks-werkruimte en klikt u vervolgens op Delta Live-Tables.

    De nieuwe pijplijn wordt weergegeven in de pijplijn list.

  2. Klik op de naam van de pijplijn om de details van de pijplijn weer te geven.

  3. Voer de pijplijn uit op de pagina Met details van de pijplijn door op Start te klikken. U kunt de pijplijn plannen door op Planning te klikken.

  4. Om waarschuwingen in de pijplijn set toe te voegen, klikt u op Planning, vervolgens op Meer optiesen voegt u een melding toe.

  5. Nadat de gegevensverwerking is voltooid, kunt u een query uitvoeren op uw tables.

Notitie

Wanneer de pijplijn wordt uitgevoerd, ziet u mogelijk twee bronnen met views bij een bepaalde table. Eén weergave bevat de momentopnamen voor formulevelden. De andere weergave bevat de incrementele gegevens die worden opgehaald voor niet-formulevelden. Deze views worden toegevoegd aan de bestemming table.