Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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:
- Adatok másolása eszköz
- Azure Portál
- .NET SDK
- Python SDK
- Azure PowerShell
- REST API
- Azure Resource Manager-sablon
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.
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:
Keresse meg a Salesforce-t, és válassza ki a Salesforce-összekötőt.
Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.
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.
Important
Az API Name "__c" része minden egyéni objektumhoz szükséges.
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.
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 |
| 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:
Konfigurálja a csatlakoztatott alkalmazásokat a Salesforce portálon az előfeltételekre hivatkozva.
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.
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.
Támogassa
partitionOptiona másolási tevékenység forrását. A részletes konfigurációért tekintse meg a Salesforce-t forrástípusként.readBehaviorhelyére a másolási tevékenység forrásában vagy a keresési tevékenységben kerülincludeDeletedObjects. A részletes konfigurációért tekintse meg a Salesforce-t forrástípusként.
Kapcsolódó tartalom
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.