Udostępnij za pośrednictwem


Pozyskiwanie danych z usługi Salesforce

Ważne

Łącznik pozyskiwania usługi Salesforce znajduje się w publicznej wersji zapoznawczej.

W tym artykule opisano sposób pozyskiwania danych z usługi Salesforce i ładowania ich do usługi Azure Databricks przy użyciu usługi Lakeflow Connect. Wynikowy pipeline ingestowania danych jest zarządzany przez Unity Catalog i obsługiwany przez bezserwerowe przetwarzanie oraz Delta Live Tables (DLT).

Łącznik importu danych z Salesforce obsługuje następujące źródła:

  • Salesforce Sales Cloud

Zanim rozpoczniesz

Aby utworzyć potok pozyskiwania, musisz spełnić następujące wymagania:

  • Twoje środowisko pracy ma włączoną funkcję Unity Catalog.

  • Przetwarzanie bezserwerowe jest włączone dla notesów, przepływów pracy i biblioteki DLT. Zobacz Włączanie przetwarzania bezserwerowego.

  • Aby utworzyć połączenie: masz CREATE CONNECTION w magazynie metadanych.

    Aby użyć istniejącego połączenia: masz USE CONNECTION lub ALL PRIVILEGES na obiekcie połączenia.

  • USE CATALOG w katalogu docelowym.

  • USE SCHEMA i CREATE TABLE na istniejącym schemacie lub CREATE SCHEMA w katalogu docelowym.

  • (Zalecane) Utwórz użytkownika usługi Salesforce, którego usługa Databricks może używać do pobierania danych. Upewnij się, że użytkownik ma dostęp do interfejsu API i dostęp do wszystkich obiektów, które planujesz pozyskać.

Utwórz połączenie Salesforce

Wymagane uprawnienia:CREATE CONNECTION w metastore. Skontaktuj się z administratorem magazynu metadanych, aby uzyskać to uprawnienie.

Jeśli chcesz utworzyć potok pozyskiwania przy użyciu istniejącego połączenia, przejdź do poniższej sekcji. Potrzebujesz USE CONNECTION albo ALL PRIVILEGES na połączeniu.

Aby utworzyć połączenie usługi Salesforce, wykonaj następujące czynności:

  1. W obszarze roboczym usługi Azure Databricks kliknij pozycję Wykaz > lokalizacji > zewnętrznych Połączenia > Utwórz połączenie.

  2. W polu Nazwa połączenia określ unikatową nazwę połączenia usługi Salesforce.

  3. Dla Typu połączenia kliknij Salesforce.

  4. Jeśli pozyskujesz z konta piaskownicy usługi Salesforce, ustaw opcję Czy piaskownica ma wartość true.

  5. Kliknij pozycję Zaloguj się przy użyciu usługi Salesforce.

    Logowanie do Salesforce

  6. Jeśli pozyskujesz dane z piaskownicy Salesforce, kliknij Użyj domeny niestandardowej. Podaj adres URL piaskownicy, a następnie przejdź do logowania. Usługa Databricks zaleca zalogowanie się jako użytkownik Salesforce, który jest przeznaczony do pozyskiwania danych przez Databricks.

    Użyj przycisku domeny niestandardowej

    Wprowadź adres URL piaskownicy

  7. Po powrocie do strony Tworzenie połączenia kliknij przycisk Utwórz.

Tworzenie potoku pozyskiwania

Wymagane uprawnienia:USE CONNECTION lub ALL PRIVILEGES na połączeniu.

W tym kroku opisano sposób tworzenia potoku pozyskiwania. Każda załadowana tabela odpowiada tabeli strumieniowej o tej samej nazwie (ale pisanej małymi literami) w miejscu docelowym, chyba że jawnie zmienisz jej nazwę.

