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.
Petunjuk
Data Factory di Microsoft Fabric adalah generasi Azure Data Factory berikutnya, dengan arsitektur yang lebih sederhana, AI bawaan, dan fitur baru. Jika Anda baru menggunakan integrasi data, mulailah dengan Fabric Data Factory. Beban kerja ADF yang ada dapat ditingkatkan ke Fabric untuk mengakses kemampuan baru di seluruh ilmu data, analitik real time, dan pelaporan.
Artikel ini menguraikan cara menggunakan Aktivitas Salin di alur Azure Data Factory dan Synapse Analytics untuk menyalin data dari dan ke Azure Cosmos DB untuk MongoDB. Artikel ini dibangun atas Aktivitas Menyalin, yang menyajikan ikhtisar umum mengenai Aktivitas Menyalin.
Catatan
Konektor ini hanya mendukung penyalinan data ke/dari Azure Cosmos DB untuk MongoDB. Untuk Azure Cosmos DB untuk NoSQL, lihat konektor Azure Cosmos DB untuk NoSQL. Jenis API lainnya saat ini tidak didukung.
Kemampuan yang didukung
Konektor Azure Cosmos DB untuk MongoDB ini didukung untuk kemampuan berikut:
| Kemampuan yang didukung | IR | Titik akhir privat terkelola |
|---|---|---|
| Copy activity (sumber/sink) | (1) (2) | ✓ |
(1) Azure runtime integrasi (2) Runtime integrasi yang dihost sendiri
Anda dapat menyalin data dari Azure Cosmos DB untuk MongoDB ke penyimpanan data sink yang didukung, atau menyalin data dari penyimpanan data sumber yang didukung ke Azure Cosmos DB untuk MongoDB. Untuk daftar penyimpanan data yang didukung Aktivitas Salin sebagai sumber dan sink, lihat Penyimpanan dan format data yang didukung.
Anda dapat menggunakan Azure Cosmos DB untuk konektor MongoDB untuk:
- Salin data dari dan ke Azure Cosmos DB untuk MongoDB.
- Tulis ke Azure Cosmos DB sebagai insert 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 as-is ke atau dari file JSON atau ke atau dari koleksi Azure Cosmos DB lain, lihat Mengimpor atau mengekspor dokumen JSON.
Mulai sekarang
Untuk melakukan aktivitas salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:
- Alat Salin Data
- Portal Azure
- .NET SDK
- Python SDK
- Azure PowerShell
- REST API
- templat Azure Resource Manager
Membuat layanan tertaut ke Azure Cosmos DB untuk MongoDB menggunakan UI
Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke Azure Cosmos DB untuk MongoDB di UI portal Azure.
Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:
Cari Azure Cosmos DB untuk MongoDB dan pilih konektor tersebut.
Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.
Detail konfigurasi konektor
Bagian berikut ini menyediakan detail tentang properti yang dapat Anda gunakan untuk menentukan entitas Data Factory yang khusus untuk Azure Cosmos DB untuk MongoDB.
Properti layanan terhubung
Properti berikut ini didukung untuk Azure Cosmos DB untuk layanan tertaut MongoDB:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti type harus diatur ke CosmosDbMongoDbApi. | Ya |
| String Koneksi | Tentukan string koneksi untuk Azure Cosmos DB Anda untuk MongoDB. Anda dapat menemukannya di portal Azure -> bilah Azure Cosmos DB Anda -> string koneksi primer atau sekunder. Untuk versi server 3.2, pola string adalah mongodb://<cosmosdb-name>:<password>@<cosmosdb-name>.documents.azure.com:10255/?ssl=true&replicaSet=globaldb. Untuk versi server 3.6+, pola string adalah mongodb://<cosmosdb-name>:<password>@<cosmosdb-name>.mongo.cosmos.azure.com:10255/?ssl=true&replicaSet=globaldb&retrywrites=false&maxIdleTimeMS=120000&appName=@<cosmosdb-name>@.Anda juga dapat memasukkan kata sandi ke Azure Key Vault dan menarik konfigurasi password dari string koneksi. Lihat kredensial Store di Azure Key Vault dengan detail selengkapnya. |
Ya |
| database | Nama database yang ingin Anda akses. | Ya |
| isServerVersionAbove32 | Tentukan apakah versi server di atas 3.2. Nilai yang diperbolehkan adalah true dan false(default). Ini akan menentukan driver yang digunakan dalam layanan. | Ya |
| connectVia | Integration Runtime untuk digunakan untuk menyambungkan ke penyimpanan data. Anda dapat menggunakan Azure Integration Runtime atau integration runtime yang dihost sendiri (jika penyimpanan data Anda terletak di jaringan privat). Jika properti ini tidak ditentukan, Azure Integration Runtime default akan digunakan. | Tidak |
Contoh
{
"name": "CosmosDbMongoDBAPILinkedService",
"properties": {
"type": "CosmosDbMongoDbApi",
"typeProperties": {
"connectionString": "mongodb://<cosmosdb-name>:<password>@<cosmosdb-name>.documents.azure.com:10255/?ssl=true&replicaSet=globaldb",
"database": "myDatabase",
"isServerVersionAbove32": "false"
},
"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 MongoDB:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti jenis himpunan data harus disetel ke CosmosDbMongoDbApiCollection. | Ya |
| namaKoleksi | Nama dari koleksi Azure Cosmos DB. | Ya |
Contoh
{
"name": "CosmosDbMongoDBAPIDataset",
"properties": {
"type": "CosmosDbMongoDbApiCollection",
"typeProperties": {
"collectionName": "<collection name>"
},
"schema": [],
"linkedServiceName":{
"referenceName": "<Azure Cosmos DB for MongoDB linked service name>",
"type": "LinkedServiceReference"
}
}
}
Properti Aktivitas Salin
Bagian ini menyediakan daftar properti yang Azure Cosmos DB untuk dukungan sumber dan sink MongoDB.
Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat Pipelines.
Azure Cosmos DB untuk MongoDB sebagai sumber
Properti berikut ini didukung di bagian sumber Aktivitas Penyalinan:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti type sumber aktivitas salin harus diatur ke CosmosDbMongoDbApiSource. | Ya |
| filter | Menentukan filter seleksi menggunakan operator kueri. Untuk mengembalikan semua dokumen dalam koleksi, hilangkan parameter ini atau teruskan dokumen kosong ({}). | Tidak |
| cursorMethods.project | Menentukan kolom yang akan dikembalikan dalam dokumen untuk tujuan proyeksi. Untuk mengembalikan semua bidang dalam dokumen yang cocok, hilangkan parameter ini. | Tidak |
| cursorMethods.sort | Menentukan urutan kueri mengembalikan dokumen yang cocok. Lihat cursor.sort(). | Tidak |
| cursorMethods.limit | Menentukan jumlah maksimum dokumen yang dikembalikan server. Lihat cursor.limit(). | Tidak |
| cursorMethods.skip | Menentukan jumlah dokumen yang akan dilompati dan dari mana MongoDB mulai mengembalikan hasil. Lihat cursor.skip(). | Tidak |
| batchSize | Menentukan jumlah dokumen yang akan dikembalikan di setiap batch respons dari instans MongoDB. Dalam kebanyakan kasus, memodifikasi ukuran batch tidak akan mempengaruhi pengguna atau aplikasi. Azure Cosmos DB membatasi setiap batch tidak boleh melebihi ukuran 40MB, yang merupakan jumlah ukuran dokumen batchSize, jadi kurangi nilai ini jika ukuran dokumen Anda besar. | Tidak (defaultnya adalah 100) |
Petunjuk
ADF mendukung pemrosesan dokumen BSON dalam mode Ketat. Pastikan kueri filter Anda dalam mode Strict, bukan mode Shell. Deskripsi lebih lanjut dapat ditemukan di manual MongoDB.
Contoh
"activities":[
{
"name": "CopyFromCosmosDBMongoDBAPI",
"type": "Copy",
"inputs": [
{
"referenceName": "<Azure Cosmos DB for MongoDB input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "CosmosDbMongoDbApiSource",
"filter": "{datetimeData: {$gte: ISODate(\"2018-12-11T00:00:00.000Z\"),$lt: ISODate(\"2018-12-12T00:00:00.000Z\")}, _id: ObjectId(\"5acd7c3d0000000000000000\") }",
"cursorMethods": {
"project": "{ _id : 1, name : 1, age: 1, datetimeData: 1 }",
"sort": "{ age : 1 }",
"skip": 3,
"limit": 3
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Azure Cosmos DB untuk MongoDB sebagai sink
Properti berikut ini didukung di Salin Aktivitas bagian sink:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti type dari sink Copy Activity harus diatur menjadi CosmosDbMongoDbApiSink. | 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. |
Tidak (defaultnya adalah sisipkan) |
| writeBatchSize | Properti writeBatchSize mengontrol ukuran dokumen yang ditulis di setiap batch. Anda dapat mencoba meningkatkan nilai untuk writeBatchSize untuk meningkatkan performa dan mengurangi nilai jika ukuran dokumen Anda besar. | Tidak (Nilai defaultnya adalah 10,000) |
| writeBatchTimeout | Waktu tunggu untuk operasi insert batch selesai sebelum waktu habis. Nilai yang diperbolehkan adalah rentang waktu. | Tidak (defaultnya adalah 00:30:00 - 30 menit) |
Petunjuk
Untuk mengimpor dokumen JSON sebagaimana adanya, lihat bagian Mengimpor atau mengekspor dokumen JSON; untuk menyalin dari data berbentuk tabular, lihat pemetaan Skema.
Contoh
"activities":[
{
"name": "CopyToCosmosDBMongoDBAPI",
"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": "CosmosDbMongoDbApiSink",
"writeBehavior": "upsert"
}
}
}
]
Mengimpor dan mengekspor dokumen JSON
Anda dapat menggunakan konektor Azure Cosmos DB ini untuk dengan mudah:
- Salin dokumen dari satu koleksi Azure Cosmos DB ke koleksi lainnya sebagaimana adanya.
- Impor dokumen JSON dari berbagai sumber ke Azure Cosmos DB, termasuk dari MongoDB, penyimpanan Blob Azure, Azure Data Lake Store, dan penyimpanan berbasis file lainnya yang didukung layanan.
- Ekspor 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 as-is 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.
Pemetaan skema
Untuk menyalin data dari Azure Cosmos DB untuk MongoDB ke tabular sink atau sebaliknya, lihat pemetaan skema.
Khusus untuk menulis ke dalam Azure Cosmos DB, untuk memastikan Anda mengisi Azure Cosmos DB dengan ID objek yang tepat dari data sumber Anda, misalnya, Anda memiliki kolom "id" dalam tabel database SQL dan ingin menggunakan nilainya sebagai ID dokumen di MongoDB untuk insert/upsert, Anda perlu mengatur pemetaan skema yang tepat sesuai dengan definisi mode ketat MongoDB (_id.$oid) sebagai Berikut:
Setelah eksekusi aktivitas salin, di bawah BSON ObjectId dihasilkan dalam sink:
{
"_id": ObjectId("592e07800000000000000000")
}
Pemetaan jenis data untuk Azure Cosmos DB untuk MongoDB
Saat menyalin data dari Azure Cosmos DB untuk MongoDB, pemetaan berikut digunakan dari Azure Cosmos DB untuk jenis data MongoDB ke jenis data sementara yang digunakan oleh layanan secara internal. Lihat Pemetaan skema dan jenis data untuk mempelajari bagaimana aktivitas penyalinan memetakan skema sumber dan jenis data ke sink.
| Azure Cosmos DB untuk jenis data MongoDB | Jenis data layanan sementara |
|---|---|
| Tanggal | Int64 |
| IDObjek | String |
| Desimal128 | String |
| Penanda Waktu | 32 bit yang paling signifikan -> Int64 32 bit paling tidak signifikan -> Int64 |
| String | String |
| Double | Double |
| Int32 | Int64 |
| Int64 | Int64 |
| Boolean | Boolean |
| Null | Null |
| JavaScript | String |
| Ekspresi Reguler | String |
| Kunci minimum | Int64 |
| Kunci maksimum | Int64 |
| Binary | String |
Konten terkait
Untuk daftar penyimpanan data yang didukung oleh Copy Activity sebagai sumber dan sink, lihat penyimpanan data yang didukung.