Gegevens kopiëren en transformeren in Dynamics 365 (Microsoft Dataverse) of Dynamics CRM met behulp van Azure Data Factory of Azure Synapse Analytics

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

In dit artikel wordt beschreven hoe u een kopieeractiviteit gebruikt in Azure Data Factory- of Synapse-pijplijnen om gegevens te kopiëren van en naar Dynamics 365 (Microsoft Dataverse) of Dynamics CRM, en hoe u een gegevensstroom gebruikt om gegevens te transformeren in Dynamics 365 (Microsoft Dataverse) of Dynamics CRM. Lees de inleidingsartikelen van Azure Data Factory en Azure Synapse Analytics voor meer informatie.

Ondersteunde mogelijkheden

Deze connector wordt ondersteund voor de volgende activiteiten:

Ondersteunde mogelijkheden IR
Copy-activiteit (bron/sink) ① ②
Toewijzingsgegevensstroom (bron/sink)
Activiteit Lookup ① ②

(1) Azure Integration Runtime (2) Zelf-hostende Integration Runtime

Zie de tabel Ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die door een kopieeractiviteit worden ondersteund als bronnen en sinks.

Notitie

Met ingang van november 2020 is Common Data Service omgedoopt tot Microsoft Dataverse. Dit artikel wordt bijgewerkt met de nieuwste terminologie.

Deze Dynamics-connector ondersteunt Dynamics-versies 7 tot en met 9 voor zowel online als on-premises. Specifieke opdrachten:

  • Versie 7 is toegewezen aan Dynamics CRM 2015.
  • Versie 8 wordt toegewezen aan Dynamics CRM 2016 en de vroege versie van Dynamics 365.
  • Versie 9 wordt toegewezen aan de latere versie van Dynamics 365.

Raadpleeg de volgende tabel met ondersteunde verificatietypen en configuraties voor Dynamics-versies en -producten.

Dynamics-versies Verificatietypen Voorbeelden van gekoppelde services
Dataverse

Dynamics 365 online

Dynamics CRM Online
Microsoft Entra-service-principal

Office 365

Door de gebruiker toegewezen beheerde identiteit
Dynamics Online en Microsoft Entra-service-principal of Office 365-verificatie
Dynamics 365 on-premises met internetgerichte implementatie (IFD)

Dynamics CRM 2016 on-premises met IFD

Dynamics CRM 2015 on-premises met IFD
IFD Dynamics on-premises met IFD- en IFD-verificatie

Notitie

Met de afschaffing van regionale Discovery Service heeft de service een upgrade uitgevoerd om gebruik te maken van de globale Discovery-service tijdens het gebruik van Office 365-verificatie.

Belangrijk

Als uw tenant en gebruiker zijn geconfigureerd in Microsoft Entra ID voor voorwaardelijke toegang en/of Multi-Factor Authentication, kunt u het verificatietype Office 365 niet gebruiken. Voor dergelijke situaties moet u verificatie van een Microsoft Entra-service-principal gebruiken.

Voor Dynamics 365 worden de volgende toepassingstypen specifiek ondersteund:

  • Dynamics 365 for Sales
  • Dynamics 365 for Customer Service
  • Dynamics 365 for Field Service
  • Dynamics 365 for Project Service Automation
  • Dynamics 365 for Marketing

Deze connector biedt geen ondersteuning voor andere toepassingstypen, zoals Finance, Operations en Talent.

Tip

Als u gegevens wilt kopiëren uit Dynamics 365 Finance and Operations, kunt u de Dynamics AX-connector gebruiken.

Deze Dynamics-connector is gebaseerd op Dynamics XRM-hulpprogramma's.

Vereisten

