Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Na tej stronie opisano sposób konfigurowania usługi Lakehouse Federation w celu uruchamiania zapytań federacyjnych na danych usługi Salesforce Data 360, które nie są zarządzane przez usługę Azure Databricks. Aby dowiedzieć się więcej o federacji Lakehouse, zobacz Co to jest Federacja Lakehouse?
Aby nawiązać połączenie z bazą danych Salesforce Data 360 przy użyciu Federacji Lakehouse, musisz utworzyć następujące elementy w magazynie metadanych Unity Catalog usługi Azure Databricks:
- Połączenie z bazą danych usługi Salesforce Data 360.
- Katalog zewnętrzny, który odzwierciedla bazę danych Salesforce Data 360 w katalogu Unity, dzięki czemu można używać składni zapytań katalogu Unity i narzędzi do zarządzania danymi, aby zarządzać dostępem użytkowników Azure Databricks do bazy danych.
Którego łącznika usługi Salesforce należy użyć?
Usługa Databricks oferuje wiele łączników dla usługi Salesforce. Istnieją dwa łączniki bez kopiowania: łącznik udostępniania plików usługi Salesforce Data 360 (dawniej Data Cloud) i łącznik federacji zapytań usługi Salesforce Data 360. Umożliwiają one wykonywanie zapytań dotyczących danych w usłudze Salesforce Data 360 bez ich przenoszenia. Istnieje również łączy pozyskiwania danych Salesforce, który kopiuje dane z różnych produktów Salesforce, w tym Salesforce Data 360 i Salesforce Sales Cloud.
W poniższej tabeli przedstawiono podsumowanie różnic między łącznikami usługi Salesforce w usłudze Databricks:
| Łącznik | Przypadek użycia | Obsługiwane produkty Salesforce |
|---|---|---|
| Udostępnianie plików w usłudze Salesforce Data 360 | Gdy używasz łącznika udostępniania plików usługi Salesforce Data 360 w Federacji Lakehouse, Databricks wywołuje interfejsy API Salesforce Data-as-a-Service (DaaS), aby bezpośrednio odczytywać dane w podstawowej lokalizacji magazynu obiektów w chmurze. Zapytania są uruchamiane w obliczeniach usługi Databricks bez używania protokołu JDBC. W porównaniu z federacją zapytań udostępnianie plików jest idealne do sfederowania dużej ilości danych. Zapewnia lepszą wydajność odczytu plików z wielu źródeł danych i lepsze możliwości optymalizacji przetwarzania. Zobacz Federację Lakehouse do udostępniania plików w Salesforce Data 360. |
Salesforce Data 360 |
| Federacja zapytań usługi Salesforce Data 360 | W przypadku korzystania z łącznika federacji zapytań usługi Salesforce Data 360 w usłudze Lakehouse Federation usługa Databricks używa protokołu JDBC do nawiązywania połączenia z danymi źródłowymi i wypychania zapytań do usługi Salesforce. Zobacz Uruchamianie zapytań federacyjnych w usłudze Salesforce Data 360. | Salesforce Data 360 |
| Wczytywanie danych do Salesforce | Łącznik pozyskiwania usługi Salesforce w usłudze Lakeflow Connect umożliwia tworzenie w pełni zarządzanych potoków pozyskiwania na podstawie danych platformy Salesforce. Ten łącznik maksymalizuje wartość dzięki wykorzystaniu nie tylko danych CDP, ale także danych CRM na platformie analizy danych. Zobacz Pozyskiwanie danych z usługi Salesforce. | Zobacz Jakie produkty usługi Salesforce obsługuje łącznik pozyskiwania usługi Salesforce? |
Zanim rozpoczniesz
Wymagania dotyczące obszaru roboczego:
- Obszar roboczy z dostępem do Unity Catalog.
Wymagania dotyczące obliczeń:
- Łączność sieciowa z zasobu obliczeniowego do docelowych systemów baz danych. Zobacz Zalecenia dotyczące sieci dla usługi Lakehouse Federation.
- Środowisko obliczeniowe usługi Azure Databricks musi używać Databricks Runtime 15.2 lub nowszego oraz trybu dostępu Standardowego lub Dedykowanego.
- Magazyny SQL muszą być w wersji pro lub bezserwerowej i muszą używać wersji 2024.30 lub nowszej.
Wymagane uprawnienia:
- Aby utworzyć połączenie, musisz być administratorem magazynu metadanych lub użytkownikiem z uprawnieniami
CREATE CONNECTIONw magazynie metadanych Unity Catalog dołączonym do obszaru roboczego. - Aby utworzyć katalog zagraniczny, musisz mieć uprawnienie
CREATE CATALOGw metastore i być właścicielem połączenia lub mieć uprawnieniaCREATE FOREIGN CATALOGdla połączenia.
Dodatkowe wymagania dotyczące uprawnień są określone w każdej sekcji związanej z zadaniami.
Utwórz połączoną aplikację Salesforce
Połączone aplikacje usługi Salesforce umożliwiają integrowanie aplikacji zewnętrznej z usługą Salesforce przy użyciu interfejsów API i standardowych protokołów. W tej sekcji opisano sposób tworzenia połączonej aplikacji przy użyciu logowania jednokrotnego, aby umożliwić usłudze Databricks uwierzytelnianie za pomocą usługi Salesforce.
Uwaga
Aby uzyskać bardziej szczegółowe instrukcje, zobacz Tworzenie połączonej aplikacji w dokumentacji usługi Salesforce Data 360.
Aby utworzyć aplikację połączoną z usługą Salesforce, wykonaj następujące czynności:
- W prawym górnym rogu pozycji Dane 360 kliknij pozycję Konfiguracja.
- W obszarze Narzędzia platformy kliknij pozycję Aplikacje > App Manager.
- Kliknij pozycję Nowa połączona aplikacja.
- Wprowadź nazwę i kontaktowy adres e-mail.
- Włącz ustawienia protokołu OAuth:
-
Wprowadź adres URL wywołania zwrotnego w następującym formacie:
https://<databricks_instance_url>/login/oauth/salesforce.html. Na przykład:https://cust-success.cloud.databricks.com/login/oauth/salesforce.html. - (Opcjonalnie) Jeśli planujesz użyć SQL do utworzenia połączenia Azure Databricks i katalogu obcego w następnym kroku, Połączona Aplikacja Salesforce musi również obsługiwać identyfikator URI przekierowania
https://login.salesforce.com/services/oauth2/success. Nie jest to konieczne, jeśli planujesz użyć Eksploratora katalogu do utworzenia połączenia usługi Azure Databricks i katalogu zewnętrznego. Usługa Databricks zaleca korzystanie z Eksploratora wykazu, ponieważ wymaga mniejszej liczby kroków ręcznych niż inne metody. - Dodaj następujące zakresy:
- Uzyskiwanie dostępu do wszystkich zasobów interfejsu API usługi Data 360 (cdp_api)
- Zarządzanie danymi użytkownika za pośrednictwem interfejsów API (api)
- Wykonywanie zapytań ANSI SQL dotyczących danych 360 (cdp_query_api)
- Wykonywanie żądań w dowolnym momencie (refresh_token, offline_access)
- Kliknij przycisk Zapisz.
- Kliknij przycisk Continue (Kontynuuj).
-
Wprowadź adres URL wywołania zwrotnego w następującym formacie:
- Na stronie Przegląd aplikacji połączonej kliknij Zarządzaj szczegółami użytkownika. Zostanie wyświetlony monit o uwierzytelnienie.
- Po pomyślnym uwierzytelnieniu ujawniono klucz klienta i klucz tajny użytkownika. Zapisz te wartości. Będą one potrzebne podczas tworzenia połączenia usługi Azure Databricks.
Tworzenie połączenia usługi Azure Databricks
Połączenie określa ścieżkę dostępu i dane uwierzytelniające do zewnętrznego systemu bazodanowego. Aby utworzyć połączenie, możesz użyć Eksploratora wykazu lub polecenia CREATE CONNECTION SQL w notesie usługi Azure Databricks lub edytorze zapytań SQL usługi Databricks.
Uwaga
Do utworzenia połączenia można również użyć interfejsu API REST usługi Databricks lub interfejsu wiersza polecenia usługi Databricks. Zobacz POST /api/2.1/unity-catalog/connections oraz polecenia Unity Catalog.
Wymagane uprawnienia: administrator magazynu metadanych lub użytkownik z uprawnieniami CREATE CONNECTION .
Eksplorator wykazu
W obszarze roboczym usługi Azure Databricks kliknij
Wykaz.
Na górze okienka Katalog kliknij ikonę
Dodaj i wybierz pozycję Dodaj połączenie z menu.Alternatywnie na stronie szybki dostęp do kliknij przycisk Zewnętrzne dane >, przejdź do karty połączenia, a następnie kliknij przycisk Utwórz połączenie.
Na stronie
Podstawy połączenia w kreatorzeKonfigurowanie połączenia , wprowadź nazwę połączenia przyjazną dla użytkownika. Wybierz typ połączenia usługi Salesforce Data 360.
(Opcjonalnie) Dodaj komentarz.
Na stronie Uwierzytelnianie wprowadź następujące właściwości połączenia dla usługi Salesforce Data 360:
- (Opcjonalnie) Wybierz Czy piaskownica.
- identyfikator klienta: klucz klienta aplikacji połączonej Salesforce.
- Klucz tajny klienta: klucz tajny aplikacji połączonej z Salesforce.
-
zakres klienta:
cdp_api api cdp_query_api refresh_token offline_access
Kliknij pozycję Zaloguj się przy użyciu usługi Salesforce.
(OAuth) Zostanie wyświetlony monit o zalogowanie się do usługi Salesforce Data 360 przy użyciu poświadczeń SSO.
Po pomyślnym zalogowaniu zostaniesz przekierowany z powrotem do kreatora Databricks Konfigurowanie połączenia. Przycisk Zaloguj się przy użyciu usługi Salesforce został zastąpiony komunikatem
Successfully authorized.Kliknij pozycję Utwórz połączenie.
Na stronie Podstawy katalogu wprowadź nazwę katalogu obcego. Wykaz obcy odzwierciedla bazę danych w zewnętrznym systemie danych, dzięki czemu można wykonywać zapytania o dostęp do danych w tej bazie danych i zarządzać nimi przy użyciu usług Azure Databricks i Unity Catalog.
Wprowadź przestrzeń danych usługi Salesforce.
(Opcjonalnie) Kliknij pozycję Testuj połączenie, aby potwierdzić, że działa.
Kliknij pozycję Utwórz katalog.
Na stronie Access wybierz obszary robocze, w których użytkownicy mogą uzyskiwać dostęp do utworzonego katalogu. Możesz wybrać opcję Wszystkie obszary robocze mają dostęplub kliknij Przypisać do obszarów roboczych, wybierz obszary robocze, a następnie kliknij Przypisz.
Zmień właściciela , który będzie mógł zarządzać dostępem do wszystkich obiektów w katalogu. Zacznij wpisywać główną nazwę w polu tekstowym, a następnie kliknij podmiot w zwróconych wynikach.
Nadaj przywileje w katalogu. Kliknij Zezwól:
- Określ podmioty, które będą miały dostęp do obiektów w katalogu. Zacznij wpisywać główną nazwę w polu tekstowym, a następnie kliknij podmiot w zwróconych wynikach.
- Wybierz ustawienia wstępne przywilejów, aby przyznać każdemu podmiotowi. Wszyscy użytkownicy konta domyślnie otrzymują
BROWSE.- Wybierz Czytnik danych z menu rozwijanego, aby nadać
readuprawnienia do obiektów w katalogu. - Wybierz pozycję Edytor danych z menu rozwijanego, aby przyznać
readimodifyuprawnienia do obiektów w wykazie. - Ręcznie wybierz uprawnienia do udzielenia.
- Wybierz Czytnik danych z menu rozwijanego, aby nadać
- Kliknij Grant.
Kliknij przycisk Dalej.
Na stronie Metadane określ pary tagów klucz-wartość. Aby uzyskać więcej informacji, zobacz Zastosuj tagi do obiektów zabezpieczalnych w Unity Catalog.
(Opcjonalnie) Dodaj komentarz.
Kliknij przycisk Zapisz.
SQL
Databricks zaleca użycie Eksploratora Katalogu do utworzenia połączenia i katalogu obcego, ponieważ wymaga to mniej ręcznych kroków niż inne metody.
Jeśli planujesz użyć SQL do utworzenia połączenia Azure Databricks i obcego katalogu, Twoja połączona aplikacja Salesforce musi wspierać URI przekierowania https://login.salesforce.com/services/oauth2/success. Nie jest to konieczne, jeśli używasz Eksploratora wykazu.
Generuj kody weryfikacyjne PKCE i kody wyzwania. Można to zrobić za pomocą narzędzia online, takiego jak https://tonyxu-io.github.io/pkce-generator/ lub, uruchamiając następujący skrypt języka Python:
%python import base64 import re import os import hashlib code_verifier = base64.urlsafe_b64encode(os.urandom(40)).decode('utf-8') code_verifier = re.sub('[^a-zA-Z0-9]+', '', code_verifier) code_challenge = hashlib.sha256(code_verifier.encode('utf-8')).digest() code_challenge = base64.urlsafe_b64encode(code_challenge).decode('utf-8') code_challenge = code_challenge.replace('=', '') print(f"pkce_verifier = \"{code_verifier}\"") print(f"code_challenge = \"{code_challenge}\"")Odwiedź następujący adres URL i uwierzytelnij się przy użyciu poświadczeń usługi Salesforce, aby uzyskać
authorization_code(zastąp<client_id>i<code_challenge>swoimi parametrami).https://login.salesforce.com/services/oauth2/authorize ?client_id=<client_id> &redirect_uri=https://login.salesforce.com/services/oauth2/success &response_type=code &code_challenge=<code_challenge>Kod autoryzacji zakodowany w adresie URL jest widoczny w przekierowanym adresie URL.
Uruchom następujące polecenie w notesie lub edytorze zapytań SQL usługi Databricks:
CREATE CONNECTION '<Connection name>' TYPE salesforce_data_cloud OPTIONS ( client_id '<Consumer key from Salesforce Connected App>', client_secret '<Consumer secret from Salesforce Connected App>', pkce_verifier '<pkce_verifier from the last step>', authorization_code '<URL decoded `authorization_code`, should end with == instead of %3D%3D>', oauth_redirect_uri "https://login.salesforce.com/services/oauth2/success", oauth_scope "cdp_api api cdp_query_api refresh_token offline access", is_sandbox "false" );Databricks zaleca używanie sekretów Azure Databricks zamiast ciągów w postaci tekstowej w przypadku poufnych wartości, takich jak poświadczenia. Na przykład:
CREATE CONNECTION '<Connection name>' TYPE salesforce_data_cloud OPTIONS ( client_id secret ('<Secret scope>','<Secret key client id>'), client_secret secret ('<Secret scope>','<Secret key client secret>'), pkce_verifier '<pkce_verifier from the last step>', authorization_code '<URL decoded `authorization_code`, should end with == instead of %3D%3D>', oauth_redirect_uri "https://login.salesforce.com/services/oauth2/success", oauth_scope "cdp_api api cdp_query_api refresh_token offline access", is_sandbox "false" );Aby uzyskać informacje na temat konfigurowania wpisów tajnych, zobacz Zarządzanie wpisami tajnymi.
Tworzenie wykazu obcego
Uwaga
Jeśli używasz interfejsu użytkownika do utworzenia połączenia ze źródłem danych, uwzględnione jest tworzenie katalogu zewnętrznego i możesz pominąć ten krok.
Wykaz obcy odzwierciedla bazę danych w zewnętrznym systemie danych, dzięki czemu można wykonywać zapytania o dostęp do danych w tej bazie danych i zarządzać nimi przy użyciu usług Azure Databricks i Unity Catalog. Aby utworzyć wykaz obcy, należy użyć połączenia ze źródłem danych, które zostało już zdefiniowane.
Aby utworzyć wykaz obcy, możesz użyć Eksploratora wykazu lub polecenia CREATE FOREIGN CATALOG SQL w notesie usługi Azure Databricks lub edytorze zapytań SQL. Do utworzenia katalogu można również użyć interfejsu API REST usługi Databricks lub interfejsu wiersza polecenia usługi Databricks. Zobacz POST /api/2.1/unity-catalog/catalogs i polecenia Katalogu Unity.
Wymagane uprawnienia:CREATE CATALOG uprawnienia do magazynu metadanych i właścicielstwo połączenia lub CREATE FOREIGN CATALOG uprawnienie do połączenia.
Eksplorator wykazu
- W obszarze roboczym usługi Azure Databricks kliknij
Wykaz do otwierania Eksploratora wykazu.
- W prawym górnym rogu kliknij pozycję Utwórz wykaz.
- Wprowadź następujące właściwości katalogu usługi Salesforce Data 360.
- nazwa wykazu: przyjazna dla użytkownika nazwa wykazu.
-
Typ:
Foreign. - nazwa połączenia: nazwa połączenia, przy której zostanie utworzony wykaz.
- Przestrzeń danych: przestrzeń danych usługi Salesforce.
- Kliknij pozycję Utwórz.
SQL
Uruchom następujące polecenie SQL w notesie lub edytorze zapytań SQL. Elementy w nawiasach są opcjonalne.
CREATE FOREIGN CATALOG [IF NOT EXISTS] '<catalog-name>' USING CONNECTION '<connection-name>'
OPTIONS (dataspace '<dataspace>');
Zastąp następujące wartości:
-
<catalog-name>: -
<connection-name>: -
<dataspace>: Przestrzeń danych usługi Salesforce. Na przykładdefault.
Obsługiwane funkcje wypychania
Obsługiwane są następujące wypychania:
- Filtry
- Projekcje
- Ograniczenie
- Agregacje
- Przesunięcie
- Rzutowanie
- Zawiera, Rozpoczyna się od, Kończy się na
Mapowanie typu danych
Podczas odczytywania danych z Salesforce Data 360 do platformy Spark, typy danych są mapowane w następujący sposób:
| Typ usługi Salesforce Data 360 | Typ platformy Spark |
|---|---|
| logiczny | Typ logiczny |
| Data | Typ daty |
| Data i czas | Typ Znacznika Czasu |
| Adres e-mail, telefon, tekst, adres URL | TypCiągu |
| Liczba, procent | DecimalType(38, 18) |
Ograniczenia
- Obsługiwany jest jeden obszar danych Salesforce na katalog Databricks.
- W środowisku Databricks Runtime 16.1, i starszych, nazwy tabel i schematów, które uwzględniają wielkość liter, nie są obsługiwane. Obejmuje to nazwy, które mają wielkie litery w usłudze Salesforce Data 360. Na przykład
MyTablenie jest obsługiwane.