Lompati ke konten utama
Browser ini sudah tidak didukung.
Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.
Menyalin data dari atau ke MongoDB Atlas menggunakan Azure Data Factory atau Azure Synapse Analytics
- Artikel
- 09/27/2022
- 5 menit untuk membaca
Dalam artikel ini
BERLAKU UNTUK:
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. Dijelaskan pada artikel gambaran umum aktivitas salin yang menyajikan gambaran umum aktivitas salin.
Kemampuan yang didukung
Konektor MongoDB Atlas ini didukung untuk kemampuan berikut:
Salin aktivitas [sumber/sink] | ① ② |
① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri
Untuk daftar penyimpanan data yang didukung sebagai sumber/sink, lihat tabel Penyimpanan data yang didukung.
Secara khusus, konektor MongoDB Atlas ini mendukung versi hingga 4.2.
Prasyarat
Jika Anda menggunakan Azure Integration Runtime untuk menyalin, pastikan Anda menambahkan IP Azure Integration Runtime wilayah yang efektif ke Daftar Akses IP Atlas MongoDB.
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:
- Azure Data Factory
- Azure Synapse
Cari MongoDB dan pilih konektor MongoDB Atlas.
Konfigurasikan detail layanan, uji koneksi, dan buat layanan terkait 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:
jenis | Properti jenis harus diatur menjadi: MongoDbAtlas | Ya |
connectionString | Tentukan string koneksi Atlas MongoDB misalnya. mongodb+srv://:@../? . Anda juga dapat meletakkan 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 |
connectVia | Integration Runtime yang akan digunakan untuk menyambungkan ke penyimpanan data. Pelajari selengkapnya dari bagian Prasyarat. Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. | Tidak |
Contoh:
{
"name": "MongoDbAtlasLinkedService",
"properties": {
"type": "MongoDbAtlas",
"typeProperties": {
"connectionString": "mongodb+srv://:@../?",
"database": "myDatabase"
},
"connectVia": {
"referenceName": "",
"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:
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": ""
},
"schema": [],
"linkedServiceName": {
"referenceName": "",
"type": "LinkedServiceReference"
}
}
}
Properti aktivitas salin
Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat artikelAlur. Bagian ini menyediakan daftar properti yang didukung oleh sumber dan sink MongoDB Atlas.
MongoDB Atlas sebagai sumber
Properti berikut ini didukung di bagian sumber aktivitas salin:
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 [{}]. | Tidak |
cursorMethods.project | Menentukan bidang yang akan dikembalikan dalam dokumen untuk 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 tempat MongoDB Atlas mulai mengembalikan hasil. Lihat cursor.skip[]. | Tidak |
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. Cosmos DB membatasi setiap batch sehingga ukurannya tidak dapat melebihi 40MB, yang merupakan total dari jumlah batchSize ukuran dokumen, jadi kurangi nilai ini jika ukuran dokumen Anda besar. | Tidak [defaultnya adalah 100] |
Tip
Layanan mendukung dokumen BSON dalam mode Ketat. Pastikan kueri filter Anda dalam mode Ketat, bukan mode Shell. Deskripsi selengkapnya dapat ditemukan di manual MongoDB.
Contoh:
"activities":[
{
"name": "CopyFromMongoDbAtlas",
"type": "Copy",
"inputs": [
{
"referenceName": "",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "",
"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": ""
}
}
}
]
MongoDB Atlas sebagai wastafel
Properti berikut ini didukung di bagian sink Aktivitas Salin:
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 Catatan: Layanan secara otomatis membuat | 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 [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] |
Contoh
"activities":[
{
"name": "CopyToMongoDBAtlas",
"type": "Copy",
"inputs": [
{
"referenceName": "",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "",
"type": "DatasetReference"
}
],
"typeProperties": {
"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] di himpunan data dan pemetaan skema dalam aktivitas salin.
Pemetaan skema
Untuk menyalin data dari MongoDB Atlas ke tabular sink atau sebaliknya, lihat pemetaan skema.
Langkah berikutnya
Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas penyalinan, lihat penyimpanan data yang didukung.