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) | (1) (2) |
Toewijzingsgegevensstroom (bron/sink) | (1) |
Activiteit Lookup | (1) (2) |
(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:
- Het hulpprogramma voor het kopiëren van gegevens
- Azure Portal
- De .NET-SDK
- De Python-SDK
- Azure PowerShell
- De REST API
- Een Azure Resource Manager-sjabloon
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.
Blader naar het tabblad Beheren in uw Azure Data Factory- of Synapse-werkruimte en selecteer Gekoppelde services en klik vervolgens op Nieuw:
Zoek naar Dynamics of Dataverse en selecteer de Dynamics 365 (Microsoft Dataverse) of Dynamics CRM-connector.
Configureer de servicedetails, test de verbinding en maak de nieuwe gekoppelde service.
Configuratiedetails van connector
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. |
organizationName | De naam van de organisatie van het Dynamics-exemplaar. | Ja |
authenticationType | Het verificatietype om verbinding te maken met de Dynamics-server. Geef ActiveDirectoryAuthentication op voor Dynamics on-premises met IFD. | Ja |
domain | Het Active Directory-domein waarmee gebruikersreferenties worden geverifieerd. | 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. | Nr. |
Notitie
Als gevolg van de zonsondergang van het ifd-verificatietype op 31 augustus 2024, voert u vóór de datum een upgrade uit naar het Active Directory-verificatietype als u dit momenteel gebruikt.
Voorbeeld: Dynamics on-premises met IFD met behulp van Active Directory-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": "ActiveDirectoryAuthentication",
"domain": "< Active Directory domain >",
"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:
|
Nee De standaardwaarde is FALSE. |
maxConcurrentConnections | 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 | Booleaanse waarde | ✓ | ✓ |
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 | Booleaanse waarde | ✓ | |
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:
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.
- Als alle records zijn toegewezen aan dezelfde doelentiteit, moet u een van de volgende voorwaarden controleren:
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.
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.
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:
Zorg ervoor dat uw bron alle opzoeksleutelkolommen bevat.
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.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.
Zodra deze optie is geselecteerd, worden de alternatieve sleutelkolommen automatisch hieronder weergegeven.
Wijs de invoerkolommen aan de linkerkant toe met de uitvoerkolommen.
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 | 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.
Gerelateerde inhoud
Zie Ondersteunde gegevensarchieven voor een lijst met ondersteunde gegevensarchieven als bronnen en sinks.