Adatok másolása a Salesforce Service Cloudból és a Salesforce Service Cloudba az Azure Data Factory vagy a Synapse Analytics használatával (örökölt)

A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics

Tipp.

Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!

Ez a cikk bemutatja, hogyan használható a Másolási tevékenység az Azure Data Factoryben és a Synapse Analytics-folyamatokban adatok másolására a Salesforce Service Cloudból és a Salesforce Szolgáltatásfelhőbe. A másolási tevékenység áttekintési cikkére épül, amely általános áttekintést nyújt a másolási tevékenységről.

Fontos

A szolgáltatás kiadott egy új Salesforce Service Cloud-összekötőt, amely jobb natív Salesforce Service Cloud-támogatást biztosít. A részletekről a Salesforce Service Cloud-összekötőről szóló cikkben olvashat.

Támogatott képességek

Ez a Salesforce Service Cloud-összekötő a következő képességeket támogatja:

Támogatott képességek IR
Copy tevékenység (forrás/fogadó) (1) (2)
Keresési tevékenység (1) (2)

(1) Azure-integrációs modul (2) Saját üzemeltetésű integrációs modul

A forrásként vagy fogadóként támogatott adattárak listáját a Támogatott adattárak táblában találja.

Ez a Salesforce Service Cloud-összekötő a következőket támogatja:

  • Salesforce Developer, Professional, Enterprise vagy Unlimited kiadások.
  • Adatok másolása a Salesforce éles környezetéből, tesztkörnyezetéből és egyéni tartományából.

A Salesforce-összekötő a Salesforce REST/Bulk API-ra épül. Alapértelmezés szerint a Salesforce-ból történő adatmásoláskor az összekötő v45-öt használ, és automatikusan választ a REST és a Tömeges API-k között az adatméret alapján – ha az eredményhalmaz nagy, akkor a Tömeges API-t használja a jobb teljesítmény érdekében; amikor adatokat ír a Salesforce-ba, az összekötő a Bulk API 40-es verziójával dolgozik. A társított szolgáltatásban lévő tulajdonságon keresztül apiVersion az adatok olvasásához/írásához használt API-verziót is explicit módon beállíthatja.

Előfeltételek

Az API-engedélyt engedélyezni kell a Salesforce-ban.

Salesforce-kérelmek korlátai

A Salesforce mind a teljes API-kérésekre, mind az egyidejű API-kérelmekre vonatkozóan korlátozásokkal rendelkezik. Vegye figyelembe az alábbiakat:

  • Ha az egyidejű kérések száma meghaladja a korlátot, szabályozás történik, és véletlenszerű hibákat tapasztal.
  • Ha a kérelmek teljes száma meghaladja a korlátot, a Salesforce-fiók 24 órán keresztül le lesz tiltva.

Mindkét esetben előfordulhat, hogy a "REQUEST_LIMIT_EXC Enterprise kiadás DED" hibaüzenet jelenik meg. További információt a Salesforce fejlesztői korlátainak "API-kérelmek korlátai" című szakaszában talál.

Első lépések

A Copy tevékenység folyamattal való végrehajtásához használja az alábbi eszközök vagy SDK-k egyikét:

Társított szolgáltatás létrehozása a Salesforce Service Cloudhoz felhasználói felületen

Az alábbi lépéseket követve hozzon létre egy társított szolgáltatást a Salesforce Service Cloudhoz az Azure Portal felhasználói felületén.

  1. Keresse meg az Azure Data Factory vagy a Synapse-munkaterület Kezelés lapját, és válassza a Társított szolgáltatások lehetőséget, majd kattintson az Új gombra:

  2. Keresse meg a Salesforce-t, és válassza ki a Salesforce Service Cloud-összekötőt.

    Select the Salesforce Service Cloud connector.

  3. Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.

    Configure a linked service to Salesforce Service Cloud.

Csatlakozás or konfigurációjának részletei

A következő szakaszok a Salesforce Service Cloud-összekötőre jellemző Data Factory-entitások meghatározásához használt tulajdonságok részleteit ismertetik.

Társított szolgáltatás tulajdonságai

A Salesforce társított szolgáltatás esetében az alábbi tulajdonságok támogatottak.

Tulajdonság Leírás Kötelező
típus A típustulajdonságot SalesforceServiceCloud értékre kell állítani. Igen
environmentUrl Adja meg a Salesforce Service Cloud-példány URL-címét.
- Az alapértelmezett érték."https://login.salesforce.com"
- Ha adatokat szeretne másolni a tesztkörnyezetből, adja meg "https://test.salesforce.com".
- Ha egyéni tartományból szeretne adatokat másolni, adja meg például. "https://[domain].my.salesforce.com"
Nem
username Adja meg a felhasználói fiók felhasználónevét. Igen
jelszó Adja meg a felhasználói fiók jelszavát.