Als u deze connector wilt gebruiken met verificatie van de Microsoft Entra-service-principal, moet u server-naar-serververificatie (S2S) instellen in Dataverse of Dynamics. Registreer eerst de toepassingsgebruiker (service-principal) in Microsoft Entra-id. Hier vindt u meer informatie over hoe u dit kunt doen. Tijdens de registratie van de toepassing moet u die gebruiker maken in Dataverse of Dynamics en machtigingen verlenen. Deze machtigingen kunnen direct of indirect worden verleend door de toepassingsgebruiker toe te voegen aan een team waaraan machtigingen zijn verleend in Dataverse of Dynamics. Hier vindt u meer informatie over het instellen van een toepassingsgebruiker voor verificatie met Dataverse.

Aan de slag

Als u de kopieeractiviteit wilt uitvoeren met een pijplijn, kunt u een van de volgende hulpprogramma's of SDK's gebruiken:

Een gekoppelde service maken voor Dynamics 365 (Microsoft Dataverse) of Dynamics CRM met behulp van de gebruikersinterface

Gebruik de volgende stappen om een gekoppelde service te maken voor Dynamics 365 in de gebruikersinterface van Azure Portal.

  1. Blader naar het tabblad Beheren in uw Azure Data Factory- of Synapse-werkruimte en selecteer Gekoppelde services en klik vervolgens op Nieuw:

  2. Zoek naar Dynamics of Dataverse en selecteer de Dynamics 365 (Microsoft Dataverse) of Dynamics CRM-connector.

    Screenshot of the Dynamics 365 connector.

    Screenshot of the Dataverse connector.

  3. Configureer de servicedetails, test de verbinding en maak de nieuwe gekoppelde service.

    Screenshot of linked service configuration for Dynamics 365.

configuratiedetails Verbinding maken or

De volgende secties bevatten details over eigenschappen die worden gebruikt om entiteiten te definiëren die specifiek zijn voor Dynamics.

Eigenschappen van gekoppelde service

De volgende eigenschappen worden ondersteund voor de gekoppelde Dynamics-service.

Dynamics 365 en Dynamics CRM online

Eigenschappen Beschrijving Vereist
type De typeeigenschap moet worden ingesteld op 'Dynamics', 'DynamicsCrm' of 'CommonDataServiceForApps'. Ja
deploymentType Het implementatietype van het Dynamics-exemplaar. De waarde moet Online zijn voor Dynamics Online. Ja
serviceUri De service-URL van uw Dynamics-exemplaar, hetzelfde exemplaar dat u opent vanuit de browser. Een voorbeeld is 'https://< organization-name.crm>[x].dynamics.com'. Ja
authenticationType Het verificatietype om verbinding te maken met een Dynamics-server. Geldige waarden zijn AADServicePrincipal, Office365 en ManagedIdentity. Ja
servicePrincipalId De client-id van de Microsoft Entra-toepassing. Ja wanneer verificatie 'AADServicePrincipal' is
servicePrincipalCredentialType Het referentietype dat moet worden gebruikt voor verificatie van de service-principal. Geldige waarden zijn ServicePrincipalKey en ServicePrincipalCert.

Opmerking: Het is raadzaam om ServicePrincipalKey te gebruiken. Er is een bekende beperking voor het referentietype ServicePrincipalCert, waarbij de service mogelijk een tijdelijk probleem ondervindt waarbij het ophalen van geheim uit de sleutelkluis mislukt.
Ja wanneer verificatie 'AADServicePrincipal' is
servicePrincipalCredential De referenties van de service-principal.

Wanneer u ServicePrincipalKey als referentietype gebruikt, servicePrincipalCredential kan dit een tekenreeks zijn die de service versleutelt bij de implementatie van de gekoppelde service. Of het kan een verwijzing naar een geheim in Azure Key Vault zijn.

Wanneer u ServicePrincipalCert als referentie gebruikt, servicePrincipalCredential moet u verwijzen naar een certificaat in Azure Key Vault en ervoor zorgen dat het certificaatinhoudstype PKCS #12 is.
Ja wanneer verificatie 'AADServicePrincipal' is
gebruikersnaam De gebruikersnaam om verbinding te maken met Dynamics. Ja wanneer verificatie 'Office365' is
password Het wachtwoord voor het gebruikersaccount dat u hebt opgegeven als de gebruikersnaam. Markeer dit veld met SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault. Ja wanneer verificatie 'Office365' is
aanmeldingsgegevens Geef de door de gebruiker toegewezen beheerde identiteit op als referentieobject.

