Kopírování dat z cloudu služeb Salesforce a do cloudu služeb Salesforce pomocí Azure Data Factory nebo Azure Synapse Analytics
PLATÍ PRO: Azure Data Factory Azure Synapse Analytics
Tip
Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.
Tento článek popisuje, jak pomocí aktivity kopírování v kanálech Azure Data Factory a Azure Synapse kopírovat data z cloudu služeb Salesforce a do cloudu služeb Salesforce. Vychází z článku s přehledem aktivity kopírování, který představuje obecný přehled aktivity kopírování.
Důležité
Nový konektor Salesforce Service Cloud poskytuje vylepšenou nativní podporu cloudových služeb Salesforce. Pokud ve svém řešení používáte starší konektor Salesforce Service Cloud, upgradujte prosím konektor Salesforce Service Cloud před 11. říjnem 2024. Podrobnosti o rozdílu mezi starší verzí a nejnovější verzí najdete v této části .
Podporované funkce
Tento konektor Salesforce Service Cloud je podporovaný pro následující funkce:
Podporované funkce | IR |
---|---|
aktivita Copy (zdroj/jímka) | (1) (2) |
Aktivita Lookup | (1) (2) |
(1) Prostředí Azure Integration Runtime (2) Místní prostředí Integration Runtime
Seznam úložišť dat podporovaných jako zdroje nebo jímky najdete v tabulce Podporované úložiště dat.
Konkrétně tento konektor Salesforce Service Cloud podporuje:
- Edice Salesforce Developer, Professional, Enterprise nebo Unlimited
- Kopírování dat z a do vlastní domény (vlastní doménu je možné nakonfigurovat v produkčním prostředí i v sandboxových prostředích).
Můžete explicitně nastavit verzi rozhraní API používanou ke čtení a zápisu dat prostřednictvím apiVersion
vlastnosti v propojené službě. Při kopírování dat do cloudu služby Salesforce používá konektor rozhraní BULK API 2.0.
Požadavky
V Salesforce musí být povolené oprávnění rozhraní API.
Na portálu Salesforce potřebujete nakonfigurovat propojené aplikace, které odkazují na tento oficiální dokument nebo naše podrobné pokyny v doporučení v tomto článku.
Důležité
- Uživatel spuštění musí mít oprávnění pouze rozhraní API.
- Platnost přístupového tokenu může být změněna prostřednictvím zásad relace místo obnovovacího tokenu.
Omezení rozhraní Bulk API salesforce 2.0
K dotazování a ingestování dat používáme Salesforce Bulk API 2.0. V rozhraní Bulk API 2.0 se dávky vytvoří automaticky. Můžete odeslat až 15 000 dávek za 24hodinovou dobu. Pokud dávky překročí limit, zobrazí se selhání.
V rozhraní Bulk API 2.0 spotřebovávají dávky pouze úlohy ingestování. Úlohy dotazů se netýknou. Podrobnosti najdete v tématu Zpracování požadavků v Průvodci pro vývojáře hromadným rozhraním API 2.0.
Další informace najdete v části Obecné limity pro vývojáře Salesforce.
Začínáme
K provedení aktivita Copy s kanálem můžete použít jeden z následujících nástrojů nebo sad SDK:
- Nástroj pro kopírování dat
- Azure Portal
- Sada .NET SDK
- Sada Python SDK
- Azure PowerShell
- Rozhraní REST API
- Šablona Azure Resource Manageru
Vytvoření propojené služby s cloudem služeb Salesforce pomocí uživatelského rozhraní
Pomocí následujících kroků vytvořte propojenou službu s cloudem služeb Salesforce v uživatelském rozhraní webu Azure Portal.
Přejděte na kartu Správa v pracovním prostoru Azure Data Factory nebo Synapse a vyberte Propojené služby a pak klikněte na Nový:
Vyhledejte Salesforce a vyberte konektor Salesforce Service Cloud.
Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.
Podrobnosti konfigurace konektoru
Následující části obsahují podrobnosti o vlastnostech, které slouží k definování entit specifických pro konektor Salesforce Service Cloud.
Vlastnosti propojené služby
Pro propojenou službu Salesforce Service Cloud jsou podporovány následující vlastnosti.
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu musí být nastavena na SalesforceServiceCloudV2. | Ano |
environmentUrl | Zadejte adresu URL instance cloudu služby Salesforce. Zadejte "https://<domainName>.my.salesforce.com" například, že chcete kopírovat data z vlastní domény. Informace o konfiguraci nebo zobrazení vlastní domény najdete v tomto článku. |
Ano |
authenticationType | Typ ověřování sloužící k připojení ke cloudu služby Salesforce. Povolená hodnota je OAuth2ClientCredentials. |
Ano |
clientId | Zadejte ID klienta připojené aplikace Salesforce OAuth 2.0. Další informace najdete v tomto článku. | Ano |
clientSecret | Zadejte tajný klíč klienta připojené aplikace Salesforce OAuth 2.0. Další informace najdete v tomto článku. | Ano |
apiVersion | Zadejte verzi rozhraní Salesforce Bulk API 2.0, která se má použít, například 52.0 . Rozhraní Bulk API 2.0 podporuje pouze verzi >rozhraní API = 47.0. Informace o verzi bulk API 2.0 najdete v článku. Pokud použijete nižší verzi rozhraní API, dojde k selhání. |
Ano |
connectVia | Prostředí Integration Runtime , které se má použít pro připojení k úložišti dat. Pokud není zadaný, použije výchozí prostředí Azure Integration Runtime. | No |
Příklad: Uložení přihlašovacích údajů
{
"name": "SalesforceServiceCloudLinkedService",
"properties": {
"type": "SalesforceServiceCloudV2",
"typeProperties": {
"environmentUrl": "<environment URL>",
"authenticationType": "OAuth2ClientCredentials",
"clientId": "<client ID>",
"clientSecret": {
"type": "SecureString",
"value": "<client secret>"
},
"apiVersion": "<API Version>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Příklad: Uložení přihlašovacích údajů ve službě Key Vault
{
"name": "SalesforceServiceCloudLinkedService",
"properties": {
"type": "SalesforceServiceCloudV2",
"typeProperties": {
"environmentUrl": "<environment URL>",
"authenticationType": "OAuth2ClientCredentials",
"clientId": "<client ID>",
"clientSecret": {
"type": "AzureKeyVaultSecret",
"secretName": "<secret name of client secret in AKV>",
"store":{
"referenceName": "<Azure Key Vault linked service>",
"type": "LinkedServiceReference"
}
},
"apiVersion": "<API Version>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Vlastnosti datové sady
Úplný seznam oddílů a vlastností dostupných pro definování datových sad najdete v článku Datové sady . Tato část obsahuje seznam vlastností podporovaných datovou sadou Salesforce Service Cloud.
Pokud chcete kopírovat data z cloudu služeb Salesforce a do cloudu služby Salesforce, nastavte vlastnost typu datové sady na SalesforceServiceCloudV2Object. Podporují se následující vlastnosti.
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu musí být nastavena na SalesforceServiceCloudV2Object. | Ano |
objectApiName | Název cloudového objektu služby Salesforce pro načtení dat. Použitelná místní verze prostředí Integration Runtime je 5.44.8984.1 nebo vyšší. | Ne pro zdroj (pokud je zadán dotaz ve zdroji), Ano pro jímku |
reportId | ID sestavy Cloud služby Salesforce, ze které se mají načítat data. V jímce se nepodporuje. Mějte na paměti, že při používání sestav existují omezení . Použitelná místní verze prostředí Integration Runtime je 5.44.8984.1 nebo vyšší. | Ne pro zdroj (pokud je zadán dotaz ve zdroji), nepodporuje jímku. |
Důležité
Část "__c" názvu rozhraní API je nutná pro jakýkoli vlastní objekt.
Příklad:
{
"name": "SalesforceServiceCloudDataset",
"properties": {
"type": "SalesforceServiceCloudV2Object",
"typeProperties": {
"objectApiName": "MyTable__c"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<Salesforce Service Cloud linked service name>",
"type": "LinkedServiceReference"
}
}
}
Vlastnosti aktivity kopírování
Úplný seznam oddílů a vlastností dostupných pro definování aktivit najdete v článku Pipelines . Tato část obsahuje seznam vlastností podporovaných zdrojem a jímkou služby Salesforce.
Cloud služby Salesforce jako typ zdroje
Pokud chcete kopírovat data z cloudu služby Salesforce, nastavte typ zdroje v aktivitě kopírování na SalesforceServiceCloudV2Source. Ve zdrojové části aktivity kopírování jsou podporovány následující vlastnosti.
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu zdroje aktivity kopírování musí být nastavena na SalesforceServiceCloudV2Source. | Ano |
query | Ke čtení dat použijte vlastní dotaz. Dotaz salesforce Object Query Language (SOQL) můžete používat pouze s omezeními. Informace o omezeních SOQL najdete v tomto článku. Pokud není zadaný dotaz, načtou se všechna data objektu Salesforce zadaného v objektu objectApiName/reportId v datové sadě. | Ne (pokud je v datové sadě zadán parametr objectApiName/reportId) |
includeDeletedObjects | Označuje, zda se má dotazovat na existující záznamy, nebo dotazovat všechny záznamy včetně odstraněných záznamů. Pokud není zadáno, výchozí chování je false. Povolené hodnoty: false (výchozí), true. |
No |
Důležité
Část "__c" názvu rozhraní API je nutná pro jakýkoli vlastní objekt.
Příklad:
"activities":[
{
"name": "CopyFromSalesforceServiceCloud",
"type": "Copy",
"inputs": [
{
"referenceName": "<Salesforce Service Cloud input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SalesforceServiceCloudV2Source",
"query": "SELECT Col_Currency__c, Col_Date__c, Col_Email__c FROM AllDataType__c",
"includeDeletedObjects": false
},
"sink": {
"type": "<sink type>"
}
}
}
]
Cloud služby Salesforce jako typ jímky
Pokud chcete zkopírovat data do cloudu služby Salesforce, nastavte typ jímky v aktivitě kopírování na SalesforceServiceCloudV2Sink. Následující vlastnosti jsou podporovány v části jímky aktivity kopírování.
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu jímky aktivity kopírování musí být nastavena na SalesforceServiceCloudV2Sink. | Ano |
writeBehavior | Chování zápisu operace. Povolené hodnoty jsou Insert a Upsert. |
Ne (výchozí hodnota je Vložit) |
externalIdFieldName | Název pole externího ID pro operaci upsertu. Zadané pole musí být definováno jako "Pole externího ID" v objektu Cloud služby Salesforce. V odpovídajících vstupních datech nemůže mít hodnoty NULL. | Ano pro upsert |
writeBatchSize | Počet řádků dat zapsaných do cloudu služby Salesforce v každé dávce. Nastavte tuto hodnotu od 10 000 do 200 000. Příliš málo řádků v každé dávce sníží výkon kopírování. Příliš mnoho řádků v každé dávce může způsobit vypršení časového limitu rozhraní API. | Ne (výchozí hodnota je 100 000) |
ignoreNullValues | Určuje, zda se mají ignorovat hodnoty NULL ze vstupních dat během operace zápisu. Povolené hodnoty jsou true a false. - True: Při operaci upsertu nebo aktualizace ponechte data v cílovém objektu beze změny. Při operaci vložení vložte definovanou výchozí hodnotu. - False: Při operaci upsertu nebo aktualizace aktualizujte data v cílovém objektu na hodnotu NULL. Pokud provedete operaci vložení, vložte hodnotu NULL. |
Ne (výchozí hodnota je false) |
maxConcurrentConnections | Horní limit souběžných připojení vytvořených k úložišti dat během spuštění aktivity. Zadejte hodnotu pouze v případech, kdy chcete omezit souběžná připojení. | Ne |
Příklad: Jímka cloudu služby Salesforce v aktivitě kopírování
"activities":[
{
"name": "CopyToSalesforceServiceCloud",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Salesforce Service Cloud output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "SalesforceServiceCloudV2Sink",
"writeBehavior": "Upsert",
"externalIdFieldName": "CustomerId__c",
"writeBatchSize": 10000,
"ignoreNullValues": true
}
}
}
]
Mapování datových typů pro Cloud služby Salesforce
Při kopírování dat z cloudu služby Salesforce se následující mapování používají z datových typů cloudových služeb Salesforce k internímu zpracování datových typů v rámci služby. Informace o tom, jak aktivita kopírování mapuje zdrojové schéma a datový typ na jímku, najdete v tématu Mapování schématu a datového typu.
Datový typ Cloud služby Salesforce | Dočasný datový typ služby |
---|---|
Automatické číslo | String |
Checkbox | Logická hodnota |
Měna | Desetinné číslo |
Date | DateTime |
Datum a čas | DateTime |
String | |
ID | String |
Relace vyhledávání | String |
Vícenásobný výběr rozevíracího seznamu | String |
Počet | Des. místo |
Procenta | Desetinné číslo |
Telefon | String |
Picklist | String |
Text | String |
Oblast textu | String |
Textová oblast (dlouhá) | String |
Textová oblast (formát RTF) | String |
Text (šifrovaný) | String |
URL | String |
Poznámka:
Typ cloudových služeb Salesforce se mapuje na desetinný typ v kanálech Azure Data Factory a Azure Synapse jako dočasný datový typ služby. Desetinný typ respektuje definovanou přesnost a měřítko. U dat, jejichž desetinná místa překročí definované měřítko, se jeho hodnota zaokrouhlí v datech náhledu a zkopíruje se. Abyste se vyhnuli takové ztrátě přesnosti v kanálech Azure Data Factory a Azure Synapse, zvažte zvýšení desetinných míst na přiměřeně velkou hodnotu na stránce Upravit definici vlastního pole v cloudu služeb Salesforce.
Vlastnosti aktivity vyhledávání
Podrobnosti o vlastnostech najdete v aktivitě Vyhledávání.
Upgrade propojené služby Salesforce Service Cloud
Tady jsou kroky, které vám pomůžou upgradovat propojenou službu a související dotazy:
Na portálu Salesforce nakonfigurujte připojené aplikace podle požadavků.
Vytvořte novou propojenou službu Salesforce Service Cloud a nakonfigurujte ji pomocí odkazů na vlastnosti propojené služby.
Pokud používáte dotaz SQL ve zdroji aktivity kopírování nebo vyhledávací aktivitě odkazující na starší propojenou službu, musíte je převést na dotaz SOQL. Přečtěte si další informace o dotazu SOQL z cloudu služby Salesforce jako zdrojového typu a jazyku SOQL (Salesforce Object Query Language).
ReadBehavior je nahrazen parametrem includeDeletedObjects ve zdroji aktivity kopírování nebo vyhledávací aktivitou. Podrobnou konfiguraci najdete v části Cloud služby Salesforce jako typ zdroje.
Rozdíly mezi cloudem služeb Salesforce a cloudem služeb Salesforce (starší verze)
Konektor Salesforce Service Cloud nabízí nové funkce a je kompatibilní s většinou funkcí konektoru Salesforce Service Cloud (starší verze). Následující tabulka ukazuje rozdíly mezi funkcemi Salesforce Service Cloud a Salesforce Service Cloud (starší verze).
Cloud služeb Salesforce | Salesforce Service Cloud (starší verze) |
---|---|
Podpora SOQL v salesforce Bulk API 2.0. Dotazy SOQL: • Klauzule GROUP BY, LIMIT, ORDER BY, OFFSET nebo TYPEOF nejsou podporovány. • Agregační funkce, jako je COUNT(), nejsou podporované. K jejich implementaci můžete použít sestavy Salesforce. • Funkce kalendářních dat v klauzulích GROUP BY nejsou podporované, ale podporují se v klauzuli WHERE. • Složená pole adres nebo složená pole geografické polohy nejsou podporována. Alternativně se dotazujte na jednotlivé komponenty složených polí. • Dotazy relací nadřazenosti a podřízenosti nejsou podporovány, zatímco dotazy relací mezi podřízenými položkami jsou podporovány. |
Podporuje syntaxi SQL i SOQL. |
Objekty, které obsahují binární pole, se při zadávání dotazu nepodporují. | Objekty, které obsahují binární pole, jsou podporovány při zadávání dotazu. |
Podpora objektů v rozhraní Bulk API při zadávání dotazu | Podpora objektů, které nejsou podporovány rozhraním Bulk API při zadávání dotazu |
Podpora sestavy výběrem ID sestavy | Podpora syntaxe dotazu sestavy, například {call "<report name>"} . |
Související obsah
Seznam úložišť dat podporovaných jako zdroje a jímky aktivitou kopírování najdete v tématu Podporované úložiště dat.