Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
BERLAKU UNTUK: Azure Data Factory
Azure Synapse Analytics
Petunjuk / Saran
Cobalah Data Factory di Microsoft Fabric, sebuah solusi analitik terpadu untuk perusahaan. Microsoft Fabric mencakup segala hal mulai dari pergerakan data hingga ilmu data, analitik real-time, intelijen bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!
Artikel ini menguraikan cara menggunakan aktivitas salin di alur Azure Data Factory atau Synapse untuk menyalin data dari dan ke Dynamics 365 (Microsoft Dataverse) atau Dynamics CRM, dan menggunakan aliran data untuk mengubah data di Dynamics 365 (Microsoft Dataverse) atau Dynamics CRM. Untuk mempelajari selengkapnya, baca artikel pengantar Azure Data Factory dan Azure Synapse Analytics.
Kemampuan yang didukung
Konektor ini didukung untuk aktivitas berikut:
Kemampuan yang didukung | IR |
---|---|
Aktivitas penyalinan (sumber/penampung) | (1) (2) |
Pemetaan aliran data (sumber/sink) | (1) |
Aktivitas pencarian | (1) (2) |
(1) Runtime integrasi Azure (2) Runtime integrasi yang dihost sendiri
Untuk daftar penyimpanan data yang dapat didukung oleh aktivitas penyalinan sebagai sumber dan tujuan, lihat tabel Penyimpanan data yang didukung.
Nota
Mulai November 2020, Common Data Service telah diganti namanya menjadi Microsoft Dataverse. Artikel ini diperbarui untuk mencerminkan terminologi terbaru.
Konektor Dynamics ini mendukung Dynamics versi 7 hingga 9 untuk online dan lokal. Lebih spesifik:
- Versi 7 sesuai dengan Dynamics CRM 2015.
- Versi 8 berkaitan dengan Dynamics CRM 2016 dan versi awal Dynamics 365.
- Versi 9 berkorelasi dengan versi Dynamics 365 yang lebih baru.
Lihat tabel jenis dan konfigurasi autentikasi yang didukung berikut untuk versi dan produk Dynamics.
Versi Dynamics | Jenis autentikasi | Sampel layanan tertaut |
---|---|---|
Dataverse Dynamics 365 online Dynamics CRM online |
Principal layanan Microsoft Entra Office 365 Identitas terkelola yang ditetapkan pengguna |
Dynamics Online dan perwakilan layanan Microsoft Entra atau autentikasi Office 365 |
Dynamics 365 lokal dengan penyebaran yang terhubung ke internet (IFD) Dynamics CRM 2016 lokal dengan IFD Dynamics CRM 2015 lokal dengan IFD |
IFD | Dynamics lokal dengan autentikasi IFD dan IFD |
Nota
Dengan penghentian Layanan Penemuan regional, layanan telah dimutakhirkan untuk memanfaatkan Layanan Penemuan global saat menggunakan Autentikasi Office 365.
Penting
Jika penyewa dan pengguna Anda dikonfigurasi di MICROSOFT Entra ID untuk akses bersyarat dan/atau Autentikasi Multifaktor diperlukan, Anda tidak akan dapat menggunakan jenis Autentikasi Office 365. Untuk situasi tersebut, Anda harus menggunakan autentikasi perwakilan layanan Microsoft Entra.
Untuk Dynamics 365 secara khusus, jenis aplikasi berikut didukung:
- Dynamics 365 untuk Penjualan
- Dynamics 365 untuk Layanan Pelanggan
- Dynamics 365 untuk Layanan Lapangan
- Dynamics 365 for Project Service Automation
- Dynamics 365 untuk Pemasaran
Konektor ini tidak mendukung jenis aplikasi lain seperti Keuangan, Operasi, dan Bakat.
Petunjuk / Saran
Untuk menyalin data dari Dynamics 365 Finance and Operations, Anda dapat menggunakan konektor Dynamics AX.
Konektor Dynamics ini dibangun di atas alat Dynamics XRM.
Prasyarat
Untuk menggunakan konektor ini dengan autentikasi prinsipal layanan Microsoft Entra, Anda harus menyiapkan autentikasi server-ke-server (S2S) di Dataverse atau Dynamics. Pertama-tama daftarkan pengguna aplikasi (Perwakilan Layanan) di ID Microsoft Entra. Anda dapat mengetahui cara melakukan ini di sini. Selama pendaftaran aplikasi, Anda harus membuat pengguna tersebut di Dataverse atau Dynamics dan memberikan izin. Izin tersebut dapat diberikan secara langsung atau tidak langsung dengan menambahkan pengguna aplikasi ke tim yang telah diberikan izin di Dataverse atau Dynamics. Anda dapat menemukan informasi selengkapnya tentang cara menyiapkan pengguna aplikasi untuk mengautentikasi dengan Dataverse di sini.
Mulai sekarang!
Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:
- Alat Salin Data
- Portal Microsoft Azure
- The .NET SDK
- The Python SDK
- Azure PowerShell
- The REST API
- Templat Azure Resource Manager
Membuat layanan tertaut ke Dynamics 365 (Microsoft Dataverse) atau Dynamics CRM menggunakan UI
Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke Dynamics 365 di UI portal Microsoft Azure.
Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:
Cari Dynamics atau Dataverse dan pilih konektor Dynamics 365 (Microsoft Dataverse) atau Dynamics CRM.
Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.
Detail konfigurasi konektor
Bagian berikut ini menyediakan detail tentang properti yang digunakan untuk menentukan entitas khusus untuk Dynamics.
Properti layanan yang terhubung
Properti berikut didukung untuk layanan Dynamics yang terhubung.
Dynamics 365 dan Dynamics CRM online
Harta benda | Deskripsi | Diperlukan |
---|---|---|
tipe | Properti tipe harus disetel ke "Dynamics", "DynamicsCrm", atau "CommonDataServiceForApps". | Ya |
jenis penerapan | Jenis penyebaran instans Dynamics. Nilainya harus "Online" untuk Dynamics Online. | Ya |
layananUri | URL layanan instans Dynamics Anda, sama dengan yang Anda akses dari browser. Contohnya adalah "https://<organization-name.crm>[x].dynamics.com". | Ya |
tipe autentikasi | Jenis autentikasi untuk menyambungkan ke server Dynamics. Nilai yang valid adalah "AADServicePrincipal", "Office365" dan "ManagedIdentity". | Ya |
Id utama layanan | ID klien aplikasi Microsoft Entra. | Ya jika autentikasi menggunakan "AADServicePrincipal" |
servicePrincipalCredentialType | Jenis kredensial yang digunakan untuk autentikasi service-principal. Nilai yang valid adalah "ServicePrincipalKey" dan "ServicePrincipalCert". Catatan: Disarankan untuk menggunakan ServicePrincipalKey. Ada batasan yang diketahui untuk jenis kredensial ServicePrincipalCert di mana layanan mungkin menghadapi kesulitan sementara dalam mengambil rahasia dari brankas penyimpanan kunci. |
Ya jika autentikasi menggunakan "AADServicePrincipal" |
servicePrincipalCredential | Kredensial perwakilan layanan. Saat Anda menggunakan "ServicePrincipalKey" sebagai jenis kredensial, servicePrincipalCredential dapat menjadi string yang dienkripsi oleh layanan selama penyebaran layanan tertaut. Atau dapat menjadi referensi ke rahasia di Azure Key Vault. Saat Anda menggunakan "ServicePrincipalCert" sebagai kredensial, servicePrincipalCredential harus menjadi referensi ke sertifikat di Azure Key Vault, dan pastikan jenis konten sertifikat adalah PKCS #12. |
Ya jika autentikasi menggunakan "AADServicePrincipal" |
nama pengguna | Nama pengguna untuk menyambungkan ke Dynamics. | Ya saat autentikasi adalah "Office365" |
kata sandi | Kata sandi untuk akun pengguna yang Anda tentukan sebagai nama pengguna. Tandai bidang ini dengan "SecureString" untuk menyimpannya dengan aman, atau referensikan rahasia yang disimpan di Azure Key Vault. | Ya saat autentikasi adalah "Office365" |
Bukti identitas | Tentukan identitas terkelola yang ditetapkan pengguna sebagai objek kredensial. Buat satu atau beberapa identitas terkelola yang ditetapkan pengguna, tetapkan ke pabrik data Anda dan buat kredensial untuk setiap identitas terkelola yang ditetapkan pengguna. |
Ya ketika autentikasi menggunakan "ManagedIdentity" |
connectVia | Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Jika tidak ada nilai yang ditentukan, properti menggunakan runtime integrasi Azure default. | Tidak. |
Nota
Konektor Dynamics sebelumnya menggunakan properti organizationName opsional untuk mengidentifikasi instans online Dynamics CRM atau Dynamics 365 Anda. Meskipun properti tersebut masih berfungsi, kami sarankan Anda menentukan properti serviceUri yang baru sebagai gantinya untuk mendapatkan performa yang lebih baik dalam deteksi instans.
Contoh: Dynamics online menggunakan perwakilan layanan Microsoft Entra dan autentikasi kunci
{
"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"
}
}
}
Contoh: Dynamics online menggunakan perwakilan layanan Microsoft Entra dan autentikasi sertifikat
{
"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"
}
}
}
Contoh: Dynamics online menggunakan autentikasi 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"
}
}
}
Contoh: Dynamics online menggunakan autentikasi identitas terkelola yang ditetapkan pengguna
{
"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 dan Dynamics CRM lokal dengan IFD
Properti tambahan yang dibandingkan dengan Dynamics online adalah hostName dan port.
Harta benda | Deskripsi | Diperlukan |
---|---|---|
tipe | Properti tipe harus disetel ke "Dynamics", "DynamicsCrm", atau "CommonDataServiceForApps". | Ya |
jenis penerapan | Jenis penyebaran instans Dynamics. Nilainya harus "OnPremisesWithIfd" untuk Dynamics on-premises dengan IFD. | Ya |
nama host | Nama host server Dynamics lokal. | Ya |
pelabuhan | Port server Dynamics lokal di tempat. | Tidak. Nilai defaultnya adalah 443. |
namaOrganisasi | Nama organisasi instans Dynamics. | Ya |
tipe autentikasi | Jenis autentikasi untuk menyambungkan ke server Dynamics. Tentukan "ActiveDirectoryAuthentication" untuk Dynamics lokal dengan IFD. | Ya |
bidang | Domain Direktori Aktif yang akan memverifikasi kredensial pengguna. | Ya |
nama pengguna | Nama pengguna untuk menyambungkan ke Dynamics. | Ya |
kata sandi | Kata sandi untuk akun pengguna yang Anda tentukan untuk nama pengguna. Anda dapat menandai bidang ini dengan "SecureString" untuk menyimpannya dengan aman. Atau Anda dapat menyimpan kata sandi di Key Vault dan memungkinkan proses penyalinan mengaksesnya saat melakukan penyalinan data. Pelajari selengkapnya dari Simpan kredensial di Key Vault. | Ya |
connectVia | Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Jika tidak ada nilai yang ditentukan, properti menggunakan runtime integrasi Azure default. | Tidak. |
Nota
Karena penghentian metode autentikasi Ifd pada 31 Agustus 2024, silakan tingkatkan ke metode autentikasi Active Directory sebelum tanggal tersebut jika Anda saat ini menggunakannya.
Contoh: Dynamics lokal dengan IFD menggunakan autentikasi Active Directory
{
"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"
}
}
}
Properti kumpulan data
Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat artikel Himpunan Data. Bagian ini menyediakan daftar properti yang didukung oleh himpunan data Dynamics.
Untuk menyalin data dari dan ke Dynamics, properti berikut ini didukung:
Harta benda | Deskripsi | Diperlukan |
---|---|---|
tipe | Properti jenis himpunan data harus diatur ke "DynamicsEntity", "DynamicsCrmEntity", atau "CommonDataServiceForAppsEntity". | Ya |
entityName | Nama logis entitas yang akan diambil. | Tidak untuk sumber jika sumber aktivitas ditentukan sebagai "kueri" dan ya untuk penampung |
Contoh
{
"name": "DynamicsDataset",
"properties": {
"type": "DynamicsEntity",
"schema": [],
"typeProperties": {
"entityName": "account"
},
"linkedServiceName": {
"referenceName": "<Dynamics linked service name>",
"type": "linkedservicereference"
}
}
}
Menyalin properti aktivitas
Untuk daftar lengkap bagian dan properti yang tersedia guna mendefinisikan aktivitas, silakan lihat artikel Pipeline. Bagian ini menyediakan daftar properti yang didukung oleh jenis komponen sumber dan sink dalam Dynamics.
Dinamika sebagai jenis sumber
Untuk menyalin data dari Dynamics, bagian sumber aktivitas salin mendukung properti berikut:
Harta benda | Deskripsi | Diperlukan |
---|---|---|
tipe | Properti jenis sumber aktivitas salin harus diatur ke "DynamicsSource", "DynamicsCrmSource", atau "CommonDataServiceForAppsSource". | Ya |
kueri | FetchXML adalah bahasa kueri khusus yang digunakan di Dynamics online dan on-premises. Lihat contoh berikut. Untuk mempelajari selengkapnya, lihat Membuat kueri dengan FetchXML. | Tidak jika entityName dalam himpunan data ditentukan |
Nota
Kolom PK akan selalu disalin meskipun proyeksi kolom yang Anda konfigurasi dalam kueri FetchXML tidak berisinya.
Penting
- Saat Anda menyalin data dari Dynamics, pemetaan kolom eksplisit dari Dynamics ke sink bersifat opsional. Tetapi kami sangat merekomendasikan pemetaan untuk memastikan hasil salinan deterministik.
- Ketika layanan mengimpor skema di antarmuka pengguna penulisan, layanan menyimpulkan skema. Ini melakukannya dengan mengambil sampel baris atas dari hasil kueri Dynamics untuk menginisialisasi daftar kolom sumber. Dalam hal ini, kolom tanpa nilai di baris atas dihilangkan. Perilaku yang sama juga berlaku untuk pratinjau data dan pelaksanaan penyalinan jika tidak ada pemetaan eksplisit. Anda dapat meninjau dan menambahkan lebih banyak kolom lagi ke dalam pemetaan, yang diperhatikan selama proses runtime penyalinan.
Contoh
"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>"
}
}
}
]
Sampel kueri 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>
Dinamika sebagai jenis penampung
Untuk menyalin data ke Dynamics, bagian sink aktivitas salin mendukung properti berikut:
Harta benda | Deskripsi | Diperlukan |
---|---|---|
tipe | Properti jenis sink aktivitas salin harus diatur ke "DynamicsSink", "DynamicsCrmSink", atau "CommonDataServiceForAppsSink". | Ya. |
tulisPerilaku | Perilaku tulis operasi. Nilainya harus "Upsert". | Ya |
namaKunciAlternatif | Nama kunci alternatif yang ditentukan pada entitas Anda untuk melakukan upsert. | Tidak. |
writeBatchSize | Jumlah baris data yang ditulis ke Dynamics di setiap batch. | Tidak. Nilai defaultnya adalah 10. |
ignoreNullValues | Apakah akan mengabaikan nilai null dari data input selain bidang kunci selama operasi tulis. Nilai yang valid adalah TRUE dan FALSE.
|
Tidak. Nilai defaultnya adalah FALSE. |
maxConcurrentConnections | Batas maksimum jumlah koneksi bersamaan yang dapat dibuat ke penyimpanan data selama aktivitas berlangsung. Tentukan nilai hanya jika Anda ingin membatasi koneksi bersamaan. | Tidak. |
melewati eksekusi logika bisnis | Lewati logika bisnis kustom untuk menonaktifkan semua plug-in dan alur kerja kustom, kecuali: • Plug-in yang merupakan bagian dari sistem inti Microsoft Dataverse atau bagian dari solusi di mana Microsoft adalah penerbit. • Alur kerja yang disertakan dalam solusi di mana Microsoft adalah penerbit. Nilainya bisa , CustomSync , CustomAsync CustomSync,CustomAsync . Anda juga dapat memasukkan GUID secara manual (dipisahkan oleh koma) sebagai nilai untuk menentukan langkah plug-in terdaftar mana yang akan dilewati. Ini memungkinkan Anda untuk melewati langkah plug-in yang ditentukan alih-alih semua logika kustom sinkron dan asinkron.Perhatikan bahwa Anda harus memiliki prvBypassCustomBusinessLogic hak istimewa. Secara default, hanya pengguna dengan peran keamanan administrator sistem yang memiliki hak istimewa ini. Setiap pengguna Dataverse yang termasuk dalam tim Dataverse dengan jenis pemilik secara otomatis mewarisi hak istimewa yang terkait dengan peran keamanan tim. Untuk informasi selengkapnya, lihat artikel ini. |
Tidak. |
bypassPowerAutomateFlows | Melewati aliran Power Automate. Untuk informasi selengkapnya, lihat artikel ini. | Tidak. |
Nota
Nilai default untuk sink writeBatchSize dan parallelCopies untuk aktivitas penyalinan pada sink Dynamics adalah 10. Oleh karena itu, 100 rekaman secara bersamaan dikirimkan secara default ke Dynamics.
Untuk Dynamics 365 online, ada batas 52 panggilan batch bersamaan per organisasi. Jika batas tersebut terlampaui, pengecualian "Server Sibuk" dilemparkan sebelum permintaan pertama dijalankan. Simpan writeBatchSize di 10 atau kurang untuk menghindari pembatasan panggilan bersamaan tersebut.
Kombinasi optimal writeBatchSize dan parallelCopies tergantung pada skema entitas Anda. Elemen skema mencakup jumlah kolom, ukuran baris, dan jumlah plug-in, alur kerja, atau aktivitas alur kerja yang terkait dengan panggilan tersebut. Pengaturan default writeBatchSize (10) × parallelCopies (10) adalah rekomendasi sesuai dengan layanan Dynamics. Nilai ini berfungsi untuk sebagian besar entitas Dynamics, meskipun mungkin tidak memberikan performa terbaik. Anda dapat menyetel performa dengan menyesuaikan kombinasi dalam pengaturan aktivitas salin Anda.
Contoh
"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
}
}
}
]
Saat Anda memilih tabel elastis di bagian sink aktivitas salin, kolom partitionid
didukung oleh pemetaan konektor. Anda dapat memetakan kolom data sumber Anda ke kolom sink partitionid
. Jika tidak dipetakan, nilai kunci utama digunakan sebagai nilai default untuk partitionid
kolom.
partitionid
dapat digunakan untuk kunci alternatif Dataverse atau skenario kunci utama pada proses penulisan. Setiap tabel elastis berisi kolom sistem yang ditentukan partitionid
dan memiliki kunci alternatif bernama KeyForNoSqlEntityWithPKPartitionId
, yang menggabungkan kunci utama tabel dengan kolom partitionid
. Untuk informasi selengkapnya, lihat artikel ini.
Mengambil data dari tampilan
Untuk mengambil data dari tampilan Dynamics, Anda perlu mendapatkan kueri tampilan yang disimpan, dan menggunakan kueri untuk mendapatkan data.
Ada dua entitas yang menyimpan berbagai jenis tampilan: "kueri tersimpan" menyimpan tampilan sistem dan "kueri pengguna" menyimpan tampilan pengguna. Untuk mendapatkan informasi tampilan, lihat kueri FetchXML berikut dan ganti "TARGETENTITY" dengan savedquery
atau userquery
. Setiap jenis entitas memiliki lebih banyak atribut yang tersedia yang dapat Anda tambahkan ke kueri berdasarkan kebutuhan Anda. Pelajari selengkapnya tentang entitas kueri tersimpan dan entitas kueri pengguna.
<fetch top="5000" >
<entity name="<TARGETENTITY>">
<attribute name="name" />
<attribute name="fetchxml" />
<attribute name="returnedtypecode" />
<attribute name="querytype" />
</entity>
</fetch>
Anda juga dapat menambahkan filter untuk memfilter tampilan. Misalnya, tambahkan filter berikut untuk mendapatkan tampilan bernama "Akun Aktif Saya" di entitas akun.
<filter type="and" >
<condition attribute="returnedtypecode" operator="eq" value="1" />
<condition attribute="name" operator="eq" value="My Active Accounts" />
</filter>
Pemetaan jenis data untuk Dynamics
Saat Anda menyalin data dari Dynamics, tabel berikut menunjukkan pemetaan dari jenis data Dynamics ke jenis data sementara dalam layanan. Untuk mempelajari bagaimana aktivitas salin dipetakan ke skema sumber dan jenis data dipetakan ke sink, lihat Pemetaan skema dan jenis data.
Konfigurasikan jenis data sementara yang sesuai dalam struktur himpunan data yang didasarkan pada jenis data Dynamics sumber Anda dengan menggunakan tabel pemetaan berikut:
Jenis data Dinamis | Jenis data sementara layanan | Didukung sebagai sumber | Didukung sebagai sink |
---|---|---|---|
AttributeTypeCode.BigInt | Panjang | ✓ | ✓ |
AttributeTypeCode.Bolean | Boolean (tipe data yang hanya memiliki dua nilai: true atau false) | ✓ | ✓ |
AttributeType.Customer | - GUID | ✓ | ✓ (Lihat panduan) |
AttributeType.DateTime | Tanggalwaktu | ✓ | ✓ |
AttributeType.Decimal | Desimal | ✓ | ✓ |
AttributeType.Double | Dobel | ✓ | ✓ |
AttributeType.EntityName | string | ✓ | ✓ |
AttributeType.Integer | Int32 | ✓ | ✓ |
AttributeType.Lookup | - GUID | ✓ | ✓ (Lihat panduan) |
AttributeType.ManagedProperty | Boolean (tipe data yang hanya memiliki dua nilai: true atau false) | ✓ | |
AttributeType.Memo | string | ✓ | ✓ |
AttributeType.Money | Desimal | ✓ | ✓ |
AttributeType.Owner | - GUID | ✓ | ✓ (Lihat panduan) |
AttributeType.Picklist | Int32 | ✓ | ✓ |
AttributeType.Uniqueidentifier | - GUID | ✓ | ✓ |
AttributeType.String | string | ✓ | ✓ |
AttributeType.State | Int32 | ✓ | ✓ |
AttributeType.Status | Int32 | ✓ | ✓ |
Nota
Jenis data Dynamics AttributeType.CalendarRules, AttributeType.MultiSelectPicklist, dan AttributeType.PartyList tidak didukung.
Menulis data ke bidang pencarian
Untuk menulis data ke bidang pencarian dengan beberapa target seperti Pelanggan dan Pemilik, ikuti panduan dan contoh ini:
Buat sumber Anda berisi nilai bidang dan nama entitas target yang sesuai.
- Jika semua rekaman dipetakan ke entitas sasaran yang sama, pastikan salah satu dari kondisi berikut:
- Data sumber Anda memiliki kolom yang menyimpan nama entitas target.
- Anda telah menambahkan kolom tambahan di sumber aktivitas salin untuk menentukan entitas target.
- Jika rekaman yang berbeda dipetakan ke entitas target yang berbeda, pastikan data sumber Anda memiliki kolom yang menyimpan nama entitas target yang sesuai.
- Jika semua rekaman dipetakan ke entitas sasaran yang sama, pastikan salah satu dari kondisi berikut:
Petakan kolom nilai dan referensi entitas dari sumber ke sink. Kolom referensi entitas harus dipetakan ke kolom virtual dengan pola penamaan khusus
{lookup_field_name}@EntityReference
. Kolom sebenarnya tidak ada di Dynamics. Ini digunakan untuk menunjukkan kolom ini adalah kolom metadata dari bidang pencarian multitarget yang diberikan.
Menyetel kolom pemilik
Saat mengatur bidang Pemilik di Dynamics 365 (Microsoft Dataverse) atau Dynamics CRM, penting untuk memberikan referensi yang valid. Opsi valid untuk @EntityReference
adalah:
-
systemuser
: Ini mengacu pada pengguna individu dalam sistem. -
team
: Ini mengacu pada tim pengguna dalam organisasi.
Pastikan bahwa nilai yang diberikan sesuai dengan salah satu opsi ini untuk menghindari kesalahan selama transformasi data.
Misalnya, asumsikan sumber memiliki dua kolom ini:
- Kolom CustomerField dari tipe GUID, yang merupakan nilai kunci utama entitas target di Dynamics.
- Kolom target jenis String, yang merupakan nama logis dari entitas target.
Asumsikan juga Anda ingin menyalin data tersebut ke bidang entitas Dynamics sink CustomerField jenis Pelanggan.
Dalam pemetaan kolom aktivitas salin, petakan dua kolom sebagai berikut:
- CustomerField ke CustomerField. Pemetaan ini adalah pemetaan bidang normal.
- Target ke CustomerField@EntityReference. Kolom sink adalah kolom virtual yang mewakili referensi entitas. Masukkan nama bidang tersebut dalam pemetaan, karena tidak akan muncul dengan mengimpor skema.
Jika semua rekaman sumber Anda dipetakan ke entitas target yang sama dan data sumber Anda tidak berisi nama entitas target, berikut adalah pintasan: di sumber aktivitas salin, tambahkan kolom tambahan. Beri nama kolom baru dengan menggunakan pola {lookup_field_name}@EntityReference
, atur nilai ke nama entitas target, lalu lanjutkan dengan pemetaan kolom seperti biasa. Jika nama kolom sumber dan sink Anda identik, Anda juga dapat melewati pemetaan kolom eksplisit karena aktivitas salin secara default memetakan kolom berdasarkan nama.
Menulis data ke bidang pencarian melalui kunci alternatif
Untuk menulis data ke dalam bidang pencarian menggunakan kolom kunci alternatif, ikuti panduan dan contoh ini:
Pastikan sumber Anda berisi semua kolom kunci pencarian.
Kolom kunci alternatif harus dipetakan ke kolom dengan pola penamaan khusus
{lookup_field_name}@{alternate_key_column_name}
. Kolom tidak ada di Dynamics. Ini digunakan untuk menunjukkan bahwa kolom ini digunakan untuk mencari rekaman di entitas target.Buka tab Pemetaan di transformasi sink aliran data pemetaan. Pilih kunci alternatif sebagai kolom output di bawah bidang Pencarian. Nilai berikut menunjukkan kolom kunci dari kunci alternatif ini.
Setelah dipilih, kolom kunci alternatif akan secara otomatis ditampilkan di bawah ini.
Petakan kolom input Anda di sebelah kiri dengan kolom output.
Nota
Saat ini ini hanya didukung ketika Anda menggunakan mode inline dalam transformasi sink pemetaan aliran data.
Pemetaan properti aliran data
Saat mengubah data dalam pemetaan aliran data, Anda dapat membaca dari dan menulis ke tabel di Dynamics. Untuk informasi selengkapnya, lihat transformasi sumber dan transformasi sink dalam pemetaan aliran data. Anda dapat memilih untuk menggunakan himpunan data Dynamics atau himpunan data sebaris sebagai jenis sumber dan sink.
Transformasi sumber
Tabel di bawah ini mencantumkan properti yang didukung oleh Dynamics. Anda bisa mengedit properti ini di tab opsi Sumber.
Nama | Deskripsi | Diperlukan | Nilai yang diizinkan | Properti skrip aliran data |
---|---|---|---|---|
Nama entitas | Nama logis entitas yang akan diambil. | Ya saat menggunakan himpunan data sebaris | - |
(hanya untuk himpunan data sebaris) kesatuan |
Pertanyaan | FetchXML adalah bahasa kueri khusus yang digunakan di Dynamics online dan on-premises. Lihat contoh berikut. Untuk mempelajari selengkapnya, lihat Membuat kueri dengan FetchXML. | Tidak. | string | kueri |
Nota
Jika Anda memilih Kueri sebagai jenis input, jenis kolom dari tabel tidak dapat diambil. Ini akan diperlakukan sebagai string secara default.
Contoh skrip sumber Dynamics
Saat Anda menggunakan himpunan data Dynamics sebagai jenis sumber, skrip aliran data terkait adalah:
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
Jika menggunakan himpunan data sebaris, skrip aliran data terkait adalah:
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
Transformasi penampung
Tabel di bawah ini mencantumkan properti yang didukung oleh sink Dynamics. Anda dapat mengedit properti ini di tab opsi Sink.
Nama | Deskripsi | Diperlukan | Nilai yang diizinkan | Properti skrip aliran data |
---|---|---|---|---|
Nama kunci alternatif | Nama kunci alternatif yang ditentukan pada entitas Anda untuk melakukan pembaruan, upsert, atau penghapusan. | Tidak. | - | namaKunciAlternatif |
Metode pembaruan | Menentukan operasi apa yang diizinkan di tujuan database Anda. Defaultnya hanya mengizinkan sisipan. Untuk memperbarui, menyisipkan atau menghapus baris, diperlukan transformasi Alter row untuk menandai baris untuk tindakan tersebut. |
Ya |
true atau false |
dapat disisipkan dapat diperbarui dapat di-upsert dapat dihapus |
Nama entitas | Nama logis entitas yang akan ditulis. | Ya saat menggunakan himpunan data sebaris | - |
(hanya untuk himpunan data sebaris) kesatuan |
Contoh skrip sink Dynamics
Saat Anda menggunakan himpunan data Dynamics sebagai jenis sink, skrip aliran data terkait adalah:
IncomingStream sink(allowSchemaDrift: true,
validateSchema: false,
deletable:true,
insertable:true,
updateable:true,
upsertable:true,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> DynamicsSink
Jika menggunakan himpunan data sebaris, skrip aliran data terkait adalah:
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
Properti aktivitas pencarian data
Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.
Konten terkait
Untuk daftar penyimpanan data yang mendukung aktivitas penyalinan sebagai sumber dan target, lihat Penyimpanan data yang didukung.