Jelölje meg ezt a mezőt SecureStringként, hogy biztonságosan tárolja, vagy hivatkozzon az Azure Key Vaultban tárolt titkos kódra.
Igen
securityToken Adjon meg egy biztonsági jogkivonatot a felhasználói fiókhoz.

A biztonsági jogkivonatok általános megismeréséhez tekintse meg a Biztonság és az API című témakört. A biztonsági jogkivonat csak akkor hagyható ki, ha hozzáadja az integrációs modul IP-címét a Salesforce megbízható IP-címlistájához . Az Azure IR használatakor tekintse meg az Azure Integration Runtime IP-címeit.

A biztonsági jogkivonat beszerzésére és alaphelyzetbe állítására vonatkozó utasításokért lásd : Biztonsági jogkivonat beszerzése. Jelölje meg ezt a mezőt SecureStringként, hogy biztonságosan tárolja a Data Factoryben, vagy hivatkozzon az Azure Key Vaultban tárolt titkos kódra.
Nem
apiVersion Adja meg a használni kívánt Salesforce REST/Bulk API-verziót, például. 48.0 Alapértelmezés szerint az összekötő a v45-ös verzióval másolja az adatokat a Salesforce-ból, és a v40-et használja az adatok Salesforce-ba másolásához. Nem
connectVia Az adattárhoz való csatlakozáshoz használandó integrációs modul . Ha nincs megadva, az alapértelmezett Azure Integration Runtime-t használja. Nem

Példa: Hitelesítő adatok tárolása

