Kopiowanie i przekształcanie danych w usłudze Dynamics 365 (Microsoft Dataverse) lub Dynamics CRM przy użyciu usługi Azure Data Factory lub Azure Synapse Analytics
DOTYCZY: Azure Data Factory Azure Synapse Analytics
Napiwek
Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !
W tym artykule opisano sposób używania działania kopiowania w potokach usługi Azure Data Factory lub Synapse do kopiowania danych z i do usługi Dynamics 365 (Microsoft Dataverse) lub Dynamics CRM oraz używania przepływu danych do przekształcania danych w usłudze Dynamics 365 (Microsoft Dataverse) lub Dynamics CRM. Aby dowiedzieć się więcej, przeczytaj artykuły z wprowadzeniem do usługi Azure Data Factory i Azure Synapse Analytics .
Obsługiwane możliwości
Ten łącznik jest obsługiwany w następujących działaniach:
Obsługiwane możliwości | IR |
---|---|
działanie Kopiuj (źródło/ujście) | (1) (2) |
Przepływ danych mapowania (źródło/ujście) | (1) |
Działanie Lookup | (1) (2) |
(1) Środowisko Azure Integration Runtime (2) Self-hosted Integration Runtime
Aby uzyskać listę magazynów danych obsługiwanych przez działanie kopiowania jako źródła i ujścia, zobacz tabelę Obsługiwane magazyny danych.
Uwaga
Od 2020 listopada Common Data Service zmieniło nazwę na Microsoft Dataverse. Ten artykuł został zaktualizowany w celu odzwierciedlenia najnowszej terminologii.
Ten łącznik usługi Dynamics obsługuje usługę Dynamics w wersji od 7 do 9 zarówno w trybie online, jak i lokalnie. W szczególności:
- Wersja 7 mapuje na dynamics CRM 2015.
- Wersja 8 jest mapowana na dynamics CRM 2016 i wczesną wersję usługi Dynamics 365.
- Wersja 9 jest mapowania na nowszą wersję usługi Dynamics 365.
Zapoznaj się z poniższą tabelą obsługiwanych typów i konfiguracji uwierzytelniania dla wersji i produktów usługi Dynamics.
Wersje usługi Dynamics | Typy uwierzytelniania | Przykłady połączonej usługi |
---|---|---|
Dataverse Dynamics 365 Online Dynamics CRM Online |
Jednostka usługi Microsoft Entra Office 365 Tożsamość zarządzana przypisana przez użytkownika |
Usługa Dynamics Online i jednostka usługi Microsoft Entra lub uwierzytelnianie usługi Office 365 |
Lokalna usługa Dynamics 365 z wdrożeniem dostępnym z Internetu (IFD) Dynamics CRM 2016 lokalnie z ifD Lokalny program Dynamics CRM 2015 z ifD |
IFD | Lokalna usługa Dynamics z uwierzytelnianiem IFD i IFD |
Uwaga
Po wycofaniu regionalnej usługi odnajdywania usługa została uaktualniona do korzystania z globalnej usługi odnajdywania podczas korzystania z uwierzytelniania usługi Office 365.
Ważne
Jeśli dzierżawa i użytkownik jest skonfigurowany w usłudze Microsoft Entra ID na potrzeby dostępu warunkowego i/lub uwierzytelniania wieloskładnikowego jest wymagane, nie będzie można użyć typu uwierzytelniania usługi Office 365. W takich sytuacjach należy użyć uwierzytelniania jednostki usługi Entra firmy Microsoft.
W szczególności w przypadku usługi Dynamics 365 obsługiwane są następujące typy aplikacji:
- Dynamics 365 for Sales
- Dynamics 365 for Customer Service
- Dynamics 365 for Field Service
- Dynamics 365 for Project Service Automation
- Dynamics 365 for Marketing
Ten łącznik nie obsługuje innych typów aplikacji, takich jak Finanse, Operacje i Talent.
Napiwek
Aby skopiować dane z usługi Dynamics 365 Finance and Operations, możesz użyć łącznika Dynamics AX.
Ten łącznik usługi Dynamics jest oparty na narzędziach dynamics XRM.
Wymagania wstępne
Aby użyć tego łącznika z uwierzytelnianiem jednostki usługi Microsoft Entra, należy skonfigurować uwierzytelnianie między serwerami (S2S) w usłudze Dataverse lub Dynamics. Najpierw zarejestruj użytkownika aplikacji (jednostkę usługi) w identyfikatorze Entra firmy Microsoft. Możesz dowiedzieć się, jak to zrobić tutaj. Podczas rejestracji aplikacji należy utworzyć tego użytkownika w usłudze Dataverse lub Dynamics i udzielić uprawnień. Te uprawnienia można udzielić bezpośrednio lub pośrednio przez dodanie użytkownika aplikacji do zespołu, któremu udzielono uprawnień w usłudze Dataverse lub Dynamics. Więcej informacji na temat konfigurowania użytkownika aplikacji do uwierzytelniania w usłudze Dataverse można znaleźć tutaj.
Rozpocznij
Aby wykonać działanie Kopiuj za pomocą potoku, możesz użyć jednego z następujących narzędzi lub zestawów SDK:
- Narzędzie do kopiowania danych
- Witryna Azure Portal
- Zestaw SDK platformy .NET
- Zestaw SDK języka Python
- Azure PowerShell
- Interfejs API REST
- Szablon usługi Azure Resource Manager
Tworzenie połączonej usługi z usługą Dynamics 365 (Microsoft Dataverse) lub Dynamics CRM przy użyciu interfejsu użytkownika
Wykonaj poniższe kroki, aby utworzyć połączoną usługę z usługą Dynamics 365 w interfejsie użytkownika witryny Azure Portal.
Przejdź do karty Zarządzanie w obszarze roboczym usługi Azure Data Factory lub Synapse i wybierz pozycję Połączone usługi, a następnie kliknij pozycję Nowy:
Wyszukaj usługę Dynamics lub Dataverse i wybierz łącznik Dynamics 365 (Microsoft Dataverse) lub Dynamics CRM.
Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.
Szczegóły konfiguracji łącznika
Poniższe sekcje zawierają szczegółowe informacje o właściwościach używanych do definiowania jednostek specyficznych dla usługi Dynamics.
Właściwości połączonej usługi
Następujące właściwości są obsługiwane w przypadku połączonej usługi Dynamics.
Dynamics 365 i Dynamics CRM Online
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type musi być ustawiona na "Dynamics", "DynamicsCrm" lub "CommonDataServiceForApps". | Tak |
deploymentType | Typ wdrożenia wystąpienia usługi Dynamics. Wartość musi być "Online" dla usługi Dynamics Online. | Tak |
serviceUri | Adres URL usługi wystąpienia usługi Dynamics, taki sam, do którego uzyskujesz dostęp z przeglądarki. Przykładem jest "https://< organization-name.crm>[x].dynamics.com". | Tak |
authenticationType | Typ uwierzytelniania do nawiązania połączenia z serwerem Dynamics. Prawidłowe wartości to "AADServicePrincipal", "Office365" i "ManagedIdentity". | Tak |
servicePrincipalId | Identyfikator klienta aplikacji Microsoft Entra. | Tak, gdy uwierzytelnianie ma wartość "AADServicePrincipal" |
servicePrincipalCredentialType | Typ poświadczeń do użycia na potrzeby uwierzytelniania jednostki usługi. Prawidłowe wartości to "ServicePrincipalKey" i "ServicePrincipalCert". Uwaga: zaleca się używanie klucza ServicePrincipalKey. Istnieje znane ograniczenie typu poświadczeń ServicePrincipalCert, w którym usługa może napotkać przejściowy problem polegający na tym, że nie można pobrać wpisu tajnego z magazynu kluczy. |
Tak, gdy uwierzytelnianie ma wartość "AADServicePrincipal" |
servicePrincipalCredential | Poświadczenie jednostki usługi. W przypadku użycia wartości "ServicePrincipalKey" jako typu servicePrincipalCredential poświadczeń może być ciąg, który usługa szyfruje po wdrożeniu połączonej usługi. Może to być odwołanie do wpisu tajnego w usłudze Azure Key Vault. W przypadku użycia polecenia "ServicePrincipalCert" jako poświadczenia musi być odwołaniem do certyfikatu w usłudze Azure Key Vault i upewnij się, servicePrincipalCredential że typ zawartości certyfikatu to PKCS #12. |
Tak, gdy uwierzytelnianie ma wartość "AADServicePrincipal" |
nazwa użytkownika | Nazwa użytkownika do nawiązania połączenia z usługą Dynamics. | Tak, gdy uwierzytelnianie to "Office365" |
hasło | Hasło dla konta użytkownika określonego jako nazwa użytkownika. Oznacz to pole ciągiem "SecureString" w celu bezpiecznego przechowywania go lub odwołuj się do wpisu tajnego przechowywanego w usłudze Azure Key Vault. | Tak, gdy uwierzytelnianie to "Office365" |
poświadczenia | Określ tożsamość zarządzaną przypisaną przez użytkownika jako obiekt poświadczeń. Utwórz jedną lub wiele tożsamości zarządzanych przypisanych przez użytkownika, przypisz je do fabryki danych i utwórz poświadczenia dla każdej tożsamości zarządzanej przypisanej przez użytkownika. |
Tak, gdy uwierzytelnianie ma wartość "ManagedIdentity" |
connectVia | Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Jeśli nie określono żadnej wartości, właściwość używa domyślnego środowiska Azure Integration Runtime. | Nie. |
Uwaga
Łącznik usługi Dynamics wcześniej używał opcjonalnej właściwości organizationName do identyfikowania wystąpienia usługi Dynamics CRM lub Dynamics 365 Online. Mimo że ta właściwość nadal działa, zalecamy określenie nowej właściwości serviceUri , aby uzyskać lepszą wydajność na potrzeby odnajdywania wystąpień.
Przykład: Dynamics Online przy użyciu jednostki usługi Microsoft Entra i uwierzytelniania klucza
{
"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"
}
}
}
Przykład: Dynamics Online przy użyciu jednostki usługi Microsoft Entra i uwierzytelniania certyfikatu
{
"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"
}
}
}
Przykład: Dynamics Online przy użyciu uwierzytelniania usługi Office 365
{
"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"
}
}
}
Przykład: Usługa Dynamics Online korzystająca z uwierzytelniania tożsamości zarządzanej przypisanej przez użytkownika
{
"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"
}
}
}
Lokalne usługi Dynamics 365 i Dynamics CRM z usługą IFD
Dodatkowe właściwości, które porównują się z usługą Dynamics Online, to hostName i port.
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type musi być ustawiona na "Dynamics", "DynamicsCrm" lub "CommonDataServiceForApps". | Tak |
deploymentType | Typ wdrożenia wystąpienia usługi Dynamics. Wartość musi mieć wartość "OnPremisesWithIfd" dla lokalnej usługi Dynamics z ifD. | Tak |
nazwa hosta | Nazwa hosta lokalnego serwera Dynamics. | Tak |
port | Port lokalnego serwera Dynamics. | L.p. Wartość domyślna to 443. |
organizationName | Nazwa organizacji wystąpienia usługi Dynamics. | Tak |
authenticationType | Typ uwierzytelniania do nawiązania połączenia z serwerem Dynamics. Określ "ActiveDirectoryAuthentication" dla lokalnej usługi Dynamics z ifD. | Tak |
domena | Domena usługi Active Directory, która zweryfikuje poświadczenia użytkownika. | Tak |
nazwa użytkownika | Nazwa użytkownika do nawiązania połączenia z usługą Dynamics. | Tak |
hasło | Hasło dla konta użytkownika określonego dla nazwy użytkownika. Możesz oznaczyć to pole ciągiem "SecureString", aby je bezpiecznie przechowywać. Możesz też przechowywać hasło w usłudze Key Vault i zezwolić na ściąganie działania kopiowania w momencie kopiowania danych. Dowiedz się więcej na temat przechowywania poświadczeń w usłudze Key Vault. | Tak |
connectVia | Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Jeśli nie określono żadnej wartości, właściwość używa domyślnego środowiska Azure Integration Runtime. | Nie. |
Uwaga
Ze względu na zachód od typu uwierzytelniania Ifd do 31 sierpnia 2024 r. przeprowadź uaktualnienie do typu uwierzytelniania usługi Active Directory przed datą, jeśli jest ona obecnie używana.
Przykład: 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"
}
}
}
Właściwości zestawu danych
Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania zestawów danych, zobacz artykuł Zestawy danych. Ta sekcja zawiera listę właściwości obsługiwanych przez zestaw danych usługi Dynamics.
Aby skopiować dane z i do usługi Dynamics, obsługiwane są następujące właściwości:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość typu zestawu danych musi być ustawiona na "DynamicsEntity", "DynamicsCrmEntity" lub "CommonDataServiceForAppsEntity". | Tak |
entityName | Nazwa logiczna jednostki do pobrania. | Nie dla źródła, jeśli źródło działania jest określone jako "zapytanie" i tak dla ujścia |
Przykład
{
"name": "DynamicsDataset",
"properties": {
"type": "DynamicsEntity",
"schema": [],
"typeProperties": {
"entityName": "account"
},
"linkedServiceName": {
"referenceName": "<Dynamics linked service name>",
"type": "linkedservicereference"
}
}
}
Właściwości działania kopiowania
Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz artykuł Pipelines (Potoki ). Ta sekcja zawiera listę właściwości obsługiwanych przez typy źródła i ujścia usługi Dynamics.
Dynamics jako typ źródła
Aby skopiować dane z usługi Dynamics, sekcja źródło działania kopiowania obsługuje następujące właściwości:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type źródła działania kopiowania musi być ustawiona na "DynamicsSource", "DynamicsCrmSource" lub "CommonDataServiceForAppsSource". | Tak |
zapytanie | FetchXML to zastrzeżony język zapytań używany w usłudze Dynamics online i lokalnie. Zobacz poniższy przykład. Aby dowiedzieć się więcej, zobacz Kompilowanie zapytań za pomocą narzędzia FetchXML. | Nie, jeśli entityName w zestawie danych określono |
Uwaga
Kolumna PK będzie zawsze kopiowana nawet wtedy, gdy projekcja kolumn skonfigurowana w zapytaniu FetchXML nie zawiera tej kolumny.
Ważne
- Podczas kopiowania danych z usługi Dynamics jawne mapowanie kolumn z usługi Dynamics do ujścia jest opcjonalne. Jednak zdecydowanie zalecamy mapowanie, aby zapewnić wynik deterministycznego kopiowania.
- Gdy usługa importuje schemat w interfejsie użytkownika tworzenia, wywnioskuje schemat. Wykonuje to przez próbkowanie pierwszych wierszy z wyniku zapytania Dynamics w celu zainicjowania listy kolumn źródłowych. W takim przypadku kolumny bez wartości w pierwszych wierszach zostaną pominięte. To samo zachowanie dotyczy również podglądu danych i wykonywania kopiowania, jeśli nie ma jawnego mapowania. Możesz przejrzeć i dodać więcej kolumn do mapowania, które są honorowane podczas wykonywania kopiowania.
Przykład
"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>"
}
}
}
]
Przykładowe zapytanie FetchXML
<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 jako typ ujścia
Aby skopiować dane do usługi Dynamics, sekcja ujścia działania kopiowania obsługuje następujące właściwości:
Właściwości | Opis | Wymagania |
---|---|---|
type | Właściwość type ujścia działania kopiowania musi być ustawiona na "DynamicsSink", "DynamicsCrmSink" lub "CommonDataServiceForAppsSink". | Tak. |
writeBehavior | Zachowanie zapisu operacji. Wartość musi mieć wartość "Upsert". | Tak |
alternateKeyName | Alternatywna nazwa klucza zdefiniowana w jednostce w celu wykonania operacji upsert. | L.p. |
writeBatchSize | Liczba wierszy zapisanych w usłudze Dynamics w każdej partii. | L.p. Wartość domyślna to 10. |
ignoreNullValues | Czy ignorować wartości null z danych wejściowych innych niż pola klucza podczas operacji zapisu. Prawidłowe wartości to TRUE i FALSE:
|
L.p. Wartość domyślna to FALSE. |
maxConcurrentConnections | Górny limit połączeń współbieżnych ustanowionych z magazynem danych podczas uruchamiania działania. Określ wartość tylko wtedy, gdy chcesz ograniczyć połączenia współbieżne. | Nie. |
Uwaga
Wartość domyślna zarówno dla ujścia writeBatchSize, jak i równoległych działań kopiowaniaKopies dla ujścia usługi Dynamics wynosi 10. W związku z tym 100 rekordów jest domyślnie przesyłanych współbieżnie do usługi Dynamics.
W przypadku usługi Dynamics 365 online istnieje limit 52 współbieżnych wywołań wsadowych na organizację. Jeśli ten limit zostanie przekroczony, zostanie zgłoszony wyjątek "Serwer zajęty", zanim zostanie uruchomione pierwsze żądanie. Zachowaj wartość writeBatchSize na 10 lub mniej, aby uniknąć takiego ograniczania współbieżnych wywołań.
Optymalna kombinacja funkcji writeBatchSize i parallelCopies zależy od schematu jednostki. Elementy schematu obejmują liczbę kolumn, rozmiar wiersza i liczbę wtyczek, przepływów pracy lub działań przepływu pracy podłączonych do tych wywołań. Domyślne ustawienie writeBatchSize (10) × parallelCopies (10) jest zaleceniem zgodnie z usługą Dynamics. Ta wartość działa w przypadku większości jednostek usługi Dynamics, chociaż może nie zapewnić najlepszej wydajności. Wydajność można dostosować, dostosowując kombinację w ustawieniach działania kopiowania.
Przykład
"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
}
}
}
]
Pobieranie danych z widoków
Aby pobrać dane z widoków usługi Dynamics, musisz pobrać zapisane zapytanie widoku i użyć zapytania w celu pobrania danych.
Istnieją dwie jednostki, które przechowują różne typy widoków: "zapisane zapytanie" przechowuje widok systemu i "zapytanie użytkownika" przechowuje widok użytkownika. Aby uzyskać informacje o widokach, zapoznaj się z następującym zapytaniem FetchXML i zastąp ciąg "TARGETENTITY" ciągiem savedquery
lub userquery
. Każdy typ jednostki ma więcej dostępnych atrybutów, które można dodać do zapytania w zależności od potrzeb. Dowiedz się więcej o jednostce savedquery i jednostce userquery.
<fetch top="5000" >
<entity name="<TARGETENTITY>">
<attribute name="name" />
<attribute name="fetchxml" />
<attribute name="returnedtypecode" />
<attribute name="querytype" />
</entity>
</fetch>
Możesz również dodać filtry, aby filtrować widoki. Dodaj na przykład następujący filtr, aby uzyskać widok o nazwie "Moje aktywne konta" w jednostce konta.
<filter type="and" >
<condition attribute="returnedtypecode" operator="eq" value="1" />
<condition attribute="name" operator="eq" value="My Active Accounts" />
</filter>
Mapowanie typów danych dla usługi Dynamics
Podczas kopiowania danych z usługi Dynamics w poniższej tabeli przedstawiono mapowania z typów danych usługi Dynamics na tymczasowe typy danych w usłudze. Aby dowiedzieć się, jak działanie kopiowania mapuje schemat źródłowy i typ danych na ujście, zobacz Mapowania schematu i typu danych.
Skonfiguruj odpowiedni typ danych tymczasowych w strukturze zestawu danych opartej na źródłowym typie danych usługi Dynamics przy użyciu następującej tabeli mapowania:
Typ danych usługi Dynamics | Typ danych tymczasowych usługi | Obsługiwane jako źródło | Obsługiwane jako ujście |
---|---|---|---|
AttributeTypeCode.BigInt | Długi | ✓ | ✓ |
AttributeTypeCode.Boolean | Wartość logiczna | ✓ | ✓ |
AttributeType.Customer | Identyfikator GUID | ✓ | √ (Zobacz wskazówki) |
AttributeType.DateTime | Datetime | ✓ | ✓ |
AttributeType.Decimal | Dziesiętne | ✓ | ✓ |
AttributeType.Double | Liczba rzeczywista | ✓ | ✓ |
AttributeType.EntityName | String | ✓ | ✓ |
AttributeType.Integer | Int32 | ✓ | ✓ |
AttributeType.Lookup | Identyfikator GUID | ✓ | √ (Zobacz wskazówki) |
AttributeType.ManagedProperty | Wartość logiczna | ✓ | |
AttributeType.Memo | String | ✓ | ✓ |
AttributeType.Money | Dziesiętne | ✓ | ✓ |
AttributeType.Owner | Identyfikator GUID | ✓ | √ (Zobacz wskazówki) |
AttributeType.Picklist | Int32 | ✓ | ✓ |
AttributeType.Uniqueidentifier | Identyfikator GUID | ✓ | ✓ |
AttributeType.String | String | ✓ | ✓ |
AttributeType.State | Int32 | ✓ | ✓ |
AttributeType.Status | Int32 | ✓ | ✓ |
Uwaga
Typy danych usługi Dynamics AttributeType.CalendarRules, AttributeType.MultiSelectPicklist i AttributeType.PartyList nie są obsługiwane.
Zapisywanie danych w polu odnośnika
Aby zapisać dane w polu odnośnika z wieloma miejscami docelowymi, takimi jak Klient i Właściciel, postępuj zgodnie z poniższymi wskazówkami i przykładami:
Utwórz źródło zawierające zarówno wartość pola, jak i odpowiednią nazwę jednostki docelowej.
- Jeśli wszystkie rekordy są mapowania na tę samą jednostkę docelową, upewnij się, że jeden z następujących warunków:
- Dane źródłowe mają kolumnę, która przechowuje nazwę jednostki docelowej.
- Dodano dodatkową kolumnę w źródle działania kopiowania, aby zdefiniować jednostkę docelową.
- Jeśli różne rekordy są mapowanie na różne jednostki docelowe, upewnij się, że dane źródłowe mają kolumnę przechowującą odpowiednią nazwę jednostki docelowej.
- Jeśli wszystkie rekordy są mapowania na tę samą jednostkę docelową, upewnij się, że jeden z następujących warunków:
Mapuj zarówno kolumny wartości, jak i odwołania do jednostek z źródła do ujścia. Kolumna odwołania do jednostki musi zostać zamapowana na kolumnę wirtualną ze specjalnym wzorcem
{lookup_field_name}@EntityReference
nazewnictwa . Kolumna nie istnieje w usłudze Dynamics. Służy do wskazywania, że ta kolumna jest kolumną metadanych danego pola odnośnika wielotargetowego.
Ustawianie pola Właściciel
Podczas ustawiania pola Właściciel w usłudze Dynamics 365 (Microsoft Dataverse) lub Dynamics CRM ważne jest podanie prawidłowego odwołania. Prawidłowe opcje dla elementu @EntityReference
to:
systemuser
: odnosi się to do pojedynczego użytkownika w systemie.team
: Odnosi się to do zespołu użytkowników w organizacji.
Upewnij się, że podana wartość odpowiada jednej z tych opcji, aby uniknąć błędów podczas przekształcania danych.
Załóżmy na przykład, że źródło ma następujące dwie kolumny:
- Kolumna CustomerField typu GUID, która jest podstawową wartością klucza jednostki docelowej w usłudze Dynamics.
- Kolumna docelowa typu Ciąg, która jest logiczną nazwą jednostki docelowej.
Załóżmy również, że chcesz skopiować takie dane do pola jednostki ujścia Dynamics CustomerField typu Klient.
W mapowaniu kolumn kopiowania zamapuj dwie kolumny w następujący sposób:
- CustomerField do CustomerField. To mapowanie jest normalnym mapowaniem pól.
- Element docelowy CustomerField@EntityReference. Kolumna ujścia to kolumna wirtualna reprezentująca odwołanie do jednostki. Wprowadź takie nazwy pól w mapowaniu, ponieważ nie będą wyświetlane przez zaimportowanie schematów.
Jeśli wszystkie rekordy źródłowe są mapowania na tę samą jednostkę docelową, a dane źródłowe nie zawierają nazwy jednostki docelowej, oto skrót: w źródle działania kopiowania dodaj dodatkową kolumnę. Nazwij nową kolumnę przy użyciu wzorca {lookup_field_name}@EntityReference
, ustaw wartość na nazwę jednostki docelowej, a następnie kontynuuj mapowanie kolumn w zwykły sposób. Jeśli nazwy kolumn źródłowych i ujścia są identyczne, możesz również pominąć jawne mapowanie kolumn, ponieważ działanie kopiowania domyślnie mapuje kolumny według nazwy.
Zapisywanie danych w polu odnośnika za pomocą kluczy alternatywnych
Aby zapisać dane w polu odnośnika przy użyciu kolumn kluczy alternatywnych, postępuj zgodnie z poniższymi wskazówkami i przykładami:
Upewnij się, że źródło zawiera wszystkie kolumny klucza odnośnika.
Kolumny klucza alternatywnego muszą być mapowane na kolumnę ze specjalnym wzorcem
{lookup_field_name}@{alternate_key_column_name}
nazewnictwa . Kolumna nie istnieje w usłudze Dynamics. Służy do wskazywania, że ta kolumna jest używana do wyszukiwania rekordu w jednostce docelowej.Przejdź do karty Mapowanie w przekształceniu ujścia przepływów danych mapowania. Wybierz alternatywny klucz jako kolumny wyjściowe w polu Odnośnik. Wartość po wskazuje kolumny kluczy tego klucza alternatywnego.
Po wybraniu kolumny klucza alternatywnego zostaną automatycznie wyświetlone poniżej.
Zamapuj kolumny wejściowe po lewej stronie na kolumny wyjściowe.
Uwaga
Obecnie jest to obsługiwane tylko w przypadku korzystania z trybu wbudowanego w transformacji ujścia przepływów danych mapowania.
Właściwości przepływu mapowania danych
Podczas przekształcania danych w przepływie mapowania danych można odczytywać dane i zapisywać je w tabelach w usłudze Dynamics. Aby uzyskać więcej informacji, zobacz przekształcanie źródła i przekształcanie ujścia w przepływach danych mapowania. Możesz użyć zestawu danych usługi Dynamics lub wbudowanego zestawu danych jako typu źródła i ujścia.
Przekształcanie źródła
Poniższa tabela zawiera listę właściwości obsługiwanych przez usługę Dynamics. Te właściwości można edytować na karcie Opcje źródła.
Nazwa/nazwisko | opis | Wymagania | Dozwolone wartości | Właściwość skryptu przepływu danych |
---|---|---|---|---|
Nazwa podmiotu | Nazwa logiczna jednostki do pobrania. | Tak w przypadku używania wbudowanego zestawu danych | - | (tylko w przypadku wbudowanego zestawu danych) podmiot |
Query | FetchXML to zastrzeżony język zapytań używany w usłudze Dynamics online i lokalnie. Zobacz poniższy przykład. Aby dowiedzieć się więcej, zobacz Kompilowanie zapytań za pomocą narzędzia FetchXML. | Nie. | String | zapytanie |
Uwaga
Jeśli wybierzesz pozycję Zapytanie jako typ danych wejściowych, nie można pobrać typu kolumny z tabel. Domyślnie będzie traktowany jako ciąg.
Przykład skryptu źródłowego usługi Dynamics
Jeśli używasz zestawu danych dynamics jako typu źródła, skojarzony skrypt przepływu danych to:
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
Jeśli używasz wbudowanego zestawu danych, skojarzony skrypt przepływu danych to:
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
Przekształcenie ujścia
W poniższej tabeli wymieniono właściwości obsługiwane przez ujście usługi Dynamics. Te właściwości można edytować na karcie Opcje ujścia.
Nazwa/nazwisko | opis | Wymagania | Dozwolone wartości | Właściwość skryptu przepływu danych |
---|---|---|---|---|
Nazwa alternatywnego klucza | Alternatywna nazwa klucza zdefiniowana w jednostce w celu przeprowadzenia aktualizacji, operacji upsert lub usunięcia. | Nie. | - | alternateKeyName |
Metoda aktualizacji | Określ, jakie operacje są dozwolone w miejscu docelowym bazy danych. Ustawieniem domyślnym jest zezwalanie tylko na wstawianie. Aby zaktualizować, upsert lub usunąć wiersze, do tagowania wierszy dla tych akcji jest wymagane przekształcenie alter wiersza. |
Tak | true lub false |
możliwość wstawienia możliwe do aktualizacji upsertable możliwe do usunięcia |
Nazwa podmiotu | Nazwa logiczna jednostki do zapisu. | Tak w przypadku używania wbudowanego zestawu danych | - | (tylko w przypadku wbudowanego zestawu danych) podmiot |
Przykładowy skrypt ujścia usługi Dynamics
Jeśli używasz zestawu danych usługi Dynamics jako typu ujścia, skojarzony skrypt przepływu danych to:
IncomingStream sink(allowSchemaDrift: true,
validateSchema: false,
deletable:true,
insertable:true,
updateable:true,
upsertable:true,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> DynamicsSink
Jeśli używasz wbudowanego zestawu danych, skojarzony skrypt przepływu danych to:
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
Właściwości działania wyszukiwania
Aby dowiedzieć się więcej o właściwościach, zobacz Działanie wyszukiwania.
Powiązana zawartość
Aby uzyskać listę obsługiwanych magazynów danych, które przechowuje działanie kopiowania jako źródła i ujścia, zobacz Obsługiwane magazyny danych.