Bagikan melalui


Menyalin dan mengubah data di Azure Cosmos DB untuk NoSQL dengan menggunakan Azure Data Factory

BERLAKU UNTUK: Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Artikel ini menguraikan cara menggunakan Aktivitas Salin di Azure Data Factory untuk menyalin data dari dan ke Azure Cosmos DB untuk NoSQL, dan menggunakan Aliran Data untuk mengubah data di Azure Cosmos DB untuk NoSQL. Untuk mempelajari selengkapnya, baca artikel pengantar untuk Azure Data Factory dan Azure Synapse Analytics.

Catatan

Konektor ini hanya mendukung Azure Cosmos DB untuk NoSQL. Untuk Azure Cosmos DB for MongoDB, lihat konektor untuk Azure Cosmos DB for MongoDB. Jenis API lainnya saat ini tidak didukung.

Kemampuan yang didukung

Konektor Azure Cosmos DB for NoSQL ini didukung untuk kemampuan berikut:

Kemampuan yang didukung IR Titik akhir privat terkelola
Salin aktivitas (sumber/sink) (1) (2)
Memetakan aliran data (sumber/sink) (1)
Aktivitas pencarian (1) (2)

① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri

Untuk aktivitas Salin, konektor Azure Cosmos DB for NoSQL ini mendukung:

  • Salin data dari dan ke Azure Cosmos DB untuk NoSQL menggunakan kunci, perwakilan layanan, atau identitas terkelola untuk autentikasi sumber daya Azure.
  • Menulis ke Azure Cosmos DB sebagai sisipkan atau upsert.
  • Mengimpor dan mengekspor dokumen JSON sebagaimana adanya, atau menyalin data dari atau ke himpunan data tabular. Contohnya termasuk database SQL dan file CSV. Untuk menyalin dokumen sebagaimana adanya ke atau dari file JSON atau ke atau dari koleksi DB Azure Cosmos DB lainnya, lihat Mengimpor dan mengekspor dokumen JSON.

Pipa Data Factory dan Synapse terintegrasi dengan pustaka pelaksana massal Azure Cosmos DB untuk memberikan performa terbaik saat Anda menulis ke Azure Cosmos DB.

Tip

Video Migrasi Data memandu Anda melalui langkah-langkah penyalinan data dari penyimpanan Azure Blob ke Azure Cosmos DB. Video ini juga menjelaskan pertimbangan penyetelan kinerja untuk menelan data ke Azure Cosmos DB secara umum.

Memulai

Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:

Membuat layanan tertaut ke Azure Cosmos DB menggunakan antarmuka pengguna

Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke Azure Cosmos DB di dalam antarmuka pengguna 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 Azure Cosmos DB untuk NoSQL dan pilih konektor Azure Cosmos DB for NoSQL.

    Pilih Azure Cosmos DB untuk konektor NoSQL.

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

    Cuplikan layar konfigurasi layanan tertaut untuk Azure Cosmos DB.

Detail konfigurasi konektor

Bagian berikut ini menyediakan detail tentang properti yang dapat Anda gunakan untuk menentukan entitas yang khusus untuk Azure Cosmos DB untuk NoSQL.

Properti layanan tertaut

Konektor Azure Cosmos DB for NoSQL mendukung jenis autentikasi berikut. Lihat bagian terkait untuk detailnya:

Autentikasi kunci

Properti Deskripsi Wajib
jenis Properti jenis harus diatur menjadi CosmosDb. Ya
connectionString Tentukan informasi yang diperlukan untuk menyambungkan ke database Azure Cosmos DB.
Catatan: Anda harus menentukan informasi database dalam string koneksi seperti yang ditunjukkan dalam contoh yang berikut.
Anda juga dapat meletakkan kunci akun di Azure Key Vault dan mengeluarkanaccountKey konfigurasi dari string koneksi. Lihat sampel berikut dan artikel Menyimpan info masuk di Azure Key Vault untuk detail selengkapnya.
Ya
connectVia Integration Runtime digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan Integration Runtime Azure atau runtime integrasi yang dihost sendiri (jika penyimpanan data Anda berada di jaringan privat). Jika properti ini tidak ditentukan, Integration Runtime Azure default akan digunakan. No

