Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato stránka popisuje, jak nastavit Federaci Lakehouse, aby spouštěla federované dotazy na data Salesforce Data 360, která nespravuje Azure Databricks. Další informace o federaci Lakehouse najdete v tématu Co je Federace Lakehouse?
Pokud se chcete připojit k databázi Salesforce Data 360 pomocí federace Lakehouse, musíte v metastore katalogu Azure Databricks Unity vytvořit následující:
- Připojení k databázi Salesforce Data 360.
- Cizí katalog, který zrcadlí databázi Salesforce Data 360 v Katalogu Unity, abyste mohli pomocí nástrojů pro dotazování a zásady správného řízení dat v Unity spravovat uživatelský přístup k databázi Azure Databricks.
Jaký konektor Salesforce mám použít?
Databricks nabízí více konektorů pro Salesforce. Existují dva konektory pro nulovou kopii: konektor pro sdílení souborů Salesforce Data 360 (dříve Data Cloud) a federační konektor pro dotazy Salesforce Data 360. To vám umožní dotazovat se na data v Salesforce Data 360, aniž byste je přesunuli. K dispozici je také konektor pro příjem dat Salesforce, který kopíruje data z různých produktů Salesforce, včetně Salesforce Data 360 a Salesforce Sales Cloud.
Následující tabulka shrnuje rozdíly mezi konektory Salesforce v Databricks:
| Konektor | Případ použití | Podporované produkty Salesforce |
|---|---|---|
| Sdílení souborů Salesforce Data 360 | Když v Lakehouse Federation použijete konektor pro sdílení souborů Salesforce Data 360, Databricks volá rozhraní API Salesforce Data jako služba (DaaS) k přímému čtení dat v podkladovém umístění cloudového úložiště objektů. Dotazy se spouštějí na výpočetních prostředcích Databricks bez použití protokolu JDBC. Ve srovnání s federací dotazů je sdílení souborů ideální pro federování velkého množství dat. Nabízí vylepšený výkon při čtení souborů z více zdrojů dat a lepší schopnosti prosazení. Viz Lakehouse Federation pro sdílení souborů Salesforce Data 360. |
Salesforce Data 360 |
| Federace dotazů Salesforce Data 360 | Když v Lakehouse Federation použijete federační konektor dotazů Salesforce Data 360, Databricks se pomocí JDBC připojí ke zdrojovým datům a odešle dotazy do Salesforce. Vizte Proveďte federované dotazy na Salesforce Data 360. | Salesforce Data 360 |
| Příjem dat Salesforce | Konektor pro příjem dat Salesforce v Lakeflow Connect umožňuje vytvářet plně spravované kanály příjmu dat z dat platformy Salesforce. Tento konektor maximalizuje hodnotu tím, že využívá nejen data CDP, ale také data CRM v platformě Data Intelligence Platform. Viz Ingestování dat ze služby Salesforce. | Podívejte se na produkty Salesforce, které podporuje konektor pro příjem dat Salesforce. |
Než začnete
Požadavky na pracovní prostor:
- Pracovní prostor byl aktivován pro katalog Unity.
Požadavky na výpočetní prostředky:
- Síťové připojení z vašeho výpočetního prostředku k cílovým databázovým systémům. Podívejte se na doporučení pro síťovou infrastrukturu v rámci Lakehouse Federation.
- Výpočetní prostředky Azure Databricks musí používat Databricks Runtime 15.2 nebo vyšší a standardní nebo vyhrazený režim přístupu.
- Sql Warehouse musí být pro nebo bezserverové a musí používat verzi 2024.30 nebo vyšší.
Požadovaná oprávnění:
- Pokud chcete vytvořit připojení, musíte být správcem metastoru nebo uživatelem s oprávněním
CREATE CONNECTIONk metastoru katalogu Unity připojenému k pracovnímu prostoru. - Chcete-li vytvořit cizí katalog, musíte mít oprávnění
CREATE CATALOGk metastoru a být buď vlastníkem připojení, nebo mít oprávněníCREATE FOREIGN CATALOGpro připojení.
Další požadavky na oprávnění jsou uvedeny v následující části založené na úlohách.
Vytvoření připojené aplikace Salesforce
Připojené aplikace Salesforce umožňují externí aplikaci integrovat se Salesforce pomocí rozhraní API a standardních protokolů. Tato část popisuje, jak vytvořit připojenou aplikaci pomocí jednotného přihlašování, aby se databricks mohla ověřit pomocí Salesforce.
Poznámka:
Podrobnější pokyny najdete v tématu Vytvoření připojené aplikace v dokumentaci k Salesforce Data 360.
Pokud chcete vytvořit připojenou aplikaci Salesforce, postupujte takto:
- V pravém horním rohu data 360 klikněte na Nastavení.
- V části Nástroje platformy klikněte na Aplikace > Správce aplikací.
- Klikněte na Nová připojená aplikace.
- Zadejte jméno a e-mailovou adresu kontaktu.
- Povolit OAuth settings:
- Zadejte adresu URL zpětného volání v následujícím formátu:
https://<databricks_instance_url>/login/oauth/salesforce.html. Například:https://cust-success.cloud.databricks.com/login/oauth/salesforce.html. - (Volitelné) Pokud plánujete použít SQL k vytvoření připojení Azure Databricks a cizího katalogu v dalším kroku, vaše Salesforce Connected App také potřebuje podporovat přesměrovací URI
https://login.salesforce.com/services/oauth2/success. To není potřeba, pokud plánujete použít Průzkumníka katalogu k vytvoření připojení Azure Databricks a cizího katalogu. Databricks doporučuje používat Průzkumníka katalogu, protože vyžaduje méně ručních kroků než jiné metody. - Přidejte následující obory:
- Přístup ke všem prostředkům rozhraní API data 360 (cdp_api)
- Správa uživatelských dat prostřednictvím rozhraní API (api)
- Provádění dotazů ANSI SQL na data Data 360 (cdp_query_api)
- Provádět žádosti kdykoli (refresh_token, offline_access)
- Klikněte na Uložit.
- Klikněte na Pokračovat.
- Zadejte adresu URL zpětného volání v následujícím formátu:
- Na stránce Přehled připojené aplikace klikněte na Spravovat podrobnosti o spotřebiteli. Zobrazí se výzva k ověření.
- Po úspěšném ověření se odhalí klíč příjemce a tajný klíč příjemce. Uložte tyto hodnoty. Budete je potřebovat při vytváření připojení Azure Databricks.
Vytvoření připojení Azure Databricks
Připojení určuje cestu a přihlašovací údaje pro přístup k externímu databázovému systému. K vytvoření připojení můžete použít Průzkumníka katalogu nebo příkaz CREATE CONNECTION SQL v poznámkovém bloku Azure Databricks nebo editoru dotazů SQL Databricks.
Poznámka:
K vytvoření připojení můžete použít také rozhraní REST API Databricks nebo rozhraní příkazového řádku Databricks. Vizte POST /api/2.1/unity-catalog/connections a příkazy katalogu Unity.
Požadovaná oprávnění: Správce metastoru nebo uživatel s oprávněním CREATE CONNECTION .
Průzkumník katalogu
V pracovním prostoru Azure Databricks klikněte na
Katalog.
V horní části podokna Katalog klikněte na ikonu
Přidat a v nabídce vyberte Přidat připojení.Případně na stránce Rychlý přístup klikněte na tlačítko Externí data >, přejděte na kartu Připojení a klikněte na Vytvořit připojení.
Na stránce Základy připojení průvodce Nastavení připojení zadejte snadno pochopitelný název připojení.
Vyberte typ připojeníSalesforce 360 Data.
(Volitelné) Přidejte komentář.
Na stránce Ověřování zadejte následující vlastnosti připojení pro data Salesforce 360:
- (Volitelné) Vyberte jako sandbox.
- ID klienta: Klíč příjemce aplikace připojený k Salesforce
- tajný klíč klienta: Tajný klíč uživatele připojené aplikace Salesforce
-
Rozsah klienta:
cdp_api api cdp_query_api refresh_token offline_access
Klikněte na Přihlásit se pomocí Salesforce.
(OAuth) Zobrazí se výzva k přihlášení k Salesforce Data 360 pomocí přihlašovacích údajů pro jednotné přihlašování.
Po úspěšném přihlášení budete přesměrováni zpět do Průvodce nastavením připojení Databricks. Tlačítko Přihlásit se pomocí Salesforce se nahradilo zprávou
Successfully authorized.Klikněte na Vytvořit připojení.
Na stránce základy katalogu zadejte název cizího katalogu. Cizí katalog zrcadlí databázi v externím datovém systému, abyste mohli dotazovat a spravovat přístup k datům v této databázi pomocí Azure Databricks a Unity Catalog.
Vstupte do datového prostoru Salesforce.
(Volitelné) Kliknutím na Otestovat připojení abyste ověřili jeho funkčnost.
Klikněte na Vytvořit katalog.
Na stránce Access vyberte pracovní prostory, ve kterých mají uživatelé přístup k vytvořenému katalogu. Můžete vybrat Všechny pracovní prostory mají přístup, nebo klepněte na Přiřadit k pracovním prostorům, vyberte pracovní prostory a potom klikněte na Přiřadit.
Změňte vlastníka , který bude moci spravovat přístup ke všem objektům v katalogu. Začněte do textového pole zadávat hlavní objekt a poté klikněte na hlavní objekt ve vrácených výsledcích.
Udělte Oprávnění na katalog. Klikněte na Udělit:
- Zadejte hlavní uživatele , kteří budou mít přístup k objektům v katalogu. Začněte do textového pole zadávat hlavní objekt a poté klikněte na hlavní objekt ve vrácených výsledcích.
- Vyberte přednastavení oprávnění , která se mají udělit každému uživateli. Všichni uživatelé účtu mají ve výchozím nastavení udělené
BROWSE.- V rozevírací nabídce vyberte Čtenář dat a přiřaďte
readoprávnění objektům v katalogu. - V rozevírací nabídce vyberte Datový editor, abyste udělili
readamodifyoprávnění k objektům v katalogu. - Ručně vyberte oprávnění, která chcete udělit.
- V rozevírací nabídce vyberte Čtenář dat a přiřaďte
- Klikněte na Udělit.
Klikněte na Další.
Na stránce Metadata specifikujte páry klíč-hodnota značek. Další informace najdete v tématu Použití značek na zabezpečitelné objekty v Katalogu Unity.
(Volitelné) Přidejte komentář.
Klikněte na Uložit.
SQL
Databricks doporučuje vytvořit připojení a cizí katalog pomocí Průzkumníka katalogu, protože vyžaduje méně ručních kroků než jiné metody.
Pokud plánujete použít SQL k vytvoření připojení Azure Databricks a cizího katalogu, vaše aplikace Připojená k Salesforce musí podporovat identifikátor URI přesměrování https://login.salesforce.com/services/oauth2/success. To není potřeba, pokud používáte Průzkumníka katalogu.
Vygenerujte PKCE ověřovací kód a kód výzvy. Můžete to provést pomocí online nástroje, například https://tonyxu-io.github.io/pkce-generator/ spuštěním následujícího skriptu Pythonu:
%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}\"")Přejděte na následující adresu URL a autentizujte se pomocí svých přihlašovacích údajů Salesforce, abyste získali
authorization_code(nahraďte<client_id>a<code_challenge>svými parametry).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>Autorizační kód zakódovaný adresou URL je viditelný v přesměrované adrese URL.
V poznámkovém bloku nebo editoru dotazů SQL Databricks spusťte následující příkaz:
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 doporučuje používat pro citlivé hodnoty, jako jsou přihlašovací údaje, tajemství Azure Databricks místo řetězců prostého textu. Příklad:
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" );Informace o nastavení tajných kódů najdete v tématu Správa tajných kódů.
Vytvoření zahraničního katalogu
Poznámka:
Pokud k vytvoření připojení ke zdroji dat použijete uživatelské rozhraní, zahrne se vytvoření cizího katalogu a tento krok můžete přeskočit.
Cizí katalog zrcadlí databázi v externím datovém systému, abyste mohli dotazovat a spravovat přístup k datům v této databázi pomocí Azure Databricks a Unity Catalog. Chcete-li vytvořit cizí katalog, použijete připojení ke zdroji dat, který již byl definován.
K vytvoření cizího katalogu můžete použít Průzkumníka katalogu nebo příkaz CREATE FOREIGN CATALOG SQL v poznámkovém bloku Azure Databricks nebo v editoru dotazů SQL. K vytvoření katalogu můžete použít také rozhraní REST API Databricks nebo rozhraní příkazového řádku Databricks. Viz POST /api/2.1/unity-catalog/catalogs a příkazy katalogu Unity.
Požadovaná oprávnění:CREATE CATALOG oprávnění k metastoru a vlastnictví připojení nebo CREATE FOREIGN CATALOG oprávnění k připojení.
Průzkumník katalogu
- V pracovním prostoru Azure Databricks klikněte na
Klikněte na Katalog pro otevření Průzkumníka katalogu.
- V pravém horním rohu klikněte na Vytvořit katalog.
- Zadejte následující vlastnosti katalogu Salesforce Data 360.
- název katalogu: Uživatelsky přátelský název pro katalog.
-
Typ:
Foreign. - Název připojení: Název připojení, ve které bude katalog vytvořen.
- Dataspace: Datový prostor Salesforce.
- Klikněte na Vytvořit.
SQL
V poznámkovém bloku nebo editoru dotazů SQL spusťte následující příkaz SQL. Položky v závorkách jsou volitelné.
CREATE FOREIGN CATALOG [IF NOT EXISTS] '<catalog-name>' USING CONNECTION '<connection-name>'
OPTIONS (dataspace '<dataspace>');
Nahraďte následující hodnoty:
-
<catalog-name>: -
<connection-name>: -
<dataspace>: Datový prostor Salesforce. Napříkladdefault.
Podporovaná snižování
Jsou podporovány následující přechody:
- Filtry
- Projekce
- Omezení
- Agregáty
- Posun
- Obsazení
- Obsahuje, Začíná, Končí
Mapování datového typu
Při čtení ze Salesforce Data 360 do Sparku se datové typy mapuje takto:
| Typ Salesforce Data 360 | Typ Sparku |
|---|---|
| logický | Booleovský typ |
| Datum | Typ data |
| Datum a čas | typ časového razítka |
| E-mail, Telefon, Text, Adresa URL | Typ řetězce |
| Číslo, procento | DecimalType(38; 18) |
Omezení
- Podporuje se jenom jeden datový prostor Salesforce na katalog Databricks.
- V Databricks Runtime 16.1 a starších nejsou podporované názvy tabulek a schémat s rozlišováním malých a velkých písmen. To zahrnuje názvy, které mají velká písmena v Salesforce Data 360. Například
MyTablese nepodporuje.