Menyalin data dari atau ke MongoDB Atlas menggunakan Azure Data Factory atau Azure Synapse Analytics
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 alur Azure Data Factory atau Azure Synapse Analytics untuk menyalin data dari dan ke database MongoDB Atlas. Artikel tersebut dibuat berdasarkan artikel gambaran umum aktivitas salin yang menyajikan gambaran umum aktivitas salin.
Kemampuan yang didukung
Konektor MongoDB Atlas ini didukung untuk kemampuan berikut:
Kemampuan yang didukung | IR |
---|---|
Salin aktivitas (sumber/sink) | (1) (2) |
① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri
Untuk daftar penyimpanan data yang didukung sebagai sumber/sink, lihat tabel Penyimpanan data yang didukung.
Prasyarat
Jika penyimpanan data Anda terletak di dalam jaringan lokal, jaringan virtual Azure, atau Amazon Virtual Private Cloud, Anda harus mengonfigurasi runtime integrasi yang dihosting sendiri untuk menghubungkannya.
Jika penyimpanan data Anda adalah layanan data cloud terkelola, Anda dapat menggunakan Azure Integration Runtime. Jika akses dibatasi untuk IP yang disetujui dalam aturan firewall, Anda dapat menambahkan IP Azure Integration Runtime ke daftar izinkan.
Anda juga dapat menggunakan fitur runtime integrasi jaringan virtual terkelola di Azure Data Factory untuk mengakses jaringan lokal tanpa menginstal dan mengonfigurasi runtime integrasi yang dihosting sendiri.
Untuk informasi selengkapnya tentang mekanisme dan opsi keamanan jaringan yang didukung oleh Data Factory, lihat Strategi akses data.
Memulai
Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:
- Alat Penyalinan Data
- Portal Microsoft Azure
- SDK .NET
- SDK Python
- Azure PowerShell
- REST API
- Templat Azure Resource Manager
Membuat layanan tertaut ke MongoDB Atlas menggunakan UI
Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke MongoDB Atlas 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 MongoDB Atlas dan pilih konektor MongoDB Atlas.
Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.
Detail konfigurasi konektor
Bagian berikut memberikan detail tentang properti yang digunakan untuk menentukan entitas Data Factory khusus untuk konektor MongoDB Atlas.
Properti layanan tertaut
Properti berikut ini didukung untuk layanan tertaut MongoDB Atlas:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis harus diatur menjadi: MongoDbAtlas | Ya |
connectionString | Tentukan string koneksi Atlas MongoDB misalnya. mongodb+srv://<username>:<password>@<clustername>.<randomString>.<hostName>/<dbname>?<otherProperties> . Anda juga dapat menempatkan string koneksi di Azure Key Vault. Lihat Menyimpan informasi masuk di Azure Key Vault dengan detail selengkapnya. |
Ya |
database | Nama database yang ingin Anda akses. | Ya |
driverVersion | Tentukan versi driver ke v2 yang mendukung MongoDB versi 3.6 dan yang lebih tinggi. Untuk informasi selengkapnya, buka artikel ini. | No |
connectVia | Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Pelajari selengkapnya dari bagian Prasyarat. Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. | No |
Contoh:
{
"name": "MongoDbAtlasLinkedService",
"properties": {
"type": "MongoDbAtlas",
"typeProperties": {
"connectionString": "mongodb+srv://<username>:<password>@<clustername>.<randomString>.<hostName>/<dbname>?<otherProperties>",
"database": "myDatabase",
"driverVersion": "<driver version>"
},
"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 himpunan data MongoDB Atlas:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis himpunan data harus diatur ke: MongoDbAtlasCollection | Ya |
collectionName | Nama koleksi dalam database MongoDB Atlas. | Ya |
Contoh:
{
"name": "MongoDbAtlasDataset",
"properties": {
"type": "MongoDbAtlasCollection",
"typeProperties": {
"collectionName": "<Collection name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<MongoDB Atlas linked service name>",
"type": "LinkedServiceReference"
}
}
}
Properti aktivitas salin
Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat artikel Alur. Bagian ini menyediakan daftar properti yang didukung oleh sumber dan sink MongoDB Atlas.
MongoDB Atlas sebagai sumber
Berikut ini properti yang didukung di bagian sumber aktivitas salin:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti jenis sumber aktivitas salin harus diatur ke: MongoDbAtlasSource | Ya |
filter | Menentukan filter pilihan menggunakan operator kueri. Untuk mengembalikan semua dokumen dalam koleksi, hilangkan parameter ini atau teruskan dokumen kosong ({}). | No |
cursorMethods.project | Menentukan bidang yang akan dikembalikan dalam dokumen untuk proyeksi. Untuk mengembalikan semua bidang dalam dokumen yang cocok, hilangkan parameter ini. | No |
cursorMethods.sort | Menentukan urutan kueri mengembalikan dokumen yang cocok. Lihat cursor.sort(). | No |
cursorMethods.limit | Menentukan jumlah maksimum dokumen yang dikembalikan server. Lihat cursor.limit(). | No |
cursorMethods.skip | Menentukan jumlah dokumen yang akan dilompati dan dari tempat MongoDB Atlas mulai mengembalikan hasil. Lihat cursor.skip(). | No |
batchSize | Menentukan jumlah dokumen yang akan dikembalikan di setiap batch respons dari instans MongoDB Atlas. 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. | No (defaultnya adalah 100) |
Tip
Layanan mendukung penggunaan dokumen BSON dalam mode Ketat. Pastikan kueri filter Anda dalam mode Ketat, bukan mode Shell. Deskripsi selengkapnya dapat ditemukan di Panduan MongoDB.
Contoh:
"activities":[
{
"name": "CopyFromMongoDbAtlas",
"type": "Copy",
"inputs": [
{
"referenceName": "<MongoDB Atlas input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "MongoDbAtlasSource",
"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>"
}
}
}
]
MongoDB Atlas sebagai wastafel
Properti berikut ini didukung di Salin Aktivitas bagian sink:
Properti | Deskripsi | Wajib |
---|---|---|
jenis | Properti type dari sink Aktivitas Salin harus disetel ke MongoDbAtlasSink. | Ya |
writeBehavior | Menjelaskan cara menulis data ke MongoDB Atlas. 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 | 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. | No (Nilai defaultnya adalah 10,000) |
writeBatchTimeout | Waktu tunggu untuk operasi insert batch selesai sebelum waktu habis. Nilai yang diperbolehkan adalah rentang waktu. | No (defaultnya adalah 00:30:00 - 30 menit) |
Tip
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": "CopyToMongoDBAtlas",
"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": "MongoDbAtlasSink",
"writeBehavior": "upsert"
}
}
}
]
Impor dan Ekspor dokumen JSON
Anda dapat menggunakan konektor MongoDB Atlas ini untuk dengan mudah:
- Salin dokumen di antara dua koleksi MongoDB Atlas apa adanya.
- Mengimpor dokumen JSON dari berbagai sumber ke MongoDB Atlas, termasuk dari Azure Cosmos DB, penyimpanan Azure Blob, Azure Data Lake Store, dan penyimpanan berbasis file lain yang didukung.
- Ekspor dokumen JSON dari koleksi MongoDB Atlas ke berbagai penyimpanan berbasis file.
Untuk mencapai salinan skema-agnostik seperti itu, lewati bagian "struktur" (juga disebut skema)dalam himpunan data dan pemetaan skema dalam aktivitas salin.
Pemetaan skema
Untuk menyalin data dari MongoDB Atlas ke tabular sink atau sebaliknya, lihat pemetaan skema.
Konten terkait
Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas salin, lihat penyimpanan data yang didukung.