Contoh

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "connectionString": "AccountEndpoint=<EndpointUrl>;AccountKey=<AccessKey>;Database=<Database>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Contoh: menyimpan kunci akun di Azure Key Vault

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "connectionString": "AccountEndpoint=<EndpointUrl>;Database=<Database>",
            "accountKey": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Autentikasi perwakilan layanan

Catatan

Saat ini, autentikasi perwakilan layanan tidak didukung dalam aliran data.

Untuk menggunakan autentikasi perwakilan layanan, ikuti langkah-langkah berikut ini.

  1. Mendaftarkan aplikasi di platform identitas Microsoft. Untuk mempelajari caranya, lihat Mulai Cepat: Mendaftarkan aplikasi dengan platform identitas Microsoft. Catat nilai berikut, yang Anda gunakan untuk menentukan layanan tertaut:

    • ID aplikasi
    • Kunci Aplikasi
    • ID Penyewa
  2. Berikan izin yang tepat kepada perwakilan layanan. Lihat contoh tentang cara kerja izin di Azure Cosmos DB dari daftar Kontrol akses pada file dan direktori. Lebih khusus lagi, buat definisi peran, dan tetapkan peran ke perwakilan layanan melalui ID objek perwakilan layanan.

Properti ini didukung untuk layanan tertaut:

Properti Deskripsi Wajib
jenis Jenis properti harus diatur ke CosmosDb. Ya
accountEndpoint Tentukan URL titik akhir akun untuk instans Azure Cosmos DB. Ya
database Tentukan nama database. Ya
servicePrincipalId Menentukan ID klien aplikasi. Ya
servicePrincipalCredentialType Jenis informasi masuk yang digunakan untuk autentikasi perwakilan layanan. Nilai yang diizinkan adalah ServicePrincipalKey dan ServicePrincipalCert. Ya
servicePrincipalCredential Informasi masuk perwakilan layanan.
Saat Anda menggunakan ServicePrincipalKey sebagai jenis informasi masuk, tentukan kunci aplikasi. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau lihat rahasia yang disimpan di Azure Key Vault.
Saat Anda menggunakan ServicePrincipalCert sebagai kredensial, rujuk sertifikat di Azure Key Vault, dan pastikan jenis konten sertifikatnya adalah PKCS #12.
Ya
penyewa Tentukan informasi penyewa (nama domain atau ID penyewa) tempat aplikasi Anda berada. Ambil dengan mengarahkan mouse ke sudut kanan atas portal Microsoft Azure. Ya
azureCloudType Untuk autentikasi perwakilan layanan, tentukan jenis lingkungan cloud Azure tempat aplikasi Microsoft Entra Anda didaftarkan.
Nilai yang diizinkan adalah AzurePublic, AzureChina, AzureUsGovernment, dan AzureGermany. Secara default, lingkungan cloud layanan digunakan.
No
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan runtime integrasi Azure atau runtime integrasi yang dihost sendiri jika penyimpanan data Anda berada di jaringan privat. Jika tidak ditentukan, runtime integrasi Azure default digunakan. No

Contoh: menggunakan autentikasi kunci perwakilan layanan

Anda juga dapat menyimpan kunci perwakilan layanan di Azure Key Vault.

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "accountEndpoint": "<account endpoint>",
            "database": "<database name>",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType": "ServicePrincipalKey",
            "servicePrincipalCredential": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>" 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Contoh: menggunakan autentikasi sertifikat perwakilan layanan

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "accountEndpoint": "<account endpoint>",
            "database": "<database name>", 
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType": "ServicePrincipalCert",
            "servicePrincipalCredential": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<AKV reference>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<certificate name in AKV>" 
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>" 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Autentikasi identitas terkelola yang ditetapkan sistem

Catatan

Saat ini, autentikasi identitas terkelola yang ditetapkan sistem tidak didukung dalam aliran data.

Pabrik data atau alur Synapse dapat dikaitkan dengan identitas terkelola yang ditetapkan sistem untuk sumber daya Azure, yang mewakili instans layanan khusus ini. Anda dapat langsung menggunakan identitas terkelola ini untuk autentikasi Azure Cosmos DB, mirip dengan menggunakan perwakilan layanan Anda sendiri. Ini memungkinkan sumber daya yang ditunjuk ini untuk mengakses dan menyalin data ke atau dari instans Azure Cosmos DB Anda.

Untuk menggunakan identitas terkelola yang ditetapkan sistem untuk autentikasi sumber daya Azure, ikuti langkah-langkah ini.

  1. Ambil informasi identitas terkelola yang ditetapkan sistem dengan menyalin nilai ID objek identitas terkelola yang dihasilkan bersama dengan layanan Anda.

  2. Berikan izin yang tepat untuk identitas terkelola yang ditetapkan sistem. Lihat contoh tentang cara kerja izin di Azure Cosmos DB dari daftar Kontrol akses pada file dan direktori. Lebih khusus lagi, buat definisi peran, dan tetapkan peran ke identitas terkelola yang ditetapkan sistem.

Properti ini didukung untuk layanan tertaut:

Properti Deskripsi Wajib
jenis Jenis properti harus diatur ke CosmosDb. Ya
accountEndpoint Tentukan URL titik akhir akun untuk instans Azure Cosmos DB. Ya
database Tentukan nama database. Ya
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan runtime integrasi Azure atau runtime integrasi yang dihost sendiri jika penyimpanan data Anda berada di jaringan privat. Jika tidak ditentukan, runtime integrasi Azure default digunakan. No

Contoh:

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "accountEndpoint": "<account endpoint>",
            "database": "<database name>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Autentikasi identitas terkelola yang ditetapkan pengguna

Catatan

Saat ini, autentikasi identitas terkelola yang ditetapkan pengguna tidak didukung dalam aliran data.

Pabrik data atau alur Synapse dapat dikaitkan dengan identitas terkelola yang ditetapkan pengguna, yang mewakili instans layanan khusus ini. Anda dapat langsung menggunakan identitas terkelola ini untuk autentikasi Azure Cosmos DB, mirip dengan menggunakan perwakilan layanan Anda sendiri. Ini memungkinkan sumber daya yang ditunjuk ini untuk mengakses dan menyalin data ke atau dari instans Azure Cosmos DB Anda.

Untuk menggunakan identitas terkelola yang ditetapkan pengguna untuk autentikasi sumber daya Azure, ikuti langkah-langkah ini.

  1. Buat satu atau beberapa identitas terkelola yang ditetapkan pengguna dan berikan izin yang sesuai untuk identitas terkelola yang ditetapkan pengguna. Lihat contoh tentang cara kerja izin di Azure Cosmos DB dari daftar Kontrol akses pada file dan direktori. Lebih khusus lagi, buat definisi peran, dan tetapkan peran ke identitas terkelola yang ditetapkan pengguna.

  2. Tetapkan satu atau beberapa identitas terkelola yang ditetapkan pengguna ke pabrik data Anda dan buat info masuk untuk setiap identitas terkelola yang ditetapkan pengguna.

Properti ini didukung untuk layanan tertaut:

Properti Deskripsi Wajib
jenis Jenis properti harus diatur ke CosmosDb. Ya
accountEndpoint Tentukan URL titik akhir akun untuk instans Azure Cosmos DB. Ya
database Tentukan nama database. Ya
informasi masuk Tentukan identitas terkelola yang ditetapkan pengguna sebagai objek kredensial. Ya
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan runtime integrasi Azure atau runtime integrasi yang dihost sendiri jika penyimpanan data Anda berada di jaringan privat. Jika tidak ditentukan, runtime integrasi Azure default digunakan. No

Contoh:

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "accountEndpoint": "<account endpoint>",
            "database": "<database name>",
            "credential": {
                "referenceName": "credential1",
                "type": "CredentialReference"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Properti himpunan data

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat Himpunan data dan layanan tertaut.

Properti berikut ini didukung untuk Azure Cosmos DB untuk himpunan data NoSQL:

Properti Deskripsi Wajib
jenis Properti jenis himpunan data harus diatur menjadi CosmosDbSqlApiCollection. Ya
collectionName Nama koleksi dokumen Azure Cosmos DB. Ya

Jika Anda menggunakan himpunan data jenis "DocumentDbCollection", himpunan data tersebut masih didukung sebagaimana adanya untuk kompatibilitas mundur untuk aktivitas Penyalinan dan Pencarian, namun tidak didukung untuk Aliran Data. Anda disarankan untuk menggunakan model baru di masa mendatang.

Contoh

{
    "name": "CosmosDbSQLAPIDataset",
    "properties": {
        "type": "CosmosDbSqlApiCollection",
        "linkedServiceName":{
            "referenceName": "<Azure Cosmos DB linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [],
        "typeProperties": {
            "collectionName": "<collection name>"
        }
    }
}

Properti Aktivitas Salin

Bagian ini menyediakan daftar properti yang didukung oleh Azure Cosmos DB untuk sumber NoSQL dan sink. Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat Alur.

Azure Cosmos DB untuk NoSQL sebagai sumber

Untuk menyalin data dari Azure Cosmos DB for NoSQL, atur jenis sumber di Aktivitas Salin ke DocumentDbCollectionSource.

Properti berikut ini didukung di bagian sumber Aktivitas Penyalinan:

Properti Deskripsi Wajib
jenis Properti jenis sumber aktivitas penyalinan harus diatur ke CosmosDbSqlApiSource. Ya
pertanyaan Tentukan kueri Azure Cosmos DB untuk membaca data.

Contoh:
SELECT c.BusinessEntityID, c.Name.First AS FirstName, c.Name.Middle AS MiddleName, c.Name.Last AS LastName, c.Suffix, c.EmailPromotion FROM c WHERE c.ModifiedDate > \"2009-01-01T00:00:00\"
Tanpa

Jika tidak ditentukan, pernyataan SQL ini dijalankan: select <columns defined in structure> from mycollection
preferredRegions Daftar wilayah pilihan untuk disambungkan saat mengambil data dari Azure Cosmos DB. No
pageSize Jumlah dokumen per halaman hasil kueri. Defaultnya adalah "-1" yang berarti menggunakan ukuran halaman dinamis sisi layanan hingga 1000. No
detectDatetime Apakah akan mendeteksi tanggalwaktu dari nilai string dalam dokumen. Nilai yang diizinkan adalah: benar (default), salah. No

Jika Anda menggunakan sumber jenis "DocumentDbCollectionSource", sumber tersebut masih didukung sebagaimana adanya untuk kompatibilitas mundur. Anda disarankan untuk menggunakan model baru ke depannya yang menyediakan kemampuan yang lebih kaya untuk menyalin data dari Azure Cosmos DB.

Contoh

"activities":[
    {
        "name": "CopyFromCosmosDBSQLAPI",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Cosmos DB for NoSQL input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "CosmosDbSqlApiSource",
                "query": "SELECT c.BusinessEntityID, c.Name.First AS FirstName, c.Name.Middle AS MiddleName, c.Name.Last AS LastName, c.Suffix, c.EmailPromotion FROM c WHERE c.ModifiedDate > \"2009-01-01T00:00:00\"",
                "preferredRegions": [
                    "East US"
                ]
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Saat menyalin data dari Azure Cosmos DB, kecuali Anda ingin mengekspor dokumen JSON apa adanya, praktik terbaiknya adalah menentukan pemetaan dalam aktivitas salin. Layanan menghormati pemetaan yang Anda tentukan pada aktivitas - jika baris tidak berisi nilai untuk kolom, nilai nol diberikan untuk nilai kolom. Jika Anda tidak menentukan pemetaan, layanan menyimpulkan skema dengan menggunakan baris pertama dalam data. Jika baris pertama tidak berisi skema lengkap, beberapa kolom akan hilang dalam hasil operasi aktivitas tersebut.

Azure Cosmos DB untuk NoSQL sebagai sink

Untuk menyalin data ke Azure Cosmos DB for NoSQL, atur jenis sink di Aktivitas Salin ke DocumentDbCollectionSink.

Properti berikut ini didukung di Salin Aktivitas bagian sink:

Properti Deskripsi Wajib
jenis Properti jenis sink Salin Aktivitas harus diatur menjadi CosmosDbSqlApiSink. Ya
writeBehavior Menjelaskan cara menulis data ke Azure Cosmos DB. Nilai yang diperbolehkan sisipkan dan upsert.

Perilaku upsert bertujuan mengganti dokumen jika dokumen dengan ID yang sama sudah ada; jika tidak, sisipkan dokumen.

Catatan: Layanan secara otomatis membuat ID untuk dokumen jika ID tidak ditentukan baik dalam dokumen asli atau dengan pemetaan kolom. Artinya Anda harus memastikan bahwa, agar upsert berfungsi seperti yang diharapkan, dokumen Anda harus memiliki ID.
No
(defaultnya adalah sisipkan)
writeBatchSize Layanan ini menggunakan pustaka pelaksana massal Azure Cosmos DB untuk menulis data ke Azure Cosmos DB. Properti writeBatchSize mengontrol ukuran dokumen yang disediakan layanan ke perpustakaan. Anda dapat mencoba meningkatkan nilai untuk writeBatchSize untuk meningkatkan performa dan mengurangi nilai jika ukuran dokumen Anda besar - lihat tips di bawah ini. No
(Nilai defaultnya adalah 10,000)
disableMetricsCollection Layanan ini mengumpulkan metrik seperti RUs Azure Cosmos DB untuk pengoptimalan dan rekomendasi performa salin. Jika Anda khawatir dengan perilaku ini, tentukan true untuk menonaktifkannya. Tidak (defaultnya adalah false)
 maxConcurrentConnections Batas atas koneksi bersamaan yang ditetapkan ke penyimpanan data selama eksekusi aktivitas. Menentukan nilai hanya saat Anda ingin membatasi koneksi bersamaan.  Tanpa

Tip

Untuk mengimpor dokumen JSON apa adanya, lihat bagian Mengimpor atau mengekspor dokumen JSON; untuk menyalin dari data berbentuk tabular, lihat Migrasi dari database relasional ke Azure Cosmos DB.

Tip

Azure Cosmos DB membatasi ukuran permintaan tunggal hingga 2MB. Rumusnya adalah Ukuran Permintaan = Ukuran Dokumen Tunggal * Tulis Ukuran Batch. Jika Anda menemukan kesalahan yang mengatakan "Ukuran permintaan terlalu besar.", kurangiwriteBatchSize nilai dalam konfigurasi sink penyalinan.

Jika Anda menggunakan sumber jenis "DocumentDbCollectionSink", sumber tersebut masih didukung sebagaimana adanya untuk kompatibilitas mundur. Anda disarankan untuk menggunakan model baru ke depannya yang menyediakan kemampuan yang lebih kaya untuk menyalin data dari Azure Cosmos DB.

Contoh

"activities":[
    {
        "name": "CopyToCosmosDBSQLAPI",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Document DB output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "CosmosDbSqlApiSink",
                "writeBehavior": "upsert"
            }
        }
    }
]

Pemetaan skema

Untuk menyalin data dari Azure Cosmos DB ke sink tabular atau sebaliknya, lihat pemetaan skema.

Properti pemetaan aliran data

Saat mengubah data dalam pemetaan aliran data, Anda dapat membaca dan menulis ke koleksi di Azure Cosmos DB. Untuk informasi selengkapnya, lihat transformasi sumber dan transformasi sink dalam aliran data pemetaan.

Catatan

Azure Cosmos DB tanpa server tidak didukung dalam pemetaan aliran data.

Transformasi sumber

Pengaturan khusus untuk Azure Cosmos DB tersedia di tab Opsi Sumber dari transformasi sumber.

Sertakan kolom sistem: Jika benar, id, _ts, dan kolom sistem lainnya akan disertakan dalam metadata aliran data Anda dari Azure Cosmos DB. Saat memperbarui koleksi, penting untuk menyertakan kolom ini sehingga Anda dapat mengambil id baris yang ada.

Ukuran halaman: Jumlah dokumen per halaman hasil kueri. Jumlah defaultnya adalah "-1" yang menggunakan halaman dinamis layanan hingga 1.000.

Throughput: Tetapkan nilai opsional untuk jumlah RU yang ingin Anda terapkan ke koleksi Azure Cosmos DB Anda untuk setiap eksekusi aliran data ini selama operasi baca. Nilai minimum adalah 400.

Wilayah pilihan: Pilih wilayah baca yang diinginkan untuk proses ini.

Ubah umpan: Jika benar, Anda akan mendapatkan data dari umpan perubahan Azure Cosmos DB yang merupakan rekaman perubahan persisten ke kontainer dalam urutan yang terjadi dari yang terakhir dijalankan secara otomatis. Saat Anda mengaturnya ke True, jangan atur kedua Jenis kolom infer drifted dan Izinkan skema drift sebagai True pada saat yang bersamaan. Untuk detail selengkapnya, lihat umpan perubahan Azure Cosmos DB).

Mulailah dari awal: Jika benar, Anda akan mendapatkan beban awal data snapshot penuh di eksekusi pertama, diikuti dengan menangkap data yang diubah di eksekusi berikutnya. Jika salah, beban awal akan dilompati pada putaran pertama, diikuti dengan menangkap data yang diubah di eksekusi berikutnya. Pengaturan diselaraskan dengan nama pengaturan yang sama dalam referensi Azure Cosmos DB. Untuk detail selengkapnya, lihat umpan perubahan Azure Cosmos DB.

Transformasi sink

Pengaturan khusus untuk Azure Cosmos DB tersedia di tab Pengaturan dari transformasi sink.

Metode pembaruan: Menentukan operasi apa yang diizinkan di tujuan database Anda. Defaultnya hanya mengizinkan operasi sisipan. Untuk memperbarui, meng-upsert, atau menghapus baris, transformasi baris pengganti diperlukan untuk menandai baris untuk tindakan tersebut. Untuk pembaruan, upsert dan hapus, kolom kunci atau kolom harus diatur untuk menentukan baris mana yang akan diubah.

Aksi koleksi: Menentukan apakah akan membuat ulang koleksi tujuan sebelum menulis.

  • Tidak Ada: Tidak ada tindakan yang akan dilakukan pada koleksi.
  • Buat ulang: Koleksi akan dihilangkan dan dibuat ulang

Ukuran batch: Bilangan bulat yang mewakili berapa banyak objek yang ditulis ke koleksi Azure Cosmos DB di setiap batch. Biasanya, memulai dengan ukuran batch default sudah cukup. Untuk lebih menyelaraskan nilai ini, perhatikan:

  • Azure Cosmos DB membatasi ukuran permintaan tunggal hingga 2MB. Rumusnya adalah” Ukuran Permintaan = Ukuran Dokumen Tunggal * Tulis Ukuran Batch”. Jika Anda menemukan kesalahan yang mengatakan "Ukuran permintaan terlalu besar", kurangi nilai ukuran batch.
  • Semakin besar ukuran batch, semakin baik throughput yang dapat layanan capai, sekaligus pastikan Anda mengalokasikan RU yang cukup untuk memberdayakan beban kerja Anda.

Tombol partisi: Masukkan string yang mewakili kunci partisi untuk koleksi Anda. Contoh: /movies/title

Throughput: Tetapkan nilai opsional untuk jumlah RU yang ingin Anda terapkan ke koleksi Azure Cosmos DB Anda untuk setiap eksekusi aliran data ini. Nilai minimum adalah 400.

Tulis anggaran throughput: Bilangan bulat yang mewakili RU yang ingin Anda alokasikan untuk operasi penulisan Aliran Data ini, dari total throughput yang dialokasikan untuk koleksi.

Catatan

Untuk membatasi penggunaan RU, atur Throughput Cosmos DB (skala otomatis) ke Manual.

Properti aktivitas pencarian

Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.

Mengimpor dan mengekspor dokumen JSON

Anda dapat menggunakan konektor Azure Cosmos DB for NoSQL ini untuk dengan mudah:

  • Menyalin dokumen antara dua koleksi Azure Cosmos DB sebagaimana adanya.
  • Impor dokumen JSON dari berbagai sumber ke Azure Cosmos DB, termasuk dari penyimpanan Azure Blob, Azure Data Lake Store, dan penyimpanan berbasis file lainnya yang didukung layanan.
  • Mengekspor dokumen JSON dari koleksi Azure Cosmos DB ke berbagai penyimpanan berbasis file.

Untuk mencapai salinan skema-agnostik:

  • Saat Anda menggunakan alat Salin Data, pilih opsi Ekspor apa adanya ke file JSON atau koleksi Azure Cosmos DB.
  • Saat Anda menggunakan penulisan aktivitas, pilih format JSON dengan penyimpanan file yang sesuai untuk sumber atau sink.

Migrasi dari database relasional ke Azure Cosmos DB

Saat bermigrasi dari database relasional e.g. SQL Server ke Azure Cosmos DB, aktivitas salin dapat dengan mudah memetakan data tabular dari sumber untuk meratakan dokumen JSON di Azure Cosmos DB. Dalam beberapa kasus, Anda mungkin ingin mendesain ulang model data untuk mengoptimalkannya untuk kasus penggunaan NoSQL menurut Pemodelan data di Azure Cosmos DB, misalnya, untuk mendenormalisasi data dengan menyematkan semua sub-item terkait dalam satu dokumen JSON. Untuk kasus seperti itu, lihat artikel ini dengan panduan tentang cara mencapainya menggunakan aktivitas penyalinan.

Umpan perubahan Azure Cosmos DB

Azure Data Factory bisa mendapatkan data dari umpan perubahan Azure Cosmos DB dengan mengaktifkannya dalam pemetaan transformasi sumber aliran data. Dengan opsi konektor ini, Anda dapat membaca feed perubahan dan menerapkan transformasi sebelum memuat data yang diubah menjadi himpunan data tujuan pilihan Anda. Anda tidak perlu menggunakan fungsi Azure untuk membaca umpan perubahan dan kemudian menulis transformasi kustom. Anda dapat menggunakan opsi ini untuk memindahkan data dari satu kontainer ke kontainer lainnya, menyiapkan tampilan materi berbasis umpan perubahan untuk tujuan yang sesuai atau mengotomatiskan pencadangan atau pemulihan kontainer berdasarkan umpan perubahan, dan mengaktifkan lebih banyak kasus penggunaan tersebut menggunakan kemampuan seret dan lepas visual Azure Data Factory.

Pastikan Anda menjaga agar nama alur dan aktivitas tidak berubah, sehingga titik pemeriksaan dapat direkam oleh ADF agar Anda mendapatkan data yang diubah dari yang terakhir dijalankan secara otomatis. Jika Anda mengubah nama alur atau nama aktivitas Anda, titik pemeriksaan akan diatur ulang, yang mengarahkan Anda untuk memulai dari awal atau mendapatkan perubahan mulai sekarang di eksekusi berikutnya.

Saat Anda men-debug alur, fitur ini berfungsi sama. Ketahuilah bahwa pos pemeriksaan akan diatur ulang saat Anda menyegarkan browser selama eksekusi debug. Setelah Anda puas dengan hasil alur dari eksekusi debug, Anda dapat melanjutkan untuk menerbitkan dan memicu alur. Pada saat Anda pertama kali memicu alur yang diterbitkan, maka secara otomatis dimulai ulang dari awal atau mendapat perubahan mulai sekarang.

Di bagian pemantauan, Anda selalu memiliki kesempatan untuk menjalankan kembali alur. Saat Anda melakukannya, data yang diubah selalu diambil dari pos pemeriksaan sebelumnya dari eksekusi alur yang Anda pilih.

Selain itu, penyimpanan analitik Azure Cosmos DB sekarang mendukung Change Data Capture (CDC) untuk Api Azure Cosmos DB untuk NoSQL dan Azure Cosmos DB API untuk Mongo DB (pratinjau publik). Penyimpanan analitik Azure Cosmos DB memungkinkan Anda untuk secara efisien menggunakan umpan berkelanjutan dan bertambah bertahap dari data yang diubah (dimasukkan, diperbarui, dan dihapus) dari penyimpanan analitis.

Untuk daftar penyimpanan data yang didukung oleh Copy Activity sebagai sumber dan sink, lihat penyimpanan data yang didukung.