Interfejs użytkownika usługi Databricks

  1. Na pasku bocznym obszaru roboczego usługi Azure Databricks kliknij pozycję Pozyskiwanie danych.

  2. Na stronie Dodawanie danych, w obszarze Łączniki usługi Databricks, kliknij pozycję Salesforce.

    Zostanie otwarty kreator ładowania danych Salesforce.

  3. Na stronie Potok kreatora wprowadź unikatową nazwę potoku pozyskiwania.

  4. W rozwijanym menu Katalog docelowy wybierz katalog. Zdobyte dane i dzienniki zdarzeń zostaną zapisane w tym katalogu.

  5. Wybierz połączenie Unity Catalog, które przechowuje poświadczenia wymagane do uzyskania dostępu do danych Salesforce.

    Jeśli nie ma żadnych połączeń usługi Salesforce, kliknij pozycję Utwórz połączenie. Musisz mieć CREATE CONNECTION uprawnienia do magazynu metadanych.

  6. Kliknij Utwórz pipeline i kontynuuj.

  7. Na stronie Źródło wybierz tabele usługi Salesforce, które mają być pozyskiwane do usługi Databricks, a następnie kliknij przycisk Dalej.

    W przypadku wybrania schematu, Salesforce Ingestion Connector zapisuje wszystkie istniejące i przyszłe tabele znajdujące się w schemacie źródłowym do tabel zarządzanych w katalogu Unity.

  8. Na stronie docelowej wybierz katalog Unity Catalog i schemat, do którego chcesz zapisać.

    Jeśli nie chcesz używać istniejącego schematu, kliknij pozycję Utwórz schemat. Musisz mieć uprawnienia USE CATALOG i uprawnienia CREATE SCHEMA w katalogu nadrzędnym.

  9. Kliknij Zapisz potok i kontynuuj.

  10. Na stronie Ustawienia kliknij pozycję Utwórz harmonogram. Ustaw częstotliwość odświeżania tabel docelowych.

  11. Można ustawić powiadomienia e-mail dotyczące powodzenia lub niepowodzenia operacji potoku.

  12. Kliknij Zapisz i uruchom potok.

Pakiety zasobów Databricks

Na tej karcie opisano sposób wdrażania potoku pozyskiwania przy użyciu pakietów zasobów usługi Databricks (DAB). Pakiety mogą zawierać definicje YAML zleceń i zadań, są zarządzane przy użyciu interfejsu wiersza polecenia usługi Databricks i mogą być udostępniane oraz uruchamiane w różnych docelowych obszarach roboczych (takich jak deweloperskie, testowe i produkcyjne). Aby uzyskać więcej informacji, zobacz Pakiety zasobów usługi Databricks.

  1. Utwórz nowy pakiet przy użyciu interfejsu wiersza polecenia usługi Databricks:

    databricks bundle init
    
  2. Dodaj dwa nowe pliki zasobów do pakietu:

    • Plik definicji potoku (resources/sfdc_pipeline.yml).
    • Plik przepływu pracy, który kontroluje częstotliwość pozyskiwania danych (resources/sfdc_job.yml).

    Oto przykładowy resources/sfdc_pipeline.yml plik:

    variables:
      dest_catalog:
        default: main
      dest_schema:
        default: ingest_destination_schema
    
    # The main pipeline for sfdc_dab
    resources:
      pipelines:
        pipeline_sfdc:
          name: salesforce_pipeline
          catalog: ${var.dest_catalog}
          target: ${var.dest_schema}
          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'
    

    Oto przykładowy resources/sfdc_job.yml plik:

    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. Wdróż potok przy użyciu interfejsu wiersza polecenia usługi Databricks:

    databricks bundle deploy
    

Interfejs wiersza polecenia usługi Databricks

Aby utworzyć potok:

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

Aby zaktualizować pipeline:

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

Aby otrzymać definicję przepływu danych:

databricks pipelines get "<pipeline-id>"

Aby usunąć pipeline:

databricks pipelines delete "<pipeline-id>"

Aby uzyskać więcej informacji, możesz uruchomić:

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

Rozpocznij, zaplanuj i ustaw alerty w swoim rurociągu

  1. Po utworzeniu potoku wróć do obszaru roboczego Databricks, a następnie kliknij DLT.

    Nowy rurociąg pojawia się na liście rurociągów.

  2. Aby wyświetlić szczegóły kolejki, kliknij jej nazwę.

  3. Na stronie szczegółów potoku uruchom potok, klikając przycisk Uruchom. Pipeline można zaplanować, klikając Harmonogram.

  4. Aby ustawić alerty w pipeline, kliknij Harmonogram, kliknij Więcej opcji, a następnie dodaj powiadomienie.

  5. Po zakończeniu ładowania danych można przeprowadzić zapytania do swoich tabel.

Uwaga

Po uruchomieniu potoku mogą zostać wyświetlone dwa widoki źródłowe dla danej tabeli. Jeden widok zawiera migawki dla pól formuły. Drugi widok zawiera przyrostowe pobieranie danych dla pól niefunkcjonujących jako formuły. Te widoki są przyłączone do tabeli docelowej.