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 rekenkracht 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 in de doelcatalogus.

  • USE SCHEMA en CREATE TABLE op een bestaand schema of CREATE SCHEMA in de doelcatalogus.

  • (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 verlenen.

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 > Verbinding maken met externe locaties > catalogiseren>.

  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, stelt u Is sandbox in op 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 tabel komt standaard overeen met een streamingtabel met dezelfde naam (maar alle kleine letters) in het doel, 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. Selecteer een catalogus in de vervolgkeuzelijst Doelcatalogus . Opgenomen gegevens en gebeurtenislogboeken worden naar deze catalogus geschreven.

  5. Selecteer de Unity Catalog-verbinding waarin de referenties worden opgeslagen die zijn vereist voor toegang tot Salesforce-gegevens.

    Als er geen Salesforce-verbindingen zijn, klikt u op Verbinding maken. U moet de CREATE CONNECTION bevoegdheid hebben voor de metastore.

  6. Klik op Pijplijn maken en ga door.

  7. Selecteer op de pagina Bron de Salesforce-tabellen die u wilt opnemen in Databricks en klik vervolgens op Volgende.

    Als u een schema selecteert, schrijft de Salesforce-opnameconnector alle bestaande en toekomstige tabellen in het bronschema naar beheerde tabellen van Unity Catalog.

  8. Selecteer op de doelpagina de Unity Catalog-catalogus en het schema waar u naar wilt schrijven.

    Als u geen bestaand schema wilt gebruiken, klikt u op Schema maken. U moet de USE CATALOG en CREATE SCHEMA bevoegdheden voor de bovenliggende catalogus hebben.

  9. Klik op Pijplijn opslaan en ga door.

  10. Klik op de pagina Instellingen op Planning maken. Stel de frequentie in om de doeltabellen te vernieuwen.

  11. U kunt eventueel e-mailmeldingen instellen 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>"

De pijplijn bijwerken:

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

De pijplijndefinitie ophalen:

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

Waarschuwingen voor uw pijplijn starten, plannen en instellen

  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 lijst met pijplijnen.

  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. Als u waarschuwingen voor de pijplijn wilt instellen, klikt u op Plannen, klikt u op Meer opties en voegt u vervolgens een melding toe.

  5. Nadat de opname is voltooid, kunt u query's uitvoeren op uw tabellen.

Notitie

Wanneer de pijplijn wordt uitgevoerd, ziet u mogelijk twee bronweergaven voor een bepaalde tabel. Eén weergave bevat de momentopnamen voor formulevelden. De andere weergave bevat de incrementele gegevens die worden opgehaald voor niet-formulevelden. Deze weergaven worden samengevoegd in de doeltabel.