Sdílet prostřednictvím


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:

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.

  1. 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ý:

  2. Vyhledejte Salesforce a vyberte konektor Salesforce Service Cloud.

    Snímek obrazovky s konektorem Salesforce Service Cloud

  3. Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.

    Snímek obrazovky s konfigurací propojené služby pro Cloud služby Salesforce

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.

Název rozhraní API pro připojení Salesforce

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.

Seznam názvů rozhraní API pro připojení Salesforce

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
Email 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:

  1. Na portálu Salesforce nakonfigurujte připojené aplikace podle požadavků.

  2. Vytvořte novou propojenou službu Salesforce Service Cloud a nakonfigurujte ji pomocí odkazů na vlastnosti propojené služby.

  3. 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).

  4. 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>"}.

Seznam úložišť dat podporovaných jako zdroje a jímky aktivitou kopírování najdete v tématu Podporované úložiště dat.