Kopiera och transformera data i Dynamics 365 (Microsoft Dataverse) eller Dynamics CRM med hjälp av Azure Data Factory eller Azure Synapse Analytics
GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics
Dricks
Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!
Den här artikeln beskriver hur du använder en kopieringsaktivitet i Azure Data Factory eller Synapse-pipelines för att kopiera data från och till Dynamics 365 (Microsoft Dataverse) eller Dynamics CRM och använder ett dataflöde för att transformera data i Dynamics 365 (Microsoft Dataverse) eller Dynamics CRM. Mer information finns i introduktionsartiklarna för Azure Data Factory och Azure Synapse Analytics.
Funktioner som stöds
Den här anslutningsappen stöds för följande aktiviteter:
Funktioner som stöds | IR |
---|---|
Kopieringsaktivitet (källa/mottagare) | (1) (2) |
Mappa dataflöde (källa/mottagare) | (1) |
Sökningsaktivitet | (1) (2) |
(1) Azure Integration Runtime (2) Lokalt installerad integrationskörning
En lista över datalager som en kopieringsaktivitet stöder som källor och mottagare finns i tabellen Datalager som stöds.
Kommentar
Från och med november 2020 har Common Data Service bytt namn till Microsoft Dataverse. Den här artikeln uppdateras för att återspegla den senaste terminologin.
Den här Dynamics-anslutningsappen stöder Dynamics version 7 till och med 9 för både online och lokalt. Mer specifikt:
- Version 7 mappar till Dynamics CRM 2015.
- Version 8 mappar till Dynamics CRM 2016 och den tidiga versionen av Dynamics 365.
- Version 9 mappar till den senare versionen av Dynamics 365.
Se följande tabell med autentiseringstyper och konfigurationer som stöds för Dynamics-versioner och -produkter.
Dynamics-versioner | Autentiseringstyper | Länkade tjänstexempel |
---|---|---|
Dataversum Dynamics 365 online Dynamics CRM Online |
Microsoft Entra-tjänstens huvudnamn Office 365 Användartilldelad hanterad identitet |
Dynamics online och Microsoft Entra-tjänstens huvudnamn eller Office 365-autentisering |
Dynamics 365 lokalt med internetuppkopplad distribution (IFD) Dynamics CRM 2016 lokalt med IFD Dynamics CRM 2015 lokalt med IFD |
IFD | Dynamics lokalt med IFD- och IFD-autentisering |
Kommentar
Med utfasningen av den regionala identifieringstjänsten har tjänsten uppgraderats för att utnyttja den globala identifieringstjänsten när office 365-autentisering används.
Viktigt!
Om din klient och användare har konfigurerats i Microsoft Entra-ID för villkorlig åtkomst och/eller Multi-Factor Authentication krävs kan du inte använda Office 365-autentiseringstyp. I sådana situationer måste du använda en autentisering med tjänstens huvudnamn för Microsoft Entra.
Mer specifikt för Dynamics 365 stöds följande programtyper:
- Dynamics 365 for Sales
- Dynamics 365 for Customer Service
- Dynamics 365 for Field Service
- Dynamics 365 for Project Service Automation
- Dynamics 365 for Marketing
Den här anslutningsappen stöder inte andra programtyper som Finance, Operations och Talent.
Dricks
Om du vill kopiera data från Dynamics 365 Finance and Operations kan du använda Dynamics AX-anslutningsappen.
Den här Dynamics-anslutningsappen bygger på Dynamics XRM-verktyg.
Förutsättningar
Om du vill använda den här anslutningsappen med Microsoft Entra-tjänstens huvudnamnsautentisering måste du konfigurera S2S-autentisering (server-till-server) i Dataverse eller Dynamics. Registrera först programanvändaren (tjänstens huvudnamn) i Microsoft Entra-ID. Du kan ta reda på hur du gör detta här. Under programregistreringen måste du skapa den användaren i Dataverse eller Dynamics och bevilja behörigheter. Dessa behörigheter kan antingen beviljas direkt eller indirekt genom att lägga till programanvändaren i ett team som har beviljats behörigheter i Dataverse eller Dynamics. Mer information om hur du konfigurerar en programanvändare att autentisera med Dataverse finns här.
Kom igång
Om du vill utföra kopieringsaktiviteten med en pipeline kan du använda något av följande verktyg eller SDK:er:
- Verktyget Kopiera data
- Azure-portalen
- The .NET SDK
- The Python SDK
- Azure PowerShell
- REST-API:et
- Azure Resource Manager-mallen
Skapa en länkad tjänst till Dynamics 365 (Microsoft Dataverse) eller Dynamics CRM med hjälp av användargränssnittet
Använd följande steg för att skapa en länkad tjänst till Dynamics 365 i Användargränssnittet för Azure-portalen.
Bläddra till fliken Hantera i Din Azure Data Factory- eller Synapse-arbetsyta och välj Länkade tjänster och klicka sedan på Ny:
Sök efter Dynamics eller Dataverse och välj Dynamics 365 (Microsoft Dataverse) eller Dynamics CRM-anslutningsappen.
Konfigurera tjänstinformationen, testa anslutningen och skapa den nya länkade tjänsten.
Konfigurationsinformation för anslutningsprogram
Följande avsnitt innehåller information om egenskaper som används för att definiera entiteter som är specifika för Dynamics.
Länkade tjänstegenskaper
Följande egenskaper stöds för den länkade Dynamics-tjänsten.
Dynamics 365 och Dynamics CRM online
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typegenskapen måste vara inställd på "Dynamics", "DynamicsCrm" eller "CommonDataServiceForApps". | Ja |
deploymentType | Distributionstypen för Dynamics-instansen. Värdet måste vara "Online" för Dynamics online. | Ja |
serviceUri | Tjänst-URL:en för din Dynamics-instans, samma som du kommer åt från webbläsaren. Ett exempel är "https://< organization-name.crm>[x].dynamics.com". | Ja |
authenticationType | Autentiseringstypen för att ansluta till en Dynamics-server. Giltiga värden är "AADServicePrincipal", "Office365" och "ManagedIdentity". | Ja |
servicePrincipalId | Klient-ID för Microsoft Entra-programmet. | Ja när autentiseringen är "AADServicePrincipal" |
servicePrincipalCredentialType | Den typ av autentiseringsuppgifter som ska användas för autentisering med tjänstens huvudnamn. Giltiga värden är "ServicePrincipalKey" och "ServicePrincipalCert". Obs! Vi rekommenderar att du använder ServicePrincipalKey. Det finns en känd begränsning för autentiseringstypen ServicePrincipalCert där tjänsten kan stöta på ett tillfälligt problem med att det inte går att hämta hemligheten från nyckelvalvet. |
Ja när autentiseringen är "AADServicePrincipal" |
servicePrincipalCredential | Autentiseringsuppgifterna för tjänstens huvudnamn. När du använder "ServicePrincipalKey" som typ servicePrincipalCredential av autentiseringsuppgifter kan det vara en sträng som tjänsten krypterar vid länkad tjänstdistribution. Eller så kan det vara en referens till en hemlighet i Azure Key Vault. När du använder "ServicePrincipalCert" som autentiseringsuppgifter servicePrincipalCredential måste du vara en referens till ett certifikat i Azure Key Vault och se till att certifikatinnehållstypen är PKCS #12. |
Ja när autentiseringen är "AADServicePrincipal" |
användarnamn | Användarnamnet för att ansluta till Dynamics. | Ja när autentiseringen är "Office365" |
password | Lösenordet för det användarkonto som du angav som användarnamn. Markera det här fältet med "SecureString" för att lagra det på ett säkert sätt eller referera till en hemlighet som lagras i Azure Key Vault. | Ja när autentiseringen är "Office365" |
autentiseringsuppgifter | Ange den användartilldelade hanterade identiteten som autentiseringsobjekt. Skapa en eller flera användartilldelade hanterade identiteter, tilldela dem till din datafabrik och skapa autentiseringsuppgifter för varje användartilldelad hanterad identitet. |
Ja när autentisering är "ManagedIdentity" |
connectVia | Den integrationskörning som ska användas för att ansluta till datalagret. Om inget värde anges använder egenskapen standardkörningen för Azure-integrering. | Nej |
Kommentar
Dynamics-anslutningsappen använde tidigare den valfria egenskapen organizationName för att identifiera din Dynamics CRM- eller Dynamics 365-onlineinstans. Även om den egenskapen fortfarande fungerar föreslår vi att du anger den nya egenskapen serviceUri i stället för att få bättre prestanda för instansidentifiering.
Exempel: Dynamics online med microsoft entra-tjänstens huvudnamn och nyckelautentisering
{
"name": "DynamicsLinkedService",
"properties": {
"type": "Dynamics",
"typeProperties": {
"deploymentType": "Online",
"serviceUri": "https://<organization-name>.crm[x].dynamics.com",
"authenticationType": "AADServicePrincipal",
"servicePrincipalId": "<service principal id>",
"servicePrincipalCredentialType": "ServicePrincipalKey",
"servicePrincipalCredential": "<service principal key>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Exempel: Dynamics online med microsoft entra-tjänstens huvudnamn och certifikatautentisering
{
"name": "DynamicsLinkedService",
"properties": {
"type": "Dynamics",
"typeProperties": {
"deploymentType": "Online",
"serviceUri": "https://<organization-name>.crm[x].dynamics.com",
"authenticationType": "AADServicePrincipal",
"servicePrincipalId": "<service principal id>",
"servicePrincipalCredentialType": "ServicePrincipalCert",
"servicePrincipalCredential": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<AKV reference>",
"type": "LinkedServiceReference"
},
"secretName": "<certificate name in AKV>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Exempel: Dynamics online med Office 365-autentisering
{
"name": "DynamicsLinkedService",
"properties": {
"type": "Dynamics",
"typeProperties": {
"deploymentType": "Online",
"serviceUri": "https://<organization-name>.crm[x].dynamics.com",
"authenticationType": "Office365",
"username": "test@contoso.onmicrosoft.com",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Exempel: Dynamics online med användartilldelad hanterad identitetsautentisering
{
"name": "DynamicsLinkedService",
"properties": {
"type": "Dynamics",
"typeProperties": {
"deploymentType": "Online",
"serviceUri": "https://<organization-name>.crm[x].dynamics.com",
"authenticationType": "ManagedIdentity",
"credential": {
"referenceName": "credential1",
"type": "CredentialReference"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Dynamics 365 och Dynamics CRM lokalt med IFD
Ytterligare egenskaper som jämförs med Dynamics online är hostName och port.
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typegenskapen måste vara inställd på "Dynamics", "DynamicsCrm" eller "CommonDataServiceForApps". | Ja |
deploymentType | Distributionstypen för Dynamics-instansen. Värdet måste vara "OnPremisesWithIfd" för Dynamics lokalt med IFD. | Ja |
hostName | Värdnamnet för den lokala Dynamics-servern. | Ja |
port | Porten för den lokala Dynamics-servern. | Nej. Standardvärdet är 443. |
organizationName | Organisationsnamnet för Dynamics-instansen. | Ja |
authenticationType | Autentiseringstypen för att ansluta till Dynamics-servern. Ange "ActiveDirectoryAuthentication" för Dynamics lokalt med IFD. | Ja |
domain | Active Directory-domänen som ska verifiera användarautentiseringsuppgifter. | Ja |
användarnamn | Användarnamnet för att ansluta till Dynamics. | Ja |
password | Lösenordet för det användarkonto som du angav för användarnamnet. Du kan markera det här fältet med "SecureString" för att lagra det på ett säkert sätt. Eller så kan du lagra ett lösenord i Key Vault och låta kopieringsaktiviteten hämta därifrån när den kopierar data. Läs mer från Store-autentiseringsuppgifter i Key Vault. | Ja |
connectVia | Den integrationskörning som ska användas för att ansluta till datalagret. Om inget värde anges använder egenskapen standardkörningen för Azure-integrering. | Nej |
Kommentar
På grund av att ifd-autentiseringstypen har upphört att vara klar den 31 augusti 2024 uppgraderar du till Active Directory-autentiseringstyp före det datum då du använder den.
Exempel: Dynamics on-premises with IFD using Active Directory authentication (Dynamics on-premises with IFD using Active Directory authentication)
{
"name": "DynamicsLinkedService",
"properties": {
"type": "Dynamics",
"description": "Dynamics on-premises with IFD linked service using IFD authentication",
"typeProperties": {
"deploymentType": "OnPremisesWithIFD",
"hostName": "contosodynamicsserver.contoso.com",
"port": 443,
"organizationName": "admsDynamicsTest",
"authenticationType": "ActiveDirectoryAuthentication",
"domain": "< Active Directory domain >",
"username": "test@contoso.onmicrosoft.com",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Egenskaper för datauppsättning
En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera datauppsättningar finns i artikeln Datauppsättningar . Det här avsnittet innehåller en lista över egenskaper som stöds av Dynamics-datamängden.
Följande egenskaper stöds för att kopiera data från och till Dynamics:
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typegenskapen för datamängden måste anges till "DynamicsEntity", "DynamicsCrmEntity" eller "CommonDataServiceForAppsEntity". | Ja |
entityName | Det logiska namnet på den entitet som ska hämtas. | Nej för källan om aktivitetskällan anges som "fråga" och ja för mottagare |
Exempel
{
"name": "DynamicsDataset",
"properties": {
"type": "DynamicsEntity",
"schema": [],
"typeProperties": {
"entityName": "account"
},
"linkedServiceName": {
"referenceName": "<Dynamics linked service name>",
"type": "linkedservicereference"
}
}
}
Kopiera egenskaper för aktivitet
En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera aktiviteter finns i artikeln Pipelines . Det här avsnittet innehåller en lista över egenskaper som stöds av Dynamics käll- och mottagartyper.
Dynamics som källtyp
För att kopiera data från Dynamics stöder avsnittet kopieringsaktivitetskälla följande egenskaper:
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typegenskapen för kopieringsaktivitetskällan måste vara inställd på "DynamicsSource", "DynamicsCrmSource" eller "CommonDataServiceForAppsSource". | Ja |
query | FetchXML är ett proprietärt frågespråk som används i Dynamics online och lokalt. Se följande exempel. Mer information finns i Skapa frågor med FetchXML. | Nej om entityName i datamängden har angetts |
Kommentar
PK-kolumnen kopieras alltid ut även om den kolumnprojektion som du konfigurerar i FetchXML-frågan inte innehåller den.
Viktigt!
- När du kopierar data från Dynamics är explicit kolumnmappning från Dynamics till mottagare valfri. Men vi rekommenderar starkt mappningen för att säkerställa ett deterministiskt kopieringsresultat.
- När tjänsten importerar ett schema i redigeringsgränssnittet härleds schemat. Det gör det genom att sampling av de översta raderna från Dynamics-frågeresultatet initierar källkolumnlistan. I så fall utelämnas kolumner utan värden i de översta raderna. Samma beteende gäller även för dataförhandsgranskning och kopieringskörningar om det inte finns någon explicit mappning. Du kan granska och lägga till fler kolumner i mappningen, som respekteras under kopieringskörningen.
Exempel
"activities":[
{
"name": "CopyFromDynamics",
"type": "Copy",
"inputs": [
{
"referenceName": "<Dynamics input dataset>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "DynamicsSource",
"query": "<FetchXML Query>"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Exempel på FetchXML-fråga
<fetch>
<entity name="account">
<attribute name="accountid" />
<attribute name="name" />
<attribute name="marketingonly" />
<attribute name="modifiedon" />
<order attribute="modifiedon" descending="false" />
<filter type="and">
<condition attribute ="modifiedon" operator="between">
<value>2017-03-10 18:40:00z</value>
<value>2017-03-12 20:40:00z</value>
</condition>
</filter>
</entity>
</fetch>
Dynamics som mottagartyp
Om du vill kopiera data till Dynamics stöder avsnittet för kopieringsaktivitetsmottagare följande egenskaper:
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typegenskapen för kopieringsaktivitetsmottagaren måste vara inställd på "DynamicsSink", "DynamicsCrmSink" eller "CommonDataServiceForAppsSink". | Ja. |
writeBehavior | Skrivbeteendet för åtgärden. Värdet måste vara "Upsert". | Ja |
alternateKeyName | Det alternativa nyckelnamnet som definierats för din entitet för att göra en upsert. | Nej. |
writeBatchSize | Radantalet data som skrivits till Dynamics i varje batch. | Nej. Standardvärdet är 10. |
ignoreNullValues | Om du vill ignorera null-värden från andra indata än nyckelfält under en skrivåtgärd. Giltiga värden är TRUE och FALSE:
|
Nej. Standardvärdet är FALSE. |
maxConcurrentConnections | Den övre gränsen för samtidiga anslutningar som upprättats till datalagret under aktivitetskörningen. Ange endast ett värde när du vill begränsa samtidiga anslutningar. | Nej |
Kommentar
Standardvärdet för både mottagaren writeBatchSize och kopieringsaktiviteten parallelCopies för Dynamics-mottagare är 10. Därför skickas 100 poster samtidigt som standard till Dynamics.
För Dynamics 365 online finns det en gräns på 52 samtidiga batchanrop per organisation. Om den gränsen överskrids utlöses ett undantag för "Servern är upptagen" innan den första begäran någonsin körs. Behåll writeBatchSize vid 10 eller mindre för att undvika sådan begränsning av samtidiga anrop.
Den optimala kombinationen av writeBatchSize och parallelCopies beror på entitetens schema. Schemaelementen omfattar antalet kolumner, radstorlek och antalet plugin-program, arbetsflöden eller arbetsflödesaktiviteter som är kopplade till dessa anrop. Standardinställningen för writeBatchSize (10) × parallelCopies (10) är rekommendationen enligt Dynamics-tjänsten. Det här värdet fungerar för de flesta Dynamics-entiteter, även om det kanske inte ger bästa möjliga prestanda. Du kan justera prestanda genom att justera kombinationen i inställningarna för kopieringsaktiviteten.
Exempel
"activities":[
{
"name": "CopyToDynamics",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Dynamics output dataset>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "DynamicsSink",
"writeBehavior": "Upsert",
"writeBatchSize": 10,
"ignoreNullValues": true
}
}
}
]
Hämta data från vyer
Om du vill hämta data från Dynamics-vyer måste du hämta den sparade frågan i vyn och använda frågan för att hämta data.
Det finns två entiteter som lagrar olika typer av vyer: "sparad fråga" lagrar systemvyn och "användarfrågan" lagrar användarvyn. Information om vyerna finns i följande FetchXML-fråga och ersätt "TARGETENTITY" med savedquery
eller userquery
. Varje entitetstyp har fler tillgängliga attribut som du kan lägga till i frågan baserat på dina behov. Läs mer om entiteten savedquery och userquery.
<fetch top="5000" >
<entity name="<TARGETENTITY>">
<attribute name="name" />
<attribute name="fetchxml" />
<attribute name="returnedtypecode" />
<attribute name="querytype" />
</entity>
</fetch>
Du kan också lägga till filter för att filtrera vyerna. Lägg till exempel till följande filter för att hämta en vy med namnet "Mina aktiva konton" i kontoentiteten.
<filter type="and" >
<condition attribute="returnedtypecode" operator="eq" value="1" />
<condition attribute="name" operator="eq" value="My Active Accounts" />
</filter>
Datatypsmappning för Dynamics
När du kopierar data från Dynamics visar följande tabell mappningar från Dynamics-datatyper till mellanliggande datatyper i tjänsten. Information om hur en kopieringsaktivitet mappar till ett källschema och en datatyp mappar till en mottagare finns i Mappningar av schema- och datatyp.
Konfigurera motsvarande interimdatatyp i en datamängdsstruktur som baseras på din dynamics-källdatatyp med hjälp av följande mappningstabell:
Dynamics-datatyp | Tjänst interimsdatatyp | Stöds som källa | Stöds som mottagare |
---|---|---|---|
AttributeTypeCode.BigInt | Long | ✓ | ✓ |
AttributeTypeCode.Boolean | Booleskt | ✓ | ✓ |
AttributeType.Customer | GUID | ✓ | √ (Se vägledning) |
AttributeType.DateTime | Datetime | ✓ | ✓ |
AttributeType.Decimal | Decimal | ✓ | ✓ |
AttributeType.Double | Dubbel | ✓ | ✓ |
AttributeType.EntityName | String | ✓ | ✓ |
AttributeType.Integer | Int32 | ✓ | ✓ |
AttributeType.Lookup | GUID | ✓ | √ (Se vägledning) |
AttributeType.ManagedProperty | Booleskt | ✓ | |
AttributeType.Memo | String | ✓ | ✓ |
AttributeType.Money | Decimal | ✓ | ✓ |
AttributeType.Owner | GUID | ✓ | √ (Se vägledning) |
AttributeType.Picklist | Int32 | ✓ | ✓ |
AttributeType.Uniqueidentifier | GUID | ✓ | ✓ |
AttributeType.String | String | ✓ | ✓ |
AttributeType.State | Int32 | ✓ | ✓ |
AttributeType.Status | Int32 | ✓ | ✓ |
Kommentar
Dynamics-datatyperna AttributeType.CalendarRules, AttributeType.MultiSelectPicklist och AttributeType.PartyList stöds inte.
Skriva data till ett uppslagsfält
Om du vill skriva data till ett uppslagsfält med flera mål som Kund och Ägare följer du den här vägledningen och exemplet:
Gör så att källan innehåller både fältvärdet och motsvarande målentitetsnamn.
- Om alla poster mappas till samma målentitet kontrollerar du något av följande villkor:
- Källdata har en kolumn som lagrar målentitetsnamnet.
- Du har lagt till ytterligare en kolumn i kopieringsaktivitetskällan för att definiera målentiteten.
- Om olika poster mappas till olika målentiteter kontrollerar du att källdata har en kolumn som lagrar motsvarande målentitetsnamn.
- Om alla poster mappas till samma målentitet kontrollerar du något av följande villkor:
Mappa både värde- och entitetsreferenskolumnerna från källa till mottagare. Kolumnen entity-reference måste mappas till en virtuell kolumn med det särskilda namngivningsmönstret
{lookup_field_name}@EntityReference
. Kolumnen finns inte i Dynamics. Den används för att indikera att den här kolumnen är metadatakolumnen i det angivna uppslagsfältet för multitarget.
Anta till exempel att källan har följande två kolumner:
- Kolumnen CustomerField av typen GUID, som är det primära nyckelvärdet för målentiteten i Dynamics.
- Målkolumn av typen Sträng, som är det logiska namnet på målentiteten.
Anta också att du vill kopiera sådana data till dynamics-entitetsfältet CustomerField av typen Kund.
Mappa de två kolumnerna enligt följande i mappning av kopieringsaktivitetskolumner:
- CustomerField till CustomerField. Den här mappningen är den normala fältmappningen.
- Rikta in dig på CustomerField@EntityReference. Mottagarkolumnen är en virtuell kolumn som representerar entitetsreferensen. Ange sådana fältnamn i en mappning, eftersom de inte visas genom att importera scheman.
Om alla dina källposter mappas till samma målentitet och källdata inte innehåller målentitetsnamnet, så här är en genväg: Lägg till ytterligare en kolumn i kopieringsaktivitetskällan. Namnge den nya kolumnen med hjälp av mönstret {lookup_field_name}@EntityReference
, ange värdet till målentitetsnamnet och fortsätt sedan med kolumnmappning som vanligt. Om käll- och mottagarkolumnnamnen är identiska kan du också hoppa över explicit kolumnmappning eftersom kopieringsaktiviteten som standard mappar kolumner efter namn.
Skriva data till ett uppslagsfält via alternativa nycklar
Om du vill skriva data till ett uppslagsfält med hjälp av alternativa nyckelkolumner följer du den här vägledningen och exemplet:
Se till att källan innehåller alla uppslagsnyckelkolumner.
De alternativa nyckelkolumnerna måste mappas till kolumnen med det särskilda namngivningsmönstret
{lookup_field_name}@{alternate_key_column_name}
. Kolumnen finns inte i Dynamics. Den används för att indikera att den här kolumnen används för att leta upp posten i målentiteten.Gå till fliken Mappning i mottagartransformeringen av mappning av dataflöden. Välj den alternativa nyckeln som utdatakolumner under uppslagsfältet. Värdet efter anger nyckelkolumnerna i den här alternativa nyckeln.
När du har valt det visas de alternativa nyckelkolumnerna automatiskt nedan.
Mappa dina indatakolumner till vänster med utdatakolumnerna.
Kommentar
För närvarande stöds detta endast när du använder infogat läge i mottagartransformeringen av mappning av dataflöden.
Mappa dataflödesegenskaper
När du transformerar data i mappning av dataflöde kan du läsa från och skriva till tabeller i Dynamics. Mer information finns i källtransformering och mottagartransformation i mappning av dataflöden. Du kan välja att använda en Dynamics-datauppsättning eller en infogad datauppsättning som käll- och mottagartyp.
Källtransformering
Tabellen nedan visar de egenskaper som stöds av Dynamics. Du kan redigera dessa egenskaper på fliken Källalternativ .
Name | beskrivning | Obligatoriskt | Tillåtna värden | Egenskap för dataflödesskript |
---|---|---|---|---|
Enhetsnamn | Det logiska namnet på den entitet som ska hämtas. | Ja när du använder infogad datauppsättning | - | (endast för infogad datamängd) entity |
Fråga | FetchXML är ett proprietärt frågespråk som används i Dynamics online och lokalt. Se följande exempel. Mer information finns i Skapa frågor med FetchXML. | Nej | String | query |
Kommentar
Om du väljer Fråga som indatatyp kan kolumntypen från tabeller inte hämtas. Den behandlas som en sträng som standard.
Exempel på Dynamics-källskript
När du använder Dynamics-datauppsättningen som källtyp är det associerade dataflödesskriptet:
source(allowSchemaDrift: true,
validateSchema: false,
query: '<fetch mapping='logical' count='3 paging-cookie=''><entity name='new_dataflow_crud_test'><attribute name='new_name'/><attribute name='new_releasedate'/></entity></fetch>') ~> DynamicsSource
Om du använder infogad datauppsättning är det associerade dataflödesskriptet:
source(allowSchemaDrift: true,
validateSchema: false,
store: 'dynamics',
format: 'dynamicsformat',
entity: 'Entity1',
query: '<fetch mapping='logical' count='3 paging-cookie=''><entity name='new_dataflow_crud_test'><attribute name='new_name'/><attribute name='new_releasedate'/></entity></fetch>') ~> DynamicsSource
Transformering av mottagare
Tabellen nedan visar de egenskaper som stöds av Dynamics-mottagare. Du kan redigera dessa egenskaper på fliken Alternativ för mottagare.
Name | beskrivning | Obligatoriskt | Tillåtna värden | Egenskap för dataflödesskript |
---|---|---|---|---|
Alternativt nyckelnamn | Det alternativa nyckelnamnet som definierats för din entitet för att göra en uppdatering, upsert eller ta bort. | Nej | - | alternateKeyName |
Uppdatera metod | Ange vilka åtgärder som tillåts på databasmålet. Standardvärdet är att endast tillåta infogningar. För att uppdatera, öka eller ta bort rader krävs en Alter row-transformering för att tagga rader för dessa åtgärder. |
Ja | true eller false |
infogningsbar kan uppdateras upsertable kan tas bort |
Enhetsnamn | Det logiska namnet på den entitet som ska skrivas. | Ja när du använder infogad datauppsättning | - | (endast för infogad datamängd) entity |
Exempel på Dynamics-mottagarskript
När du använder Dynamics-datamängden som mottagartyp är det associerade dataflödesskriptet:
IncomingStream sink(allowSchemaDrift: true,
validateSchema: false,
deletable:true,
insertable:true,
updateable:true,
upsertable:true,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> DynamicsSink
Om du använder infogad datauppsättning är det associerade dataflödesskriptet:
IncomingStream sink(allowSchemaDrift: true,
validateSchema: false,
store: 'dynamics',
format: 'dynamicsformat',
entity: 'Entity1',
deletable: true,
insertable: true,
updateable: true,
upsertable: true,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> DynamicsSink
Egenskaper för uppslagsaktivitet
Mer information om egenskaperna finns i Sökningsaktivitet.
Relaterat innehåll
En lista över data som stöds lagrar kopieringsaktiviteten som källor och mottagare i Datalager som stöds.