{
    "name": "SalesforceServiceCloudLinkedService",
    "properties": {
        "type": "SalesforceServiceCloud",
        "typeProperties": {
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            },
            "securityToken": {
                "type": "SecureString",
                "value": "<security token>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Példa: Hitelesítő adatok tárolása a Key Vaultban

{
    "name": "SalesforceServiceCloudLinkedService",
    "properties": {
        "type": "SalesforceServiceCloud",
        "typeProperties": {
            "username": "<username>",
            "password": {
                "type": "AzureKeyVaultSecret",
                "secretName": "<secret name of password in AKV>",
                "store":{
                    "referenceName": "<Azure Key Vault linked service>",
                    "type": "LinkedServiceReference"
                }
            },
            "securityToken": {
                "type": "AzureKeyVaultSecret",
                "secretName": "<secret name of security token in AKV>",
                "store":{
                    "referenceName": "<Azure Key Vault linked service>",
                    "type": "LinkedServiceReference"
                }
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Adathalmaz tulajdonságai

Az adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az Adathalmazok című cikkben találja. Ez a szakasz a Salesforce Service Cloud-adatkészlet által támogatott tulajdonságok listáját tartalmazza.

Az adatok a Salesforce Service Cloudból és a Salesforce Service Cloudba való másolásához az alábbi tulajdonságokat támogatják.

Tulajdonság Leírás Kötelező
típus A típustulajdonságot SalesforceServiceCloudObject értékre kell állítani. Igen
objectApiName Az adatok lekéréséhez használt Salesforce-objektum neve. Nem a forráshoz, igen a fogadóhoz

Fontos

Az API Name "__c" része minden egyéni objektumhoz szükséges.

Salesforce connection API Name

Példa:

{
    "name": "SalesforceServiceCloudDataset",
    "properties": {
        "type": "SalesforceServiceCloudObject",
        "typeProperties": {
            "objectApiName": "MyTable__c"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Salesforce Service Cloud linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}
Tulajdonság Leírás Kötelező
típus Az adathalmaz típustulajdonságának Relációs táblára kell állítania. Igen
tableName A Tábla neve a Salesforce Service Cloudban. Nem (ha "lekérdezés" van megadva a tevékenységforrásban)

Másolási tevékenység tulajdonságai

A tevékenységek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját a Folyamatok című cikkben találja. Ez a szakasz a Salesforce Service Cloud-forrás és fogadó által támogatott tulajdonságok listáját tartalmazza.

A Salesforce Service Cloud mint forrástípus

Ha a Salesforce Service Cloudból szeretne adatokat másolni, a másolási tevékenység forrás szakaszában az alábbi tulajdonságok támogatottak.

Tulajdonság Leírás Kötelező
típus A másolási tevékenység forrásának típustulajdonságát a SalesforceServiceCloudSource értékre kell állítani. Igen
Lekérdezés Adatok olvasása az egyéni lekérdezés használatával. Használhatja a Salesforce Object Query Language (SOQL) lekérdezést vagy az SQL-92 lekérdezést. További tippek a lekérdezési tippek szakaszban. Ha nincs megadva lekérdezés, a rendszer lekéri az adathalmaz "objectApiName" elemében megadott Salesforce Service Cloud-objektum összes adatát. Nem (ha az adathalmazban az "objectApiName" van megadva)
readBehavior Azt jelzi, hogy lekérdezi-e a meglévő rekordokat, vagy lekérdezi-e az összes rekordot, beleértve a törölt rekordokat is. Ha nincs megadva, az alapértelmezett viselkedés az előbbi.
Engedélyezett értékek: lekérdezés (alapértelmezett), queryAll.
Nem

Fontos

Az API Name "__c" része minden egyéni objektumhoz szükséges.

Salesforce connection API Name list

Példa:

"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": "SalesforceServiceCloudSource",
                "query": "SELECT Col_Currency__c, Col_Date__c, Col_Email__c FROM AllDataType__c"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Feljegyzés

A Salesforce Service Cloud-forrás nem támogatja a proxybeállításokat a saját üzemeltetésű integrációs modulban, de a fogadó igen.

Salesforce Service Cloud fogadótípusként

Ha adatokat szeretne átmásolni a Salesforce Szolgáltatásfelhőbe, a másolási tevékenység fogadó szakasza az alábbi tulajdonságokat támogatja.

Tulajdonság Leírás Kötelező
típus A másolási tevékenység fogadójának típustulajdonságát a SalesforceServiceCloudSink értékre kell állítani. Igen
writeBehavior A művelet írási viselkedése.
Az engedélyezett értékek a Beszúrás és az Upsert.
Nem (alapértelmezés: Beszúrás)
externalIdFieldName Az upsert művelet külső azonosító mezőjének neve. A megadott mezőt "Külső azonosító mezőként" kell definiálni a Salesforce Service Cloud objektumban. A megfelelő bemeneti adatokban nem lehetnek NULL értékek. Igen az "Upsert" esetében
writeBatchSize A Salesforce Service Cloudba írt adatok sorszáma minden kötegben. Nem (az alapértelmezett érték 5000)
ignoreNullValues Azt jelzi, hogy figyelmen kívül hagyja-e a bemeneti adatok NULL értékeit egy írási művelet során.
Az engedélyezett értékek igazak és hamisak.
- Igaz: Az upsert vagy a frissítési művelet végrehajtásakor hagyja változatlanul a célobjektumban lévő adatokat. Beszúráskor beszúrhat egy megadott alapértelmezett értéket.
- Hamis: Frissítse a célobjektumban lévő adatokat NULL értékre az upsert vagy a frissítési művelet végrehajtásakor. Null érték beszúrása beszúráskor.
Nem (az alapértelmezett érték hamis)
 maxConcurrent Csatlakozás ions Az adattárhoz a tevékenység futtatása során létrehozott egyidejű kapcsolatok felső korlátja. Csak akkor adjon meg értéket, ha korlátozni szeretné az egyidejű kapcsolatokat.  Nem

Példa:

"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": "SalesforceServiceCloudSink",
                "writeBehavior": "Upsert",
                "externalIdFieldName": "CustomerId__c",
                "writeBatchSize": 10000,
                "ignoreNullValues": true
            }
        }
    }
]

Lekérdezési tippek

Adatok lekérése Salesforce Service Cloud-jelentésből

Adatokat a Salesforce Service Cloud-jelentésekből lekérhet egy lekérdezés {call "<report name>"}megadásával. Például: "query": "{call \"TestReport\"}".

Törölt rekordok lekérése a Salesforce Szolgáltatásfelhő lomtárából

Ha le szeretné kérdezni a helyreállíthatóan törölt rekordokat a Salesforce Szolgáltatásfelhő lomtárából, megadhatja readBehavior a következőt: queryAll.

Az SOQL és az SQL-lekérdezés szintaxisának különbsége

Amikor adatokat másol a Salesforce Service Cloudból, SOQL-lekérdezést vagy SQL-lekérdezést is használhat. Vegye figyelembe, hogy ez a kettő különböző szintaxissal és funkciótámogatással rendelkezik, ne keverje össze. Javasoljuk, hogy használja az SOQL-lekérdezést, amelyet a Salesforce Service Cloud natív módon támogat. Az alábbi táblázat a főbb különbségeket sorolja fel:

Syntax SOQL mód SQL Mód
Oszlop kijelölése Számba kell vennie a lekérdezésben másolandó mezőket, például: SELECT field1, filed2 FROM objectname SELECT * az oszlopkijelölés mellett támogatott.
Idézőjelek A iktatott/objektumneveket nem lehet idézni. A mező-/objektumnevek idézhetők, például: SELECT "id" FROM "Account"
Datetime formátum A részleteket itt találja, és a következő szakaszban található példákat. A részleteket itt találja, és a következő szakaszban található példákat.
Logikai értékek Másként FalseTrueés , például SELECT … WHERE IsDeleted=True. 0 vagy 1 értékként jelölve, például. SELECT … WHERE IsDeleted=1
Oszlop átnevezése Nem támogatott. Támogatott, például: SELECT a AS b FROM ….
Kapcsolat Támogatott, pl. . Account_vod__r.nvs_Country__c Nem támogatott.

Adatok lekérése a DateTime oszlop where záradékával

Az SOQL- vagy SQL-lekérdezés megadásakor figyeljen a DateTime formátum különbségére. Példa:

  • SOQL-minta: SELECT Id, Name, BillingCity FROM Account WHERE LastModifiedDate >= @{formatDateTime(pipeline().parameters.StartTime,'yyyy-MM-ddTHH:mm:ssZ')} AND LastModifiedDate < @{formatDateTime(pipeline().parameters.EndTime,'yyyy-MM-ddTHH:mm:ssZ')}
  • SQL-minta: SELECT * FROM Account WHERE LastModifiedDate >= {ts'@{formatDateTime(pipeline().parameters.StartTime,'yyyy-MM-dd HH:mm:ss')}'} AND LastModifiedDate < {ts'@{formatDateTime(pipeline().parameters.EndTime,'yyyy-MM-dd HH:mm:ss')}'}

A MALFORMED_QUERY hibája: Csonkolt

Ha a "MALFORMED_QUERY: Csonkolt" hibaüzenetet kapja, az általában annak köszönhető, hogy a JunctionIdList típusú oszlop szerepel az adatokban, és a Salesforce korlátozza az ilyen adatok nagy számú sortal való támogatását. A probléma elhárításához próbálja meg kizárni a JunctionIdList oszlopot, vagy korlátozza a másolandó sorok számát (több másolási tevékenység futtatására is particionálhat).

Adattípus-leképezés a Salesforce Service Cloudhoz

Amikor adatokat másol a Salesforce Service Cloudból, a következő leképezéseket használja a Salesforce Service Cloud adattípusaitól a szolgáltatáson belül használt köztes adattípusokig. Ha tudni szeretné, hogy a másolási tevékenység hogyan képezi le a forrássémát és az adattípust a fogadóhoz, tekintse meg a séma- és adattípus-leképezéseket.

Salesforce Service Cloud-adattípus Köztes szolgáltatás adattípusa
Automatikus szám Sztring
Jelölőnégyzet Logikai
Pénznem Decimális
Dátum Dátum/idő
Dátum/idő Dátum/idő
E-mail Sztring
ID (Azonosító) Sztring
Keresési kapcsolat Sztring
Többválasztós lista Sztring
Szám Decimális
Százalék Decimális
Telefonszám Sztring
Értéklista Sztring
Szöveg Sztring
Szövegterület Sztring
Szövegterület (hosszú) Sztring
Szövegterület (rich) Sztring
Szöveg (titkosított) Sztring
URL-cím Sztring

Feljegyzés

A Salesforce szolgáltatás felhőszáma az Azure Data Factoryben és az Azure Synapse-folyamatokban a decimális típusra van megfeleltetve szolgáltatásközi adattípusként. A decimális típus a megadott pontosságot és skálázást tartja tiszteletben. Azon adatok esetében, amelyek tizedesjegyei túllépik a megadott skálát, annak értéke le lesz kerekítve az előzetes adatokban és a másolásban. Az Azure Data Factoryben és az Azure Synapse-folyamatokban az ilyen pontosságvesztés elkerülése érdekében fontolja meg a tizedesjegyek viszonylag nagy értékre való növelését a Salesforce Service Cloud Egyéni meződefiníció szerkesztési lapján.

Keresési tevékenység tulajdonságai

A tulajdonságok részleteinek megismeréséhez tekintse meg a keresési tevékenységet.

Következő lépések

A másolási tevékenység által forrásként és fogadóként támogatott adattárak listáját lásd : Támogatott adattárak.