Adatok másolása a Salesforce-ból és a Salesforce-ba az Azure Data Factory vagy az Azure Synapse Analytics használatával

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 az Azure Synapse-folyamatokban adatok másolására a Salesforce-ból és a Salesforce-ba. 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

Az új Salesforce-összekötő továbbfejlesztett natív Salesforce-támogatást biztosít. Ha a megoldásban az örökölt Salesforce-összekötőt használja, a támogatott verzió csak a visszamenőleges kompatibilitást szolgálja, tekintse meg a Salesforce-összekötő (örökölt) cikkét.

Támogatott képességek

Ez a Salesforce-ö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-összekötő a következőket támogatja:

  • Salesforce Developer, Professional, Enterprise vagy Unlimited kiadások.
  • Adatok másolása egyéni tartományból és tartományba (az egyéni tartomány éles és tesztkörnyezetekben is konfigurálható).

Explicit módon beállíthatja az ADATOK olvasásához/írásához használt API-verziót a társított szolgáltatásban lévő tulajdonságon keresztülapiVersion. Amikor adatokat másol a Salesforce-ba, az összekötő a BULK API 2.0-t használja.

Előfeltételek

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

  • Konfigurálnia kell a Csatlakozás ed Appst a Salesforce portálon erre a hivatalos dokumentumra hivatkozva, vagy lépésről lépésre útmutatót a jelen cikkben található javaslatban.

    Fontos

    • A végrehajtási felhasználónak csak API-engedéllyel kell rendelkeznie.
    • A hozzáférési jogkivonat lejárati ideje a frissítési jogkivonat helyett munkamenet-szabályzatokkal módosítható.

A Salesforce Bulk API 2.0 korlátai

A Salesforce Bulk API 2.0-val kérdezzük le és használjuk az adatok betöltését. A Bulk API 2.0-ban a kötegek automatikusan létrejönnek Önnek. 24 órás gördülő időszakonként legfeljebb 15 000 köteget küldhet be. Ha a kötegek túllépik a korlátot, hibák jelennek meg.

A Bulk API 2.0-ban csak a betöltési feladatok használnak kötegeket. A lekérdezési feladatok nem. További részletekért tekintse meg a kérelmek feldolgozásának módját a Bulk API 2.0 fejlesztői útmutatójában.

További információt a Salesforce fejlesztői korlátainak "Általános korlátok" 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-hoz felhasználói felülettel

Az alábbi lépésekkel létrehozhat egy társított szolgáltatást a Salesforce-hoz 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-összekötőt.

    Képernyőkép a Salesforce-összekötőről.

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

    Képernyőkép a Salesforce társított szolgáltatáskonfigurációjáról.

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

Az alábbi szakaszok a Salesforce-összekötőre jellemző entitások definiálá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 SalesforceV2 értékre kell állítani. Igen
environmentUrl Adja meg a Salesforce-példány URL-címét.
Megadhatja "https://<domainName>.my.salesforce.com" például, hogy adatokat másoljon az egyéni tartományból. Ebből a cikkből megtudhatja, hogyan konfigurálhatja vagy tekintheti meg az egyéni tartományát.
Igen
authenticationType A Salesforce-hoz való csatlakozáshoz használt hitelesítés típusa.
Az engedélyezett érték az OAuth2ClientCredentials.
Igen
clientId Adja meg a Salesforce OAuth 2.0 Csatlakozás ed alkalmazás ügyfélazonosítóját. További információkért tekintse meg ezt a cikket Igen
clientSecret Adja meg a Salesforce OAuth 2.0 Csatlakozás ed alkalmazás ügyféltitkát. További információkért tekintse meg ezt a cikket Igen
apiVersion Adja meg a Használni kívánt Salesforce Bulk API 2.0-s verzióját, például. 52.0 A Bulk API 2.0 csak az API 47.0-s verzióját >támogatja. A Bulk API 2.0 verziójáról a cikkből tájékozódhat. Ha alacsonyabb API-verziót használ, az hibát fog eredményezni. Igen
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": "SalesforceLinkedService",
    "properties": {
        "type": "SalesforceV2",
        "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élda: Hitelesítő adatok tárolása a Key Vaultban

{
    "name": "SalesforceLinkedService",
    "properties": {
        "type": "SalesforceV2",
        "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"
        }
    }
}

Példa: Hitelesítő adatok tárolása a Key Vaultban, valamint environmentUrl és clientId

Vegye figyelembe, hogy ezzel a művelettel többé nem fogja tudni használni a felhasználói felületet a beállítások szerkesztéséhez. A dinamikus tartalom megadása JSON formátumban jelölőnégyzet be lesz jelölve, és ezt a konfigurációt teljes mértékben kézzel kell szerkesztenie. Ennek az az előnye, hogy az ÖSSZES konfigurációs beállítást a Key Vaultból származtathatja ahelyett, hogy itt bármit paraméterezésre használna.

{
    "name": "SalesforceLinkedService",
    "properties": {
        "type": "SalesforceV2",
        "typeProperties": {
            "environmentUrl": {
                "type": "AzureKeyVaultSecret",
                "secretName": "<secret name of environment URL in AKV>",
                "store": {
                    "referenceName": "<Azure Key Vault linked service>",
                    "type": "LinkedServiceReference"
                },
            },
            "authenticationType": "OAuth2ClientCredentials",
            "clientId": {
                "type": "AzureKeyVaultSecret",
                "secretName": "<secret name of client ID in AKV>",
                "store": {
                    "referenceName": "<Azure Key Vault linked service>",
                    "type": "LinkedServiceReference"
                },
            },
            "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"
        }
    }
}

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 adatkészlet által támogatott tulajdonságok listáját tartalmazza.

Ha adatokat szeretne másolni a Salesforce-ból és a Salesforce-ba, állítsa az adathalmaz típustulajdonságát a SalesforceV2Object értékre. A következő tulajdonságok támogatottak.

Tulajdonság Leírás Kötelező
típus A típustulajdonságot SalesforceV2Object értékre kell állítani. Igen
objectApiName Az adatok lekéréséhez használt Salesforce-objektum neve. Nem a forráshoz (ha a forrásban "SOQLQuery" van megadva), Igen a fogadóhoz
reportId A Salesforce-jelentés azonosítója, amelyből adatokat kér le. A fogadó nem támogatja. Vegye figyelembe, hogy a jelentések használatakor korlátozások vannak érvényben. Nem a forráshoz (ha a forrásban "SOQLQuery" van megadva), nem támogatja a fogadót

Fontos

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

Salesforce kapcsolat API-neve

Példa:

{
    "name": "SalesforceDataset",
    "properties": {
        "type": "SalesforceV2Object",
        "typeProperties": {
            "objectApiName": "MyTable__c"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Salesforce linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

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 forrás és fogadó által támogatott tulajdonságok listáját tartalmazza.

Salesforce mint forrástípus

Ha adatokat szeretne másolni a Salesforce-ból, állítsa a másolási tevékenység forrástípusát a SalesforceV2Source-ra. 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 SalesforceV2Source értékre kell állítani. Igen
SOQLQuery Adatok olvasása az egyéni lekérdezés használatával. A Salesforce Object Query Language (SOQL) lekérdezés csak korlátozásokkal használható. Az SOQL-korlátozásokról ebben a cikkben olvashat. Ha a lekérdezés nincs megadva, a rendszer lekéri az adathalmaz "ObjectApiName/reportId" elemében megadott Salesforce-objektum összes adatát. Nem (ha "ObjectApiName/reportId" van megadva az adathalmazban)
includeDeletedObjects 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 hamis.
Engedélyezett értékek: hamis (alapértelmezett), igaz.
Nem

Fontos

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

Salesforce kapcsolati API-névlista

Példa:

"activities":[
    {
        "name": "CopyFromSalesforce",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Salesforce input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SalesforceV2Source",
                "SOQLQuery": "SELECT Col_Currency__c, Col_Date__c, Col_Email__c FROM AllDataType__c",
                "includeDeletedObjects": false
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Salesforce fogadótípusként

Ha adatokat szeretne átmásolni a Salesforce-ba, állítsa a fogadó típusát a másolási tevékenységben a SalesforceV2Sink értékre. A másolási tevékenység fogadó 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 fogadójának típustulajdonságát SalesforceV2Sink é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 objektumban. A megfelelő bemeneti adatokban nem lehetnek NULL értékek. Igen az "Upsert" esetében
writeBatchSize Az egyes kötegekben a Salesforce-ba írt adatok sorszáma. Javasoljuk, hogy állítsa be ezt az értéket 10 000-ről 200 000-re. Az egyes kötegek túl kevés sora csökkenti a másolási teljesítményt. Az egyes kötegek túl sok sora api-időtúllépést okozhat. Nem (az alapértelmezett érték 100 000)
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: Salesforce fogadó másolási tevékenységben

"activities":[
    {
        "name": "CopyToSalesforce",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Salesforce output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "SalesforceV2Sink",
                "writeBehavior": "Upsert",
                "externalIdFieldName": "CustomerId__c",
                "writeBatchSize": 10000,
                "ignoreNullValues": true
            }
        }
    }
]

Adattípus-leképezés a Salesforce-hoz

Amikor adatokat másol a Salesforce-ból, a következő leképezéseket használja a Salesforce adattípusaitól a szolgáltatás belső köztes adattípusaiig. 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-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-szám típusa az Azure Data Factory és az Azure Synapse-folyamatok decimális típusára 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 Egyéni meződefiníció szerkesztési oldalán.

Keresési tevékenység tulajdonságai

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

A Salesforce társított szolgáltatás frissítése

Az alábbi lépések segítenek a csatolt szolgáltatás és a kapcsolódó lekérdezések frissítésében:

  1. Konfigurálja a csatlakoztatott alkalmazásokat a Salesforce portálon az előfeltételekre hivatkozva.

  2. Hozzon létre egy új Salesforce társított szolgáltatást, és konfigurálja a társított szolgáltatás tulajdonságaira hivatkozva.

  3. Ha SQL-lekérdezést használ a másolási tevékenység forrásában vagy az örökölt társított szolgáltatásra hivatkozó keresési tevékenységben, azokat SOQL-lekérdezéssé kell konvertálnia. További információ a Salesforce-ból származó SOQL-lekérdezésről forrástípusként és a Salesforce Object Query Language (SOQL) nyelvről.

  4. A readBehavior helyére a másolási tevékenység forrásában vagy a keresési tevékenységben szereplőDeletedObjects elem kerül. A részletes konfigurációért tekintse meg a Salesforce-t forrástípusként.

Különbségek a Salesforce és a Salesforce között (örökölt)

A Salesforce-összekötő új funkciókat kínál, és kompatibilis a Salesforce (örökölt) összekötő legtöbb funkciójával. Az alábbi táblázat a Salesforce és a Salesforce (örökölt) funkcióbeli különbségeit mutatja be.

Salesforce Salesforce (örökölt)
Az SOQL támogatása a Salesforce Bulk API 2.0-n belül.
SOQL-lekérdezések esetén:
• A GROUP BY, LIMIT, ORDER BY, OFF Standard kiadás T vagy TYPEOF záradékok nem támogatottak.
• Az olyan összesítő függvények, mint például a DARAB() nem támogatottak, implementálhatók Salesforce-jelentések használatával.
• A GROUP BY záradékok dátumfüggvényei nem támogatottak, de a WHERE záradék támogatja őket.
• Az összetett címmezők és az összetett földrajzi hely mezők nem támogatottak. Másik lehetőségként lekérdezheti az összetett mezők egyes összetevőit.
• A szülő–gyermek kapcsolat lekérdezései nem támogatottak, míg a gyermek–szülő kapcsolat lekérdezései támogatottak.
Támogatja az SQL és a SOQL szintaxist is.
A bináris mezőket tartalmazó objektumok nem támogatottak. A bináris mezőket tartalmazó objektumok támogatottak, például a Melléklet objektum.
A Tömeges API-beli objektumok támogatása. További információkért tekintse meg ezt a cikket. Olyan objektumokat támogat, amelyeket nem támogat a Tömeges API, például a CaseStatus.
A jelentés támogatásához válasszon ki egy jelentésazonosítót. A jelentés lekérdezési szintaxisának támogatása, például {call "<report name>"}.

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.