Bagikan melalui


Menyalin dan mengubah data di Dynamics 365 (Microsoft Dataverse) atau Dynamics CRM menggunakan Azure Data Factory atau Azure Synapse Analytics

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:

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.

  1. Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:

  2. Cari Dynamics atau Dataverse dan pilih konektor Dynamics 365 (Microsoft Dataverse) atau Dynamics CRM.

    Cuplikan layar konektor Dynamics 365.

    Cuplikan layar konektor Dataverse.

  3. Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.

    Cuplikan layar konfigurasi layanan tertaut untuk Dynamics 365.

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.
  • TRUE: Biarkan data di objek tujuan tidak berubah saat Anda melakukan operasi upsert atau pembaruan. Sisipkan nilai default yang ditentukan saat Anda melakukan operasi penyisipan.
  • FALSE: Perbarui data di objek tujuan ke nilai null saat Anda melakukan operasi upsert atau pembaruan. Sisipkan nilai null saat Anda melakukan operasi penyisipan.
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, CustomAsyncCustomSync,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:

  1. 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.
  2. 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.

Pemetaan kolom bidang pencarian Dynamics

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.

Bidang pencarian Dynamics menambahkan kolom referensi entitas

Menulis data ke bidang pencarian melalui kunci alternatif

Untuk menulis data ke dalam bidang pencarian menggunakan kolom kunci alternatif, ikuti panduan dan contoh ini:

  1. Pastikan sumber Anda berisi semua kolom kunci pencarian.

  2. 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.

  3. 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.

    Cuplikan layar memperlihatkan pemilihan kolom kunci alternatif.

  4. Setelah dipilih, kolom kunci alternatif akan secara otomatis ditampilkan di bawah ini.

    Cuplikan layar memperlihatkan kolom pemetaan ke bidang pencarian melalui kunci alternatif langkah 1.

  5. Petakan kolom input Anda di sebelah kiri dengan kolom output.

    Cuplikan layar memperlihatkan kolom pemetaan ke bidang pencarian melalui kunci alternatif langkah 2.

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.

Untuk daftar penyimpanan data yang mendukung aktivitas penyalinan sebagai sumber dan target, lihat Penyimpanan data yang didukung.