Azure Data Factory veya Azure Synapse Analytics kullanarak Dynamics 365 (Microsoft Dataverse) veya Dynamics CRM'de verileri kopyalama ve dönüştürme
UYGULANANLAR: Azure Data Factory Azure Synapse Analytics
İpucu
Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!
Bu makalede, Verileri Dynamics 365 (Microsoft Dataverse) veya Dynamics CRM'den veya Dynamics CRM'den kopyalamak için Azure Data Factory veya Synapse işlem hatlarında kopyalama etkinliğinin nasıl kullanılacağı ve Dynamics 365 (Microsoft Dataverse) veya Dynamics CRM'deki verileri dönüştürmek için veri akışının nasıl kullanılacağı özetlenmiştir. Daha fazla bilgi edinmek için Azure Data Factory ve Azure Synapse Analytics giriş makalelerini okuyun.
Desteklenen özellikler
Bu bağlayıcı aşağıdaki etkinlikler için desteklenir:
Desteklenen özellikler | IR |
---|---|
Kopyalama etkinliği (kaynak/havuz) | (1) (2) |
Eşleme veri akışı (kaynak/havuz) | (1) |
Arama etkinliği | (1) (2) |
(1) Azure tümleştirme çalışma zamanı (2) Şirket içinde barındırılan tümleştirme çalışma zamanı
Kopyalama etkinliğinin kaynak ve havuz olarak desteklediği veri depolarının listesi için Desteklenen veri depoları tablosuna bakın.
Not
Kasım 2020'den itibaren geçerli olacak şekilde, Common Data Service Microsoft Dataverse olarak yeniden adlandırıldı. Bu makale en son terminolojiyi yansıtacak şekilde güncelleştirildi.
Bu Dynamics bağlayıcısı hem çevrimiçi hem de şirket içi için Dynamics 7 ile 9 arası sürümleri destekler. Daha açık belirtmek gerekirse:
- Sürüm 7, Dynamics CRM 2015 ile eşler.
- Sürüm 8, Dynamics CRM 2016 ve Dynamics 365'in ilk sürümüyle eşler.
- Sürüm 9, Dynamics 365'in sonraki sürümüyle eşler.
Aşağıdaki Dynamics sürümleri ve ürünleri için desteklenen kimlik doğrulama türleri ve yapılandırmaları tablosuna bakın.
Dynamics sürümleri | Kimlik doğrulama türleri | Bağlı hizmet örnekleri |
---|---|---|
Dataverse Dynamics 365 çevrimiçi Dynamics CRM Online |
Microsoft Entra hizmet sorumlusu Office 365 Kullanıcı tarafından atanan yönetilen kimlik |
Dynamics online ve Microsoft Entra hizmet sorumlusu veya Office 365 kimlik doğrulaması |
İnternet'e yönelik dağıtım (IFD) ile şirket içi Dynamics 365 IFD ile şirket içi Dynamics CRM 2016 IFD ile şirket içi Dynamics CRM 2015 |
IFD | IFD ve IFD kimlik doğrulaması ile şirket içi Dynamics |
Not
Bölgesel Bulma Hizmeti'nin kullanımdan kaldırılmasıyla hizmet, Office 365 Kimlik Doğrulaması'nı kullanırken genel Bulma Hizmeti'nden yararlanacak şekilde yükseltildi.
Önemli
Kiracınız ve kullanıcınız koşullu erişim için Microsoft Entra Id'de yapılandırılmışsa ve/veya Multi-Factor Authentication gerekiyorsa, Office 365 Kimlik Doğrulama türünü kullanamazsınız. Bu gibi durumlarda Microsoft Entra hizmet sorumlusu kimlik doğrulamasını kullanmanız gerekir.
Özellikle Dynamics 365 için aşağıdaki uygulama türleri desteklenir:
- Dynamics 365 for Sales
- Dynamics 365 for Customer Service
- Dynamics 365 for Field Service
- Dynamics 365 for Project Service Automation
- Dynamics 365 for Marketing
Bu bağlayıcı Finance, Operations ve Talent gibi diğer uygulama türlerini desteklemez.
İpucu
Dynamics 365 Finance and Operations'tan veri kopyalamak için Dynamics AX bağlayıcısını kullanabilirsiniz.
Bu Dynamics bağlayıcısı, Dynamics XRM araçlarının üzerine kurulmuştur.
Önkoşullar
Bu bağlayıcıyı Microsoft Entra hizmet sorumlusu kimlik doğrulamasıyla kullanmak için Dataverse veya Dynamics'te sunucudan sunucuya (S2S) kimlik doğrulamasını ayarlamanız gerekir. İlk olarak uygulama kullanıcısını (Hizmet Sorumlusu) Microsoft Entra Id'ye kaydedin. Bunun nasıl yapıldığını burada bulabilirsiniz. Uygulama kaydı sırasında bu kullanıcıyı Dataverse veya Dynamics'te oluşturmanız ve izinler vermeniz gerekir. Bu izinler, uygulama kullanıcısını Dataverse veya Dynamics'te izin verilen bir ekime ekleyerek doğrudan veya dolaylı olarak verilebilir. Dataverse ile kimlik doğrulaması yapmak için bir uygulama kullanıcısını ayarlama hakkında daha fazla bilgiyi burada bulabilirsiniz.
Kullanmaya başlayın
İşlem hattıyla Kopyalama etkinliği gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:
- Veri Kopyalama aracı
- Azure portal
- .NET SDK'sı
- Python SDK'sı
- Azure PowerShell
- The REST API
- Azure Resource Manager şablonu
Kullanıcı arabirimini kullanarak Dynamics 365 (Microsoft Dataverse) veya Dynamics CRM'e bağlı hizmet oluşturma
Azure portalı kullanıcı arabiriminde Dynamics 365'e bağlı bir hizmet oluşturmak için aşağıdaki adımları kullanın.
Azure Data Factory veya Synapse çalışma alanınızda Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:
Dynamics veya Dataverse'i arayın ve Dynamics 365 (Microsoft Dataverse) veya Dynamics CRM bağlayıcısını seçin.
Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.
Bağlayıcı yapılandırma ayrıntıları
Aşağıdaki bölümlerde Dynamics'e özgü varlıkları tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.
Bağlı hizmet özellikleri
Dynamics bağlı hizmeti için aşağıdaki özellikler desteklenir.
Dynamics 365 ve Dynamics CRM online
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Tür özelliği "Dynamics", "DynamicsCrm" veya "CommonDataServiceForApps" olarak ayarlanmalıdır. | Yes |
deploymentType | Dynamics örneğinin dağıtım türü. Değerin Dynamics online için "Çevrimiçi" olması gerekir. | Yes |
serviceUri | Tarayıcıdan erişdiğiniz Dynamics örneğinizin hizmet URL'si. "https://< organization-name.crm>[x].dynamics.com" örnektir. | Yes |
authenticationType | Bir Dynamics sunucusuna bağlanmak için kimlik doğrulama türü. Geçerli değerler "AADServicePrincipal", "Office365" ve "ManagedIdentity" değerleridir. | Yes |
servicePrincipalId | Microsoft Entra uygulamasının istemci kimliği. | Kimlik doğrulaması "AADServicePrincipal" olduğunda evet |
servicePrincipalCredentialType | Hizmet sorumlusu kimlik doğrulaması için kullanılacak kimlik bilgisi türü. Geçerli değerler "ServicePrincipalKey" ve "ServicePrincipalCert" değerleridir. Not: ServicePrincipalKey kullanılması önerilir. ServicePrincipalCert kimlik bilgisi türü için, hizmetin anahtar kasasından gizli dizi alınamamasıyla ilgili geçici bir sorunla karşılaşabileceği bilinen bir sınırlama vardır. |
Kimlik doğrulaması "AADServicePrincipal" olduğunda evet |
servicePrincipalCredential | Hizmet sorumlusu kimlik bilgileri. Kimlik bilgisi türü olarak "ServicePrincipalKey" kullandığınızda, servicePrincipalCredential bağlı hizmet dağıtımında hizmetin şifrelediği bir dize olabilir. Veya Azure Key Vault'taki bir gizli diziye başvuru olabilir. Kimlik bilgisi olarak "ServicePrincipalCert" kullandığınızda, servicePrincipalCredential Azure Key Vault'taki bir sertifikaya başvuru olmalıdır ve sertifika içerik türünün PKCS #12 olduğundan emin olun. |
Kimlik doğrulaması "AADServicePrincipal" olduğunda evet |
username | Dynamics'e bağlanmak için kullanılan kullanıcı adı. | Kimlik doğrulaması "Office365" olduğunda evet |
password | Kullanıcı adı olarak belirttiğiniz kullanıcı hesabının parolası. Güvenli bir şekilde depolamak için bu alanı "SecureString" ile işaretleyin veya Azure Key Vault'ta depolanan bir gizli diziye başvurun. | Kimlik doğrulaması "Office365" olduğunda evet |
kimlik bilgileri | Kimlik bilgisi nesnesi olarak kullanıcı tarafından atanan yönetilen kimliği belirtin. Kullanıcı tarafından atanan bir veya birden çok yönetilen kimlik oluşturun, bunları veri fabrikanıza atayın ve kullanıcı tarafından atanan her yönetilen kimlik için kimlik bilgileri oluşturun. |
Kimlik doğrulaması "ManagedIdentity" olduğunda evet |
connectVia | Veri deposuna bağlanmak için kullanılacak tümleştirme çalışma zamanı . Değer belirtilmezse, özelliği varsayılan Azure tümleştirme çalışma zamanını kullanır. | Hayır |
Not
Dynamics bağlayıcısı daha önce Dynamics CRM veya Dynamics 365 çevrimiçi örneğinizi tanımlamak için isteğe bağlı organizationName özelliğini kullanıyordu. Bu özellik çalışmaya devam ederken, örnek bulma için daha iyi performans elde etmek için bunun yerine yeni serviceUri özelliğini belirtmenizi öneririz.
Örnek: Microsoft Entra hizmet sorumlusu ve anahtar kimlik doğrulaması kullanarak Dynamics online
{
"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"
}
}
}
Örnek: Microsoft Entra hizmet sorumlusu ve sertifika kimlik doğrulaması kullanarak Dynamics online
{
"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"
}
}
}
Örnek: Office 365 kimlik doğrulaması kullanarak Dynamics online
{
"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"
}
}
}
Örnek: Kullanıcı tarafından atanan yönetilen kimlik kimlik doğrulamayı kullanarak Dynamics online
{
"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 ve DYNAMICS CRM IFD ile şirket içi
Dynamics online ile karşılaştıran ek özellikler hostName ve bağlantı noktasıdır.
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Tür özelliği "Dynamics", "DynamicsCrm" veya "CommonDataServiceForApps" olarak ayarlanmalıdır. | Yes |
deploymentType | Dynamics örneğinin dağıtım türü. Değer, IFD ile şirket içi Dynamics için "OnPremisesWithIfd" olmalıdır. | Yes |
hostName | Şirket içi Dynamics sunucusunun ana bilgisayar adı. | Yes |
port | Şirket içi Dynamics sunucusunun bağlantı noktası. | Hayır Varsayılan değer 443'dür. |
organizationName | Dynamics örneğinin kuruluş adı. | Yes |
authenticationType | Dynamics sunucusuna bağlanmak için kimlik doğrulama türü. IFD ile şirket içi Dynamics için "ActiveDirectoryAuthentication" değerini belirtin. | Yes |
etki alanı | Kullanıcı kimlik bilgilerini doğrulayacak Active Directory etki alanı. | Yes |
username | Dynamics'e bağlanmak için kullanılan kullanıcı adı. | Yes |
password | Kullanıcı adı için belirttiğiniz kullanıcı hesabının parolası. Güvenli bir şekilde depolamak için bu alanı "SecureString" ile işaretleyebilirsiniz. İsterseniz Key Vault'ta bir parola depolayabilir ve veri kopyalama işlemi sırasında kopyalama etkinliğinin oradan çekmesine izin vekleyebilirsiniz. Key Vault'ta kimlik bilgilerini depolama bölümünden daha fazla bilgi edinin. | Yes |
connectVia | Veri deposuna bağlanmak için kullanılacak tümleştirme çalışma zamanı . Değer belirtilmezse, özelliği varsayılan Azure tümleştirme çalışma zamanını kullanır. | Hayır |
Not
Ifd kimlik doğrulama türünün 31 Ağustos 2024'e kadar gün batımından dolayı, şu anda kullanıyorsanız lütfen tarihten önce Active Directory Kimlik Doğrulama türüne yükseltin.
Örnek: Active Directory kimlik doğrulaması kullanan IFD ile şirket içi Dynamics
{
"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"
}
}
}
Veri kümesi özellikleri
Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için Veri kümeleri makalesine bakın. Bu bölümde Dynamics veri kümesi tarafından desteklenen özelliklerin listesi sağlanır.
Dynamics'ten ve Dynamics'e veri kopyalamak için aşağıdaki özellikler desteklenir:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Veri kümesinin tür özelliği "DynamicsEntity", "DynamicsCrmEntity" veya "CommonDataServiceForAppsEntity" olarak ayarlanmalıdır. | Yes |
entityName | Alınacak varlığın mantıksal adı. | Etkinlik kaynağı "sorgu" olarak belirtilirse kaynak için hayır ve havuz için evet |
Örnek
{
"name": "DynamicsDataset",
"properties": {
"type": "DynamicsEntity",
"schema": [],
"typeProperties": {
"entityName": "account"
},
"linkedServiceName": {
"referenceName": "<Dynamics linked service name>",
"type": "linkedservicereference"
}
}
}
Kopyalama etkinliğinin özellikleri
Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için İşlem hatları makalesine bakın. Bu bölümde, Dynamics kaynak ve havuz türleri tarafından desteklenen özelliklerin listesi sağlanır.
Kaynak türü olarak Dynamics
Dynamics'ten veri kopyalamak için kopyalama etkinliği kaynağı bölümü aşağıdaki özellikleri destekler:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Kopyalama etkinliği kaynağının tür özelliği "DynamicsSource", "DynamicsCrmSource" veya "CommonDataServiceForAppsSource" olarak ayarlanmalıdır. | Yes |
query | FetchXML, Dynamics çevrimiçi ve şirket içinde kullanılan özel bir sorgu dilidir. Aşağıdaki örneğe bakın. Daha fazla bilgi edinmek için bkz . FetchXML ile sorgu oluşturma. | Veri kümesinde belirtildiyse entityName hayır |
Not
FetchXML sorgusunda yapılandırdığınız sütun projeksiyonu bunu içermese bile PK sütunu her zaman kopyalanır.
Önemli
- Dynamics'ten veri kopyaladığınızda, Dynamics'ten havuza açık sütun eşleme isteğe bağlıdır. Ancak, belirleyici bir kopyalama sonucu elde etmek için eşlemeyi kesinlikle öneririz.
- Hizmet yazma kullanıcı arabiriminde bir şemayı içeri aktardığında şemayı çıkarsar. Kaynak sütun listesini başlatmak için Dynamics sorgu sonucundaki en üst satırları örnekleme yoluyla bunu yapar. Bu durumda, üst satırlarda değer içermeyen sütunlar atlanır. Aynı davranış, açık eşleme yoksa veri önizleme ve kopyalama yürütmeleri için de geçerlidir. Eşlemeyi gözden geçirebilir ve kopyalama çalışma zamanı sırasında kabul edilen daha fazla sütun ekleyebilirsiniz.
Örnek
"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>"
}
}
}
]
Örnek FetchXML sorgusu
<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>
Havuz türü olarak Dynamics
Verileri Dynamics'e kopyalamak için kopyalama etkinliği havuzu bölümü aşağıdaki özellikleri destekler:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Kopyalama etkinliği havuzu tür özelliği "DynamicsSink", "DynamicsCrmSink" veya "CommonDataServiceForAppsSink" olarak ayarlanmalıdır. | Evet. |
writeBehavior | İşlemin yazma davranışı. Değer "Upsert" olmalıdır. | Yes |
alternateKeyName | Bir upsert yapmak için varlığınızda tanımlanan alternatif anahtar adı. | Hayır |
writeBatchSize | Her toplu işlemde Dynamics'e yazılan verilerin satır sayısı. | Hayır Varsayılan değer 10'dur. |
ignoreNullValues | Yazma işlemi sırasında anahtar alanları dışındaki giriş verilerindeki null değerlerin yoksayılıp yoksayılmayacağı. Geçerli değerler DOĞRU ve YANLIŞ'tır:
|
Hayır Varsayılan değer YANLIŞ'tır. |
maxConcurrentConnections | Etkinlik çalıştırması sırasında veri deposuna kurulan eş zamanlı bağlantıların üst sınırı. Yalnızca eşzamanlı bağlantıları sınırlamak istediğinizde bir değer belirtin. | Hayır |
Not
Hem havuz writeBatchSize hem de Dynamics havuzu için kopyalama etkinliği parallelCopies için varsayılan değer 10'dur. Bu nedenle, varsayılan olarak Dynamics'e 100 kayıt eşzamanlı olarak gönderilir.
Dynamics 365 online için kuruluş başına 52 eşzamanlı toplu çağrı sınırı vardır. Bu sınır aşılırsa, ilk istek hiç çalıştırılmadan önce "Sunucu Meşgul" özel durumu oluşturulur. Eş zamanlı çağrıların bu kadar azaltmasını önlemek için writeBatchSize'ı 10 veya daha düşük bir değerde tutun.
writeBatchSize ve parallelCopies'in en uygun birleşimi varlığınızın şemasına bağlıdır. Şema öğeleri sütun sayısını, satır boyutunu ve bu çağrılara bağlı eklenti, iş akışı veya iş akışı etkinliği sayısını içerir. varsayılan writeBatchSize (10) × parallelCopies (10) ayarı Dynamics hizmetine göre öneridir. Bu değer çoğu Dynamics varlığı için çalışır, ancak en iyi performansı vermeyebilir. Kopyalama etkinliği ayarlarınızdaki bileşimi ayarlayarak performansı ayarlayabilirsiniz.
Örnek
"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
}
}
}
]
Görünümlerden veri alma
Dynamics görünümlerinden veri almak için görünümün kaydedilmiş sorgusunu almanız ve verileri almak için sorguyu kullanmanız gerekir.
Farklı görünüm türlerini depolayan iki varlık vardır: "kaydedilen sorgu" sistem görünümünü depolar ve "kullanıcı sorgusu" kullanıcı görünümünü depolar. Görünümlerin bilgilerini almak için aşağıdaki FetchXML sorgusuna bakın ve "TARGETENTITY" değerini veya userquery
ile savedquery
değiştirin. Her varlık türünün, ihtiyacınıza göre sorguya ekleyebileceğiniz daha fazla kullanılabilir özniteliği vardır. Kayıtlı sorgu varlığı ve kullanıcı sorgusu varlığı hakkında daha fazla bilgi edinin.
<fetch top="5000" >
<entity name="<TARGETENTITY>">
<attribute name="name" />
<attribute name="fetchxml" />
<attribute name="returnedtypecode" />
<attribute name="querytype" />
</entity>
</fetch>
Görünümleri filtrelemek için filtreler de ekleyebilirsiniz. Örneğin, hesap varlığında "Etkin Hesaplarım" adlı bir görünüm elde etmek için aşağıdaki filtreyi ekleyin.
<filter type="and" >
<condition attribute="returnedtypecode" operator="eq" value="1" />
<condition attribute="name" operator="eq" value="My Active Accounts" />
</filter>
Dynamics için veri türü eşlemesi
Dynamics'ten veri kopyaladığınızda, aşağıdaki tabloda Dynamics veri türlerinden hizmet içindeki ara veri türlerine eşlemeler gösterilmektedir. Kopyalama etkinliğinin kaynak şemayla ve veri türünün havuza nasıl eşlediğini öğrenmek için bkz . Şema ve veri türü eşlemeleri.
Aşağıdaki eşleme tablosunu kullanarak kaynak Dynamics veri türünüzü temel alan bir veri kümesi yapısında karşılık gelen ara veri türünü yapılandırın:
Dynamics veri türü | Hizmet ara veri türü | Kaynak olarak desteklenir | Havuz olarak desteklenir |
---|---|---|---|
AttributeTypeCode.BigInt | Uzun | ✓ | ✓ |
AttributeTypeCode.Boolean | Boolean | ✓ | ✓ |
AttributeType.Customer | GUID | ✓ | ✓ (Rehberliğe bakın) |
AttributeType.DateTime | Datetime | ✓ | ✓ |
AttributeType.Decimal | Ondalık | ✓ | ✓ |
AttributeType.Double | Çift | ✓ | ✓ |
AttributeType.EntityName | String | ✓ | ✓ |
AttributeType.Integer | Int32 | ✓ | ✓ |
AttributeType.Lookup | GUID | ✓ | ✓ (Rehberliğe bakın) |
AttributeType.ManagedProperty | Boolean | ✓ | |
AttributeType.Memo | String | ✓ | ✓ |
AttributeType.Money | Ondalık | ✓ | ✓ |
AttributeType.Owner | GUID | ✓ | ✓ (Rehberliğe bakın) |
AttributeType.Picklist | Int32 | ✓ | ✓ |
AttributeType.Uniqueidentifier | GUID | ✓ | ✓ |
AttributeType.String | String | ✓ | ✓ |
AttributeType.State | Int32 | ✓ | ✓ |
AttributeType.Status | Int32 | ✓ | ✓ |
Not
AttributeType.CalendarRules, AttributeType.MultiSelectPicklist ve AttributeType.PartyList Dynamics veri türleri desteklenmez.
Arama alanına veri yazma
Müşteri ve Sahip gibi birden çok hedefi olan bir arama alanına veri yazmak için şu kılavuzu ve örneği izleyin:
Kaynağınızın hem alan değerini hem de karşılık gelen hedef varlık adını içermesini sağlayın.
- Tüm kayıtlar aynı hedef varlığa eşlenirse aşağıdaki koşullardan birini sağlayın:
- Kaynak verilerinizin hedef varlık adını depolayan bir sütunu vardır.
- Hedef varlığı tanımlamak için kopyalama etkinliği kaynağına ek bir sütun eklediniz.
- Farklı kayıtlar farklı hedef varlıklarla eşlenirse, kaynak verilerinizin ilgili hedef varlık adını depolayan bir sütunu olduğundan emin olun.
- Tüm kayıtlar aynı hedef varlığa eşlenirse aşağıdaki koşullardan birini sağlayın:
Hem değer hem de varlık başvurusu sütunlarını kaynaktan havuza eşleyin. Varlık başvurusu sütunu, özel adlandırma desenine
{lookup_field_name}@EntityReference
sahip bir sanal sütuna eşlenmelidir. Sütun aslında Dynamics'te yok. Bu sütunun, verilen çok hedefli arama alanının meta veri sütunu olduğunu belirtmek için kullanılır.
Örneğin, kaynağın şu iki sütunu olduğunu varsayalım:
- Dynamics'teki hedef varlığın birincil anahtar değeri olan GUID türünde CustomerField sütunu.
- Hedef varlığın mantıksal adı olan Dize türünde hedef sütun.
Ayrıca, bu tür verileri Müşteri türündeki CustomerField havuz Dynamics varlık alanına kopyalamak istediğinizi varsayalım.
Kopyalama etkinliği sütun eşlemesinde iki sütunu aşağıdaki gibi eşleyin:
- CustomerField'ı CustomerField'a. Bu eşleme normal alan eşlemesidir.
- hedef CustomerField@EntityReference. Havuz sütunu, varlık başvuruyu temsil eden bir sanal sütundur. Şemaları içeri aktararak gösterilmeydiklerinden, eşlemeye bu tür alan adlarını girin.
Tüm kaynak kayıtlarınız aynı hedef varlığa eşleniyorsa ve kaynak verileriniz hedef varlık adını içermiyorsa, şu kısayolu bulabilirsiniz: kopyalama etkinliği kaynağında ek bir sütun ekleyin. Desenini {lookup_field_name}@EntityReference
kullanarak yeni sütunu adlandırın, değeri hedef varlık adına ayarlayın, ardından sütun eşlemesine her zamanki gibi devam edin. Kaynak ve havuz sütun adlarınız aynıysa, varsayılan olarak kopyalama etkinliği sütunları ada göre eşlediğinden, açık sütun eşlemesini de atlayabilirsiniz.
Alternatif anahtarlar aracılığıyla arama alanına veri yazma
Alternatif anahtar sütunlarını kullanarak arama alanına veri yazmak için şu kılavuzu ve örneği izleyin:
Kaynağınızın tüm arama anahtarı sütunlarını içerdiğinden emin olun.
Alternatif anahtar sütunları, özel adlandırma düzenine
{lookup_field_name}@{alternate_key_column_name}
sahip sütuna eşlenmelidir. Sütun Dynamics'te yok. Bu sütunun hedef varlıktaki kaydı aramak için kullanıldığını belirtmek için kullanılır.Eşleme veri akışlarının havuz dönüşümünde Eşleme sekmesine gidin. Arama alanının altında çıkış sütunları olarak alternatif anahtarı seçin. Sonra gelen değer, bu alternatif anahtarın anahtar sütunlarını gösterir.
Seçildikten sonra, alternatif anahtar sütunları otomatik olarak aşağıda görüntülenir.
Soldaki giriş sütunlarınızı çıkış sütunlarıyla eşleyin.
Not
Şu anda bu yalnızca eşleme veri akışlarının havuz dönüşümünde satır içi modu kullandığınızda desteklenir.
Eşleme veri akışı özellikleri
Eşleme veri akışındaki verileri dönüştürürken, Dynamics'teki tablolardan okuyabilir ve tablolara yazabilirsiniz. Daha fazla bilgi için bkz . Eşleme veri akışlarında kaynak dönüştürme ve havuz dönüşümü . Kaynak ve havuz türü olarak Dynamics veri kümesini veya satır içi veri kümesini kullanmayı seçebilirsiniz.
Kaynak dönüştürme
Aşağıdaki tabloda Dynamics tarafından desteklenen özellikler listelenmiştir. Bu özellikleri Kaynak seçenekleri sekmesinde düzenleyebilirsiniz.
Veri Akışı Adı | Açıklama | Gerekli | İzin verilen değerler | Veri akışı betiği özelliği |
---|---|---|---|---|
Varlık adı | Alınacak varlığın mantıksal adı. | Satır içi veri kümesi kullanılırken Evet | - | (yalnızca satır içi veri kümesi için) entity |
Sorgu | FetchXML, Dynamics çevrimiçi ve şirket içinde kullanılan özel bir sorgu dilidir. Aşağıdaki örneğe bakın. Daha fazla bilgi edinmek için bkz . FetchXML ile sorgu oluşturma. | Hayır | String | query |
Not
Giriş türü olarak Sorgu'yu seçerseniz, tablolardan sütun türü alınamıyor. Varsayılan olarak dize olarak değerlendirilir.
Dynamics kaynak betiği örneği
Kaynak türü olarak Dynamics veri kümesini kullandığınızda, ilişkili veri akışı betiği şöyledir:
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
Satır içi veri kümesi kullanıyorsanız, ilişkili veri akışı betiği şu şekildedir:
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
Havuz dönüşümü
Aşağıdaki tabloda Dynamics havuzu tarafından desteklenen özellikler listelenmektedir. Bu özellikleri Havuz seçenekleri sekmesinde düzenleyebilirsiniz.
Veri Akışı Adı | Açıklama | Gerekli | İzin verilen değerler | Veri akışı betiği özelliği |
---|---|---|---|---|
Alternatif anahtar adı | Bir güncelleştirme, yükseltme veya silme işlemi yapmak için varlığınızda tanımlanan alternatif anahtar adı. | Hayır | - | alternateKeyName |
Güncelleştirme yöntemi | Veritabanı hedefinizde hangi işlemlere izin verileceğini belirtin. Varsayılan değer yalnızca eklemelere izin vermektir. Satırları güncelleştirmek, eklemek veya silmek için, bu eylemlerin satırlarını etiketlemek için bir Değişiklik satırı dönüştürmesi gerekir. |
Yes | true veya false |
eklenebilir güncelleştirilebilir upsertable deletable |
Varlık adı | Yazacak varlığın mantıksal adı. | Satır içi veri kümesi kullanılırken Evet | - | (yalnızca satır içi veri kümesi için) entity |
Dynamics havuz betiği örneği
Dynamics veri kümesini havuz türü olarak kullandığınızda, ilişkili veri akışı betiği şöyledir:
IncomingStream sink(allowSchemaDrift: true,
validateSchema: false,
deletable:true,
insertable:true,
updateable:true,
upsertable:true,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> DynamicsSink
Satır içi veri kümesi kullanıyorsanız, ilişkili veri akışı betiği şu şekildedir:
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
Arama etkinliği özellikleri
Özellikler hakkında ayrıntılı bilgi edinmek için bkz . Arama etkinliği.
İlgili içerik
Kaynak ve havuz olarak kopyalama etkinliğinin desteklenen veri depolarının listesi için bkz . Desteklenen veri depoları.