Maak een of meerdere door de gebruiker toegewezen beheerde identiteiten, wijs deze toe aan uw data factory en maak referenties voor elke door de gebruiker toegewezen beheerde identiteit.
Ja wanneer verificatie 'ManagedIdentity' is
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. Als er geen waarde is opgegeven, gebruikt de eigenschap de standaard Azure Integration Runtime. Nr.

Notitie

De Dynamics-connector heeft voorheen de optionele eigenschap OrganizationName gebruikt om uw Dynamics CRM- of Dynamics 365 Online-exemplaar te identificeren. Hoewel deze eigenschap nog steeds werkt, raden we u aan om in plaats daarvan de nieuwe serviceUri-eigenschap op te geven om betere prestaties te verkrijgen voor exemplaardetectie.

Voorbeeld: Dynamics Online met microsoft Entra-service-principal en sleutelverificatie

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

Voorbeeld: Dynamics Online met microsoft Entra-service-principal en certificaatverificatie

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

Voorbeeld: Dynamics Online met Office 365-verificatie

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

Voorbeeld: Dynamics Online met door de gebruiker toegewezen beheerde identiteitverificatie

{
    "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 en Dynamics CRM on-premises met IFD

Aanvullende eigenschappen die vergelijken met Dynamics Online zijn hostName en poort.

Eigenschappen Beschrijving Vereist
type De typeeigenschap moet worden ingesteld op 'Dynamics', 'DynamicsCrm' of 'CommonDataServiceForApps'. Ja.
deploymentType Het implementatietype van het Dynamics-exemplaar. De waarde moet 'OnPremisesWithIfd' zijn voor Dynamics on-premises met IFD. Ja.
Hostname De hostnaam van de on-premises Dynamics-server. Ja.
poort De poort van de on-premises Dynamics-server. Nee De standaardwaarde is 443.
Naamorganisatie De naam van de organisatie van het Dynamics-exemplaar. Ja.
authenticationType Het verificatietype om verbinding te maken met de Dynamics-server. Geef 'Ifd' op voor Dynamics on-premises met IFD. Ja.
gebruikersnaam De gebruikersnaam om verbinding te maken met Dynamics. Ja.
password Het wachtwoord voor het gebruikersaccount dat u hebt opgegeven voor de gebruikersnaam. U kunt dit veld markeren met SecureString om het veilig op te slaan. U kunt ook een wachtwoord opslaan in Key Vault en de kopieeractiviteit daar laten ophalen wanneer er gegevens worden gekopieerd. Meer informatie over Store-referenties in Key Vault. Ja.
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. Als er geen waarde is opgegeven, gebruikt de eigenschap de standaard Azure Integration Runtime. Nee

Voorbeeld: Dynamics on-premises met IFD met behulp van IFD-verificatie

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

Eigenschappen van gegevensset

Zie het artikel Gegevenssets voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van gegevenssets . Deze sectie bevat een lijst met eigenschappen die worden ondersteund door dynamics-gegevensset.

De volgende eigenschappen worden ondersteund om gegevens van en naar Dynamics te kopiëren:

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de gegevensset moet worden ingesteld op DynamicsEntity, DynamicsCrmEntity of CommonDataServiceForAppsEntity. Ja
entityName De logische naam van de entiteit die moet worden opgehaald. Nee voor de bron als de activiteitsbron is opgegeven als 'query' en ja voor sink

Opmerking

{
    "name": "DynamicsDataset",
    "properties": {
        "type": "DynamicsEntity",
        "schema": [],
        "typeProperties": {
            "entityName": "account"
        },
        "linkedServiceName": {
            "referenceName": "<Dynamics linked service name>",
            "type": "linkedservicereference"
        }
    }
}

Eigenschappen van de kopieeractiviteit

Zie het artikel Pijplijnen voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van activiteiten. Deze sectie bevat een lijst met eigenschappen die worden ondersteund door dynamics-bron- en sinktypen.

Dynamics as a source type

Als u gegevens uit Dynamics wilt kopiëren, ondersteunt de sectie van de kopieeractiviteitsbron de volgende eigenschappen:

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de bron van de kopieeractiviteit moet worden ingesteld op DynamicsSource, DynamicsCrmSource of CommonDataServiceForAppsSource. Ja
query FetchXML is een eigen querytaal die wordt gebruikt in Dynamics Online en on-premises. Zie het volgende voorbeeld. Zie Query's bouwen met FetchXML voor meer informatie. Nee als entityName in de gegevensset is opgegeven

Notitie

De PK-kolom wordt altijd gekopieerd, zelfs als de kolomprojectie die u in de FetchXML-query configureert, deze niet bevat.

Belangrijk

  • Wanneer u gegevens kopieert uit Dynamics, is expliciete kolomtoewijzing van Dynamics naar sink optioneel. Maar we raden de toewijzing ten zeerste aan om een deterministisch kopieerresultaat te garanderen.
  • Wanneer de service een schema in de ontwerpgebruikersinterface importeert, wordt het schema afgeleid. Dit doet u door de bovenste rijen van het Dynamics-queryresultaat te nemen om de lijst met bronkolommen te initialiseren. In dat geval worden kolommen zonder waarden in de bovenste rijen weggelaten. Hetzelfde gedrag is ook van toepassing op uitvoeringen van gegevensvoorbeelden en kopieerbewerkingen als er geen expliciete toewijzing is. U kunt meer kolommen bekijken en toevoegen aan de toewijzing, die worden uitgevoerd tijdens de kopieerruntime.

Opmerking

"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>"
            }
        }
    }
]

Voorbeeld van FetchXML-query

<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 as a sink type

Als u gegevens naar Dynamics wilt kopiëren, ondersteunt de sinksectie van de kopieeractiviteit de volgende eigenschappen:

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de sink voor kopieeractiviteit moet worden ingesteld op DynamicsSink, DynamicsCrmSink of CommonDataServiceForAppsSink. Ja.
writeBehavior Het schrijfgedrag van de bewerking. De waarde moet Upsert zijn. Ja
alternateKeyName De alternatieve sleutelnaam die is gedefinieerd voor uw entiteit om een upsert uit te voeren. Nee
writeBatchSize Het aantal rijen van gegevens dat in elke batch naar Dynamics is geschreven. Nee De standaardwaarde is 10.
ignoreNullValues Of null-waarden worden genegeerd uit andere invoergegevens dan sleutelvelden tijdens een schrijfbewerking.

Geldige waarden zijn WAAR en ONWAAR:
  • TRUE: Laat de gegevens in het doelobject ongewijzigd wanneer u een upsert- of updatebewerking uitvoert. Voeg een gedefinieerde standaardwaarde in wanneer u een invoegbewerking uitvoert.
  • ONWAAR: Werk de gegevens in het doelobject bij naar een null-waarde wanneer u een upsert- of updatebewerking uitvoert. Voeg een null-waarde in wanneer u een invoegbewerking uitvoert.
Nee De standaardwaarde is FALSE.
maxConcurrent Verbinding maken ions De bovengrens van gelijktijdige verbindingen die tijdens de uitvoering van de activiteit tot stand zijn gebracht met het gegevensarchief. Geef alleen een waarde op wanneer u gelijktijdige verbindingen wilt beperken. Nr.

Notitie

De standaardwaarde voor zowel de sink writeBatchSize als de kopieeractiviteit parallelCopies voor de Dynamics-sink is 10. Daarom worden standaard 100 records verzonden naar Dynamics.

Voor Dynamics 365 online geldt een limiet van 52 gelijktijdige batchaanroepen per organisatie. Als deze limiet wordt overschreden, wordt er een uitzondering 'Server bezet' gegenereerd voordat de eerste aanvraag ooit wordt uitgevoerd. Houd writeBatchSize op 10 of minder om dergelijke beperking van gelijktijdige aanroepen te voorkomen.

De optimale combinatie van writeBatchSize en parallelCopies is afhankelijk van het schema van uw entiteit. Schema-elementen omvatten het aantal kolommen, de rijgrootte en het aantal invoegtoepassingen, werkstromen of werkstroomactiviteiten die zijn gekoppeld aan deze aanroepen. De standaardinstelling van writeBatchSize (10) × parallelCopies (10) is de aanbeveling volgens de Dynamics-service. Deze waarde werkt voor de meeste Dynamics-entiteiten, hoewel deze mogelijk niet de beste prestaties biedt. U kunt de prestaties afstemmen door de combinatie in de instellingen voor de kopieeractiviteit aan te passen.

Opmerking

"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
            }
        }
    }
]

Gegevens ophalen uit weergaven

Als u gegevens wilt ophalen uit Dynamics-weergaven, moet u de opgeslagen query van de weergave ophalen en de query gebruiken om de gegevens op te halen.

Er zijn twee entiteiten waarin verschillende typen weergaven worden opgeslagen: systeemweergave 'opgeslagen query' en 'gebruikersquery' slaat de gebruikersweergave op. Als u de informatie van de weergaven wilt ophalen, raadpleegt u de volgende FetchXML-query en vervangt u de TARGETENTITY door savedquery of userquery. Elk entiteitstype heeft meer beschikbare kenmerken die u aan de query kunt toevoegen op basis van uw behoeften. Meer informatie over opgeslagenquery-entiteit en userquery-entiteit.

<fetch top="5000" >
  <entity name="<TARGETENTITY>">
    <attribute name="name" />
    <attribute name="fetchxml" />
    <attribute name="returnedtypecode" />
    <attribute name="querytype" />
  </entity>
</fetch>

U kunt ook filters toevoegen om de weergaven te filteren. Voeg bijvoorbeeld het volgende filter toe om een weergave met de naam Mijn actieve accounts op te halen in de accountentiteit.

<filter type="and" >
    <condition attribute="returnedtypecode" operator="eq" value="1" />
    <condition attribute="name" operator="eq" value="My Active Accounts" />
</filter>

Toewijzing van gegevenstypen voor Dynamics

Wanneer u gegevens kopieert uit Dynamics, ziet u in de volgende tabel toewijzingen van Dynamics-gegevenstypen aan tussentijdse gegevenstypen binnen de service. Zie Schema- en gegevenstypetoewijzingen voor meer informatie over hoe een kopieeractiviteit wordt toegewezen aan een bronschema en een gegevenstype dat is toegewezen aan een sink.

Configureer het bijbehorende tussentijdse gegevenstype in een gegevenssetstructuur die is gebaseerd op uw dynamics-brongegevenstype met behulp van de volgende toewijzingstabel:

Dynamics-gegevenstype Tussentijdse servicegegevenstype Ondersteund als bron Ondersteund als sink
AttributeTypeCode.BigInt Lang
AttributeTypeCode.Boolean Boolean
AttributeType.Customer GUID ✓ (Zie richtlijnen)
AttributeType.DateTime Datum/tijd
AttributeType.Decimal Decimal
AttributeType.Double Dubbel
AttributeType.EntityName String
AttributeType.Integer Int32
AttributeType.Lookup GUID ✓ (Zie richtlijnen)
AttributeType.ManagedProperty Boolean
AttributeType.Memo String
AttributeType.Money Decimal
AttributeType.Owner GUID ✓ (Zie richtlijnen)
AttributeType.Picklist Int32
AttributeType.Uniqueidentifier GUID
AttributeType.String String
AttributeType.State Int32
AttributeType.Status Int32

Notitie

De Dynamics-gegevenstypen AttributeType.CalendarRules, AttributeType.MultiSelectPicklist en AttributeType.PartyList worden niet ondersteund.

Gegevens schrijven naar een opzoekveld

Als u gegevens wilt schrijven naar een opzoekveld met meerdere doelen, zoals Klant en Eigenaar, volgt u deze richtlijnen en voorbeeld:

  1. Zorg ervoor dat de bron zowel de veldwaarde als de bijbehorende naam van de doelentiteit bevat.

    • Als alle records zijn toegewezen aan dezelfde doelentiteit, moet u een van de volgende voorwaarden controleren:
      • Uw brongegevens hebben een kolom waarin de naam van de doelentiteit wordt opgeslagen.
      • U hebt een extra kolom toegevoegd aan de bron van de kopieeractiviteit om de doelentiteit te definiëren.
    • Als verschillende records zijn toegewezen aan verschillende doelentiteiten, moet u ervoor zorgen dat uw brongegevens een kolom hebben waarin de bijbehorende naam van de doelentiteit wordt opgeslagen.
  2. Wijs zowel de waarde- als de entiteitsverwijzingskolommen toe van de bron naar de sink. De kolom entiteitsverwijzing moet worden toegewezen aan een virtuele kolom met het speciale naamgevingspatroon {lookup_field_name}@EntityReference. De kolom bestaat niet in Dynamics. Deze kolom wordt gebruikt om aan te geven dat deze kolom de metagegevenskolom is van het opgegeven opzoekveld voor multitarget.

Stel dat de bron de volgende twee kolommen heeft:

  • De kolom CustomerField van het type GUID, de primaire sleutelwaarde van de doelentiteit in Dynamics.
  • Doelkolom van het type Tekenreeks, de logische naam van de doelentiteit.

Stel ook dat u dergelijke gegevens wilt kopiëren naar het dynamics-entiteitsveld Sink CustomerField van het type Klant.

Wijs in kolomtoewijzing van kopieeractiviteit de twee kolommen als volgt toe:

  • CustomerField naar CustomerField. Deze toewijzing is de normale veldtoewijzing.
  • Doel voor CustomerField@EntityReference. De sinkkolom is een virtuele kolom die de entiteitsverwijzing vertegenwoordigt. Voer dergelijke veldnamen in een toewijzing in, omdat ze niet worden weergegeven door schema's te importeren.

Dynamics lookup-field column mapping

Als al uw bronrecords zijn toegewezen aan dezelfde doelentiteit en uw brongegevens de naam van de doelentiteit niet bevatten, volgt een snelkoppeling: voeg in de bron van de kopieeractiviteit een extra kolom toe. Geef de nieuwe kolom een naam met behulp van het patroon {lookup_field_name}@EntityReference, stel de waarde in op de naam van de doelentiteit en ga vervolgens verder met kolomtoewijzing zoals gebruikelijk. Als de namen van de bron- en sinkkolommen identiek zijn, kunt u ook expliciete kolomtoewijzing overslaan, omdat de kopieeractiviteit standaard kolommen op naam toewijst.

Dynamics lookup-field adding an entity-reference column

Gegevens schrijven naar een opzoekveld via alternatieve sleutels

Als u gegevens wilt schrijven naar een opzoekveld met alternatieve sleutelkolommen, volgt u deze richtlijnen en het voorbeeld:

  1. Zorg ervoor dat uw bron alle opzoeksleutelkolommen bevat.

  2. De alternatieve sleutelkolommen moeten worden toegewezen aan de kolom met het speciale naamgevingspatroon {lookup_field_name}@{alternate_key_column_name}. De kolom bestaat niet in Dynamics. Het wordt gebruikt om aan te geven dat deze kolom wordt gebruikt om de record in de doelentiteit op te zoeken.

  3. Ga naar het tabblad Toewijzing in de sinktransformatie van toewijzingsgegevensstromen. Selecteer de alternatieve sleutel als uitvoerkolommen onder het opzoekveld. De waarde na geeft de sleutelkolommen van deze alternatieve sleutel aan.

    Screenshot shows selecting alternate key columns.

  4. Zodra deze optie is geselecteerd, worden de alternatieve sleutelkolommen automatisch hieronder weergegeven.

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

  5. Wijs de invoerkolommen aan de linkerkant toe met de uitvoerkolommen.

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

Notitie

Dit wordt momenteel alleen ondersteund wanneer u de inlinemodus gebruikt in de sinktransformatie van toewijzingsgegevensstromen.

Eigenschappen van toewijzingsgegevensstroom

Wanneer u gegevens transformeert in de toewijzingsgegevensstroom, kunt u lezen van en schrijven naar tabellen in Dynamics. Zie de brontransformatie en sinktransformatie in toewijzingsgegevensstromen voor meer informatie. U kunt ervoor kiezen om een Dynamics-gegevensset of een inlinegegevensset te gebruiken als bron- en sinktype.

Brontransformatie

De onderstaande tabel bevat de eigenschappen die door Dynamics worden ondersteund. U kunt deze eigenschappen bewerken op het tabblad Bronopties .

Name Beschrijving Vereist Toegestane waarden Eigenschap gegevensstroomscript
Naam van entiteit De logische naam van de entiteit die moet worden opgehaald. Ja bij gebruik van inlinegegevensset - (alleen voor inlinegegevensset)
entity
Query’s uitvoeren FetchXML is een eigen querytaal die wordt gebruikt in Dynamics Online en on-premises. Zie het volgende voorbeeld. Zie Query's bouwen met FetchXML voor meer informatie. Nee String query

Notitie

Als u Query als invoertype selecteert, kan het kolomtype uit tabellen niet worden opgehaald. Deze wordt standaard behandeld als tekenreeks.

Voorbeeld van Dynamics-bronscript

Wanneer u Dynamics-gegevensset als brontype gebruikt, is het bijbehorende gegevensstroomscript:

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

Als u inlinegegevensset gebruikt, is het bijbehorende gegevensstroomscript:

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

Sinktransformatie

De onderstaande tabel bevat de eigenschappen die worden ondersteund door Dynamics Sink. U kunt deze eigenschappen bewerken op het tabblad Sink-opties .

Name Beschrijving Vereist Toegestane waarden Eigenschap gegevensstroomscript
Alternatieve sleutelnaam De alternatieve sleutelnaam die is gedefinieerd voor uw entiteit om een update, upsert of delete uit te voeren. Nee - alternateKeyName
Bijwerkingsmethode Geef op welke bewerkingen zijn toegestaan op uw databasebestemming. De standaardinstelling is om alleen invoegingen toe te staan.
Als u rijen wilt bijwerken, upsert of verwijderen, is een transformatie van een alter row vereist om rijen voor deze acties te taggen.
Ja true of false invoegbaar
kan worden bijgewerkt
upsertable
te verwijderen
Naam van entiteit De logische naam van de entiteit die moet worden geschreven. Ja bij gebruik van inlinegegevensset - (alleen voor inlinegegevensset)
entity

Voorbeeld van Dynamics Sink-script

Wanneer u Dynamics-gegevensset als sinktype gebruikt, is het bijbehorende gegevensstroomscript:

IncomingStream sink(allowSchemaDrift: true,
    validateSchema: false,
    deletable:true,
    insertable:true,
    updateable:true,
    upsertable:true,
    skipDuplicateMapInputs: true,
    skipDuplicateMapOutputs: true) ~> DynamicsSink

Als u inlinegegevensset gebruikt, is het bijbehorende gegevensstroomscript:

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

Eigenschappen van opzoekactiviteit

Zie Lookup-activiteit voor meer informatie over de eigenschappen.

Zie Ondersteunde gegevensarchieven voor een lijst met ondersteunde gegevensarchieven als bronnen en sinks.