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
aktiviteten Kopiera (källa/mottagare) ① ②
Mappa dataflöde (källa/mottagare)
Sökningsaktivitet ① ②

(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 aktiviteten Kopiera med en pipeline kan du använda något av följande verktyg eller SDK:er:

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.

  1. 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:

  2. Sök efter Dynamics eller Dataverse och välj Dynamics 365 (Microsoft Dataverse) eller Dynamics CRM-anslutningsappen.

    Screenshot of the Dynamics 365 connector.

    Screenshot of the Dataverse connector.

  3. Konfigurera tjänstinformationen, testa anslutningen och skapa den nya länkade tjänsten.

    Screenshot of linked service configuration for Dynamics 365.

Anslut eller konfigurationsinformation

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.
Värdnamn Värdnamnet för den lokala Dynamics-servern. Ja.
port Porten för den lokala Dynamics-servern. Nej. Standardvärdet är 443.
Organisationsnamn Organisationsnamnet för Dynamics-instansen. Ja.
authenticationType Autentiseringstypen för att ansluta till Dynamics-servern. Ange "Ifd" för Dynamics lokalt med IFD. 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

Exempel: Dynamics lokalt med IFD med IFD-autentisering

{
    "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": "Ifd",
            "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:
  • SANT: Lämna data i målobjektet oförändrade när du utför en upsert- eller uppdateringsåtgärd. Infoga ett definierat standardvärde när du utför en infogningsåtgärd.
  • FALSE: Uppdatera data i målobjektet till ett null-värde när du utför en upsert- eller uppdateringsåtgärd. Infoga ett null-värde när du utför en infogningsåtgärd.
Nej. Standardvärdet är FALSE.
maxConcurrent Anslut ions 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:

  1. 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.
  2. 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 digCustomerField@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.

Dynamics lookup-field column mapping

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.

Dynamics lookup-field adding an entity-reference column

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:

  1. Se till att källan innehåller alla uppslagsnyckelkolumner.

  2. 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.

  3. 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.

    Screenshot shows selecting alternate key columns.

  4. När du har valt det visas de alternativa nyckelkolumnerna automatiskt nedan.

    Screenshot shows mapping columns to lookup fields via alternate keys step 1.

  5. Mappa dina indatakolumner till vänster med utdatakolumnerna.

    Screenshot shows mapping columns to lookup fields via alternate keys step 2.

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
Uppdaterbar
upsertable
Deletable
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.

En lista över data som stöds lagrar kopieringsaktiviteten som källor och mottagare i Datalager som stöds.