Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLARA UYGULANIR:
Azure Data Factory
Azure Synapse Analytics
İpucu
Microsoft Fabric'daki
Bu makale, Azure Data Factory'deki Kopyalama Etkinliği ve Synapse Analytics boru hatlarının MongoDB veritabanından veri kopyalamak için nasıl kullanılacağını açıklar. Kopyalama etkinliğine genel bakış makalesine dayanır ve bu makale, kopyalama etkinliğine genel bir bakış sunar.
Uyarı
Bu bağlayıcı Microsoft Fabric'daki Data Factory'de de kullanılabilir. Fabric özgü yapılandırma ve özellikler için Fabric MongoDB bağlayıcısı belgelerine bakın.
Önemli
Yeni MongoDB bağlayıcısı geliştirilmiş yerel MongoDB desteği sağlar. Çözümünüzde eski MongoDB konnektörünü kullanıyorsanız, sadece geriye dönük uyumluluk için destekleniyor as-is, MongoDB konnektörü (eski) sayfasına bakabilirsiniz. Bu konnektörü kullanarak verileri Azure DocumentDB'den ve ona kopyalayabilirsiniz (MongoDB uyumluluğuyla).
Desteklenen özellikler
Bu MongoDB konnektörü aşağıdaki yetenekleri destekler:
| Desteklenen özellikler | Kızılötesi |
|---|---|
| Kopyalama etkinliği (kaynak/havuz) | (1) (2) |
(1) Azure tümleştirme çalışma zamanı (2) Yerel barındırılan tümleştirme çalışma zamanı
Kaynak ve yutucu olarak desteklenen veri depolarının listesi için Desteklenen veri depoları tablosuna bakınız.
Özellikle, bu MongoDB bağlayıcısı 4.2'ye kadar olan sürümleri destekler. Çalışmanız 4.2'den yeni sürümler gerektiriyorsa, MongoDB Atlas'ı daha kapsamlı destek ve özellikler sağlayan MongoDB Atlas bağlayıcısı ile kullanmayı göz önünde bulundurun.
Önkoşullar
Veri deponuz bir yerel ağ, Azure sanal ağ veya Amazon Sanal Özel Bulut içinde bulunuyorsa, ona bağlanmak için kendinden barındırılan bir tümleştirme çalışma zamanı yapılandırmanız gerekir.
Veri deponuz yönetilen bir bulut veri hizmetiyse Azure Integration Runtime kullanabilirsiniz. Erişim, güvenlik duvarı kurallarında onaylanan IP'ler ile sınırlıysa, izin verme listesine Azure Integration Runtime IP ekleyebilirsiniz.
Şirket içi ağa erişmek için, şirket içinde barındırılan tümleştirme çalışma zamanı yüklemeden ve yapılandırmadan Azure Data Factory yönetilen sanal ağ tümleştirme çalışma zamanı özelliğini de kullanabilirsiniz.
Data Factory tarafından desteklenen ağ güvenlik mekanizmaları ve seçenekleri hakkında daha fazla bilgi için bkz . Veri erişim stratejileri.
Başlarken
Kopyalama etkinliğini bir işlem hattıyla gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:
- Veri Kopyalama aracı
- Azure portalı
- .NET SDK
- Python SDK'sı
- Azure PowerShell
- REST API'si
- Azure Resource Manager şablonu
Arayüz kullanarak MongoDB'ye bağlı bir hizmet oluşturun
Azure portalı kullanıcı arabiriminde MongoDB'ye bağlı bir hizmet oluşturmak için aşağıdaki adımları kullanın.
Azure Data Factory veya Synapse çalışma alanınızdaki Yönet sekmesine göz atın ve Linked Services seçeneğini seçin. Sonra Yeni seçeneğini seçin:
MongoDB'yi arayın ve MongoDB bağlayıcısını seçin.
Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.
Bağlayıcı yapılandırma ayrıntıları
Aşağıdaki bölümlerde, MongoDB bağlayıcısına özgü Data Factory varlıklarını tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.
Bağlı hizmet özellikleri
Aşağıdaki tablo, MongoDB bağlantılı bir servis için desteklenen özellikleri listeler:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip | Tip özelliğini şu şekilde ayarlayın: MongoDbV2 | Yes |
| bağlantı dizesi | MongoDB bağlantı dizesi'i belirtin, örneğin mongodb://[username:password@]host[:port][/[database][?options]]. Daha fazla bilgi için MongoDB kılavuzunda bağlantı dizesi'e bakınız. |
Azure Key Vault'a ayrıca bir bağlantı dizesi yerleştirebilirsiniz. Daha fazla bilgi için bkz. Azure Key Vault'ta kimlik bilgilerini sakla. |Evet | | veritabanı | Erişmek istediğiniz veritabanının adı. | Evet | | connectVia | Veri deposuna bağlanmak için kullanacağınız Integration Runtime. Daha fazla bilgi edinmek için Önkoşullar bölümüne bakın. Bu özelliği belirtmezseniz, varsayılan Azure Integration Runtime kullanılır. |Hayır |
Örnek:
{
"name": "MongoDBLinkedService",
"properties": {
"type": "MongoDbV2",
"typeProperties": {
"connectionString": "mongodb://[username:password@]host[:port][/[database][?options]]",
"database": "myDatabase"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Veri kümesi özellikleri
Veri setlerini tanımlamak için kullanabileceğiniz bölümler ve özelliklerin tam listesi için Veri setleri ve bağlantılı hizmetler bölümüne bakabilirsiniz. Aşağıdaki tablo, bir MongoDB veri seti için desteklenen özellikleri listeler:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip | Veri setinin tür özelliğini şu şekilde ayarlayın: MongoDbV2Collection | Yes |
| collectionName | MongoDB veritabanındaki koleksiyonun adı. | Yes |
Örnek:
{
"name": "MongoDbDataset",
"properties": {
"type": "MongoDbV2Collection",
"typeProperties": {
"collectionName": "<Collection name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<MongoDB linked service name>",
"type": "LinkedServiceReference"
}
}
}
Kopyalama etkinliği özellikleri
Etkinlikleri tanımlamak için kullanılabilecek tüm bölümlerin ve özelliklerin listesi için Yapılandırma Hatları makalesine bakın. Bu bölümde MongoDB kaynağı ve havuzu tarafından desteklenen özelliklerin listesi sağlanır.
Kaynak olarak MongoDB
Kopyalama faaliyeti kaynak bölümü aşağıdaki özellikleri destekler:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip | Kopyalama faaliyeti kaynağının tür özelliğini şu şekilde ayarlayın: MongoDbV2Source | Yes |
| filtre | Sorgu işleçlerini kullanarak seçim filtrelerini belirtir. Koleksiyondaki tüm belgeleri döndürmek için bu parametreyi atlar veya boş bir belge ({} ) geçirirsiniz. | Hayır |
| cursorMethods.project | Projeksiyon için belgelerde döndürülecek alanları belirtir. Eşleşen belgelerdeki tüm alanları döndürmek için bu parametreyi atla. | Hayır |
| cursorMethods.sort | Sorgunun eşleşen belgeleri döndürme sırasını belirtir. cursor.sort() öğesine bakın. | Hayır |
| cursorMethods.limit | Sunucunun döndürdüğü en fazla belge sayısını belirtir. cursor.limit()'e bakın. | Hayır |
| cursorMethods.skip | MongoDB'nin sonuçları döndürmeye başlamadan önce atlanacak belge sayısını belirtir. cursor.skip() adresine bakın. | Hayır |
| yığınBoyutu | MongoDB örneğinden gelen yanıtın her toplu işleminde döndürülecek belge sayısını belirtir. Çoğu durumda, toplu boyutun değiştirilmesi kullanıcıyı veya uygulamayı etkilemez. Azure Cosmos DB, her toplu kısmın 40 MB boyutunu aşamayacağını sınırlar; bu da batchSize sayısının belge boyutunun toplamıdır, bu yüzden belge büyüklüğünüz büyükse bu değeri azaltın. | Hayır (varsayılan değer 100'dür) |
İpucu
Hizmet, BSON belgesini Katı Mod'da işlemeyi destekler. Filtre sorgusunun Shell modu yerine Strict modunda olduğundan emin olun. Daha fazla bilgi için MongoDB kılavuzuna bakınız.
Örnek:
"activities":[
{
"name": "CopyFromMongoDB",
"type": "Copy",
"inputs": [
{
"referenceName": "<MongoDB input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "MongoDbV2Source",
"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>"
}
}
}
]
Havuz olarak MongoDB
Kopyalama Etkinliği havuzu bölümü aşağıdaki özellikleri destekler:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip | Kopyalama etkinliği alıcısının tür özelliğini MongoDbV2Sink olarak ayarlayın. | Yes |
| writeBehavior | MongoDB'ye veri yazmayı açıklar. İzin verilen değerler: insert ve upsert. Upsert'in davranışı, aynı _id belge zaten varsa belgeyi değiştirmektir; aksi takdirde, belgeyi ekleyin.Not: Hizmet, özgün belgede veya sütun eşlemesinde belirtilmemişse belge için otomatik olarak bir _id oluşturur_id. Bu, belgenizin bir kimliği olduğundan emin olmanız gerektiği, böylece upsert işleminin beklendiği gibi çalışabileceği anlamına gelir. |
Hayır (varsayılan değer ekle'dir) |
| writeBatchSize | writeBatchSize özelliği, her partide yazılacak belge sayısını kontrol eder. Performansı artırmak için değeri artırmayı deneyin. Belge boyutunuz büyükse, değeri azaltmayı deneyin. | Hayır (varsayılan değer 10.000'dir) |
| writeBatchTimeout | Toplu ekleme işleminin zaman aşımına uğramadan önce tamamlanması için bekleme süresi. İzin verilen değer bir süre aralığıdır. | Hayır (varsayılan değer 00:30:00 - 30 dakikadır) |
İpucu
JSON belgelerini as-isiçe aktarmak için, JSON belgelerini içe aktar veya dışa aktarma bölümüne bakınız. Tablo şeklindeki verilerden kopyalamak için bkz. Şema haritalama.
Örnek
"activities":[
{
"name": "CopyToMongoDB",
"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": "MongoDbV2Sink",
"writeBehavior": "upsert"
}
}
}
]
JSON belgelerini içeri ve dışarı aktarma
Bu MongoDB konnektörünü kolayca kullanarak şunları yapabilirsiniz:
- Belgeleri olduğu gibi iki MongoDB koleksiyonu arasında kopyalayın.
- Azure Cosmos DB, Azure Blob depolama, Azure Data Lake Store ve desteklenen diğer dosya tabanlı depolar dahil olmak üzere çeşitli kaynaklardan MongoDB'ye JSON belgelerini içeri aktarabilirsiniz.
- Bir MongoDB koleksiyonundaki JSON belgelerini çeşitli dosya tabanlı depolara aktarın.
Böyle bir şemadan bağımsız kopya elde etmek için veri kümesindeki "yapı" (şema olarak da adlandırılır) bölümünü ve kopyalama etkinliğindeki şema eşlemesini atlayın.
MongoDB için veri türü eşlemesi
MongoDB'den veri kopyaladığınızda, hizmet MongoDB veri tiplerinden ara veri tiplerine aşağıdaki eşlemeleri kullanır. Kopyalama etkinliğinin kaynak şemayı ve veri tipini sink'e nasıl eşlediği hakkında daha fazla bilgi için Şema ve veri tipi eşlemelerine bakınız.
| MongoDB veri türü | Ara Hizmet Veri Türü |
|---|---|
| Date | Int64 |
| Nesne Kimliği | String |
| Decimal128 | String |
| Zaman İşareti | En önemli 32 bit -> Int64 En az anlamlı 32 bit -> Int64 |
| String | String |
| Double | String |
| Int32 | Int64 |
| Int64 | Int64 |
| Boolean | Boolean |
| Null | Null |
| JavaScript | String |
| Düzenli ifade | String |
| Min tuşu | Int64 |
| Maksimum anahtar | Int64 |
| Binary | String |
MongoDB bağlayıcısı yaşam döngüsü ve yükseltmesi
Aşağıdaki tabloda MongoDB bağlayıcısının farklı sürümleri için yayın aşaması ve değişiklik günlükleri gösterilmektedir:
| Sürüm | Yayın aşaması | Değişiklik Kaydı |
|---|---|---|
| MongoDB (eski) | Removed | Uygulanamaz. |
| MongoDB | Ga sürümü kullanılabilir | • Yalnızca eşdeğer MongoDB sorgularını destekleyin. • Double veri türü olarak Dize okunur. |
• Dize, veri tipi olarak Double okunur. |
MongoDB bağlı hizmetini yükseltme
Yeni bir MongoDB bağlı hizmeti oluşturun ve Bağlı hizmet özelliklerine bakarak bunu yapılandırın.
İlgili içerik
Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . desteklenen veri depoları.