Megosztás:


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

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

Tip

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.

Important

A Salesforce V1-összekötő eltávolítási szakaszban van. Javasoljuk, hogy frissítse a Salesforce-összekötőt v1-ről V2-re.

Támogatott képességek

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

Támogatott képességek integrációs modul
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ágonapiVersion. Amikor adatokat másol a Salesforce-ba, az összekötő a BULK API 2.0-t használja.

Prerequisites

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

  • Konfigurálnia kell a Csatlakoztatott alkalmazásokat 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.

    Important

    • 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 lépnek fel.

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 másolási tevékenység végrehajtásához egy folyamattal használhatja 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.

Az összekötő 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.

Property Description Required
típus A típustulajdonságot SalesforceV2 értékre kell állítani. Yes
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.
Yes
authenticationType A Salesforce-hoz való csatlakozáshoz használt hitelesítés típusa.
Az engedélyezett érték az OAuth2ClientCredentials.
Yes
clientId Adja meg a Salesforce OAuth 2.0 csatlakoztatott alkalmazás ügyfélazonosítóját. További információkért tekintse meg ezt a cikket Yes
clientSecret Adja meg a Salesforce OAuth 2.0 csatlakoztatott alkalmazás ügyféltitkát. További információkért tekintse meg ezt a cikket Yes
apiVersion Adja meg például a Salesforce Bulk API 2.0-s 52.0verzióját. 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. Hiba történik, ha alacsonyabb API-verziót használ. Yes
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. No

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

A Hitelesítő adatok Key Vaultban, valamint a environmentUrl és a clientId környezetben való tárolásával a felhasználói felület használatával hosszabb ideig szerkesztheti a beállításokat. Be kell jelölni a Dinamikus tartalom megadása JSON formátumban jelölőnégyzetet, és ezt a konfigurációt manuálisan kell elvégeznie. Ennek a forgatókönyvnek 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"
        }
    }
}

Adatkészlet 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.

Property Description Required
típus A típustulajdonságot SalesforceV2Object értékre kell állítani. Yes
objectApiName Az adatok lekéréséhez használt Salesforce-objektum neve. A saját üzemeltetésű integrációs modul 5.44.8984.1-es vagy újabb verziója. Nem a forráshoz (ha a forrásban "lekérdezés" van megadva), Igen a fogadóhoz
reportId A Salesforce-jelentés azonosítója, amelyből adatokat kér le. Fogadóban nem támogatott. A jelentések használatakor korlátozások vonatkoznak. A saját üzemeltetésű integrációs modul 5.44.8984.1-es vagy újabb verziója. Nem a forráshoz (ha a forrásban "lekérdezés" van megadva), nem támogatja a fogadót

Important

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

Salesforce kapcsolat API-neve

Example:

{
    "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.

Property Description Required
típus A másolási tevékenység forrásának típustulajdonságát SalesforceV2Source értékre kell állítani. Yes
lekérdezés Adatok olvasása az egyéni lekérdezés használatával. Csak Salesforce Object Query Language (SOQL) lekérdezést használhat. Ha nincs megadva lekérdezés, a rendszer lekéri az adathalmaz "objectApiName/reportId" elemében megadott Salesforce-objektum összes adatát. Nem (ha az adathalmazban az "objectApiName/reportId" kifejezés van megadva)
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.
No
partitionOption Lehetővé teszi az optimális particionálási algoritmus automatikus észlelését és alkalmazását az olvasási átviteli sebesség optimalizálása érdekében, ha van ilyen. Javasolt, hogy a többszálas olvasás előnyeit élvező, hosszú időn át futó másolatok esetében adja meg a AutoDetect értéket. Az alapértelmezett érték a AutoDetect. No

Important

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

Salesforce kapcsolati API-névlista

Example:

"activities":[
    {
        "name": "CopyFromSalesforce",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Salesforce input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SalesforceV2Source",
                "query": "SELECT Col_Currency__c, Col_Date__c, Col_Email__c FROM AllDataType__c",
                "includeDeletedObjects": false,
                "partitionOption": "AutoDetect"
            },
            "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.

Property Description Required
típus A másolási tevékenység fogadójának típustulajdonságát SalesforceV2Sink értékre kell állítani. Yes
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)
 maxConcurrentConnections 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.  No

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 String
Checkbox logikai
Currency Decimal
Date DateTime
Dátum/Idő DateTime
Email String
azonosító String
Lekérdezési kapcsolat String
Többválasztós kiválasztási lista String
Number Decimal
Percent Decimal
Phone String
Picklist String
Text String
Szövegterület String
Szövegterület (hosszú) String
Szövegterület (rich) String
Szöveg (titkosított) String
URL String

Note

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 van 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-összekötő életciklusa és frissítése

Az alábbi táblázat a Salesforce-összekötő különböző verzióinak kiadási fázisát és változásnaplóit mutatja be:

Version Kiadási szakasz Változások naplója
Salesforce V1 Removed Nem alkalmazható.
Salesforce V2 Elérhető GA-verzió • Az alapszintű hitelesítés helyett támogassa az OAuth2ClientCredentials hitelesítést.

Csak az SOQL-lekérdezés támogatott.

• A jelentés támogatásához válasszon ki egy jelentésazonosítót.

• Támogatás partitionOption a másolási tevékenység forrásában.

• A readBehavior fel van cserélve includeDeletedObjects-re a másolási tevékenység forrásában vagy a keresési tevékenységben.

A Salesforce-összekötő frissítése v1-ről V2-re

Az alábbi lépések segítenek a Salesforce-összekötő 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. Manuálisan is frissítenie kell a régi társított szolgáltatásra támaszkodó meglévő adathalmazokat, és az egyes adathalmazokat az új társított szolgáltatás használatához kell szerkesztenie.

  3. Ha SQL-lekérdezést használ a másolási tevékenység forrásában vagy a V1 társított szolgáltatásra hivatkozó keresési tevékenységben, akkor 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. Támogassa partitionOption a másolási tevékenység forrását. A részletes konfigurációért tekintse meg a Salesforce-t forrástípusként.

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

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.