Azure Data Factory veya Synapse Analytics kullanarak MongoDB Atlas'tan veya MongoDB Atlas'a veri kopyalama

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

Bahşiş

Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!

Bu makalede, MongoDB Atlas veritabanından ve veritabanından veri kopyalamak için Azure Data Factory veya Synapse Analytics işlem hattında Kopyalama Etkinliğinin nasıl kullanılacağı özetlenmektedir. Kopyalama etkinliğine genel bir genel bakış sunan kopyalama etkinliğine genel bakış makalesini oluşturur.

Desteklenen özellikler

Bu MongoDB Atlas bağlayıcısı aşağıdaki özellikler için desteklenir:

Desteklenen özellikler IR
Kopyalama etkinliği (kaynak/havuz) ① ②

(1) Azure tümleştirme çalışma zamanı (2) Şirket içinde barındırılan tümleştirme çalışma zamanı

Kaynak/havuz olarak desteklenen veri depolarının listesi için Desteklenen veri depoları tablosuna bakın.

Önkoşullar

Veri deponuz bir şirket içi ağ, Azure sanal ağı veya Amazon Sanal Özel Bulut içinde bulunuyorsa, şirket içinde barındırılan tümleştirme çalışma zamanını buna bağlanmak için 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 Azure Integration Runtime IP'lerini izin verme listesine ekleyebilirsiniz.

Şirket içinde barındırılan tümleştirme çalışma zamanı yüklemeden ve yapılandırmadan şirket içi ağa erişmek için Azure Data Factory'deki 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

İşlem hattıyla Kopyalama etkinliği gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:

Kullanıcı arabirimini kullanarak MongoDB Atlas'a bağlı hizmet oluşturma

Azure portalı kullanıcı arabiriminde MongoDB Atlas'a bağlı bir hizmet oluşturmak için aşağıdaki adımları kullanın.

  1. Azure Data Factory veya Synapse çalışma alanınızda Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:

  2. MongoDB Atlas'ı arayın ve MongoDB Atlas bağlayıcısını seçin.

    Select the MongoDB Atlas connector.

  3. Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.

    Configure a linked service to MongoDB Atlas.

Bağlan veya yapılandırma ayrıntıları

Aşağıdaki bölümlerde MongoDB Atlas 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

MongoDB Atlas bağlı hizmeti için aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
type Tür özelliği şu şekilde ayarlanmalıdır: MongoDbAtlas Evet
Connectionstring MongoDB Atlas bağlantı dizesi belirtin; örneğin. mongodb+srv://<username>:<password>@<clustername>.<randomString>.<hostName>/<dbname>?<otherProperties>

Azure Key Vault'a bir bağlantı dizesi de koyabilirsiniz. Diğer ayrıntılarla birlikte Azure Key Vault'ta kimlik bilgilerini depolama bölümüne bakın.
Evet
database Erişmek istediğiniz veritabanının adı. Evet
driverVersion MongoDB sürüm 3.6 ve üzerini destekleyen v2 için sürücü sürümünü belirtin. Daha fazla bilgi için bu makaleye gidin. No
connectVia Veri deposuna bağlanmak için kullanılacak Integration Runtime. Önkoşullar bölümünden daha fazla bilgi edinin. Belirtilmezse, varsayılan Azure Integration Runtime'ı kullanır. No

Örnek:

{
    "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"
        }
    }
}

Veri kümesi özellikleri

Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için bkz . Veri kümeleri ve bağlı hizmetler. MongoDB Atlas veri kümesi için aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
type Veri kümesinin tür özelliği şu şekilde ayarlanmalıdır: MongoDbAtlasCollection Evet
Toplamaadı MongoDB Atlas veritabanındaki koleksiyonun adı. Evet

Örnek:

{
    "name": "MongoDbAtlasDataset",
    "properties": {
        "type": "MongoDbAtlasCollection",
        "typeProperties": {
            "collectionName": "<Collection name>"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<MongoDB Atlas linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Kopyalama etkinliğinin özellikleri

Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için İşlem hatları makalesine bakın. Bu bölümde MongoDB Atlas kaynağı ve havuzu tarafından desteklenen özelliklerin listesi sağlanır.

Kaynak olarak MongoDB Atlas

Kopyalama etkinliği kaynağı bölümünde aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
type Kopyalama etkinliği kaynağının type özelliği şu şekilde ayarlanmalıdır: MongoDbAtlasSource Evet
filtrele 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. No
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. No
cursorMethods.sort Sorgunun eşleşen belgeleri döndürme sırasını belirtir. cursor.sort() öğesine bakın. No
cursorMethods.limit Sunucunun döndürdüğü en fazla belge sayısını belirtir. cursor.limit()'e bakın. No
cursorMethods.skip MongoDB Atlas'ın sonuçları döndürmeye başladığı ve atlandığı belge sayısını belirtir. cursor.skip() adresine bakın. No
batchSize MongoDB Atlas örneğinden gelen yanıtın her toplu işleminde döndürülecek belge sayısını belirtir. Çoğu durumda, toplu iş boyutunun değiştirilmesi kullanıcıyı veya uygulamayı etkilemez. Azure Cosmos DB sınırları her toplu iş boyutu 40 MB'ı aşamaz. Bu, belge boyutunu toplu iş sayısı toplamıdır, bu nedenle belge boyutunuz büyükse bu değeri azaltın. No
(varsayılan değer 100'dür)

Bahşiş

Hizmet, BSON belgesini Katı modda tüketmeyi destekler. Filtre sorgunuzun Kabuk modu yerine Katı modda olduğundan emin olun. MongoDB kılavuzunda daha fazla açıklama bulunabilir.

Örnek:

"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>"
            }
        }
    }
]

Havuz olarak MongoDB Atlas

Kopyalama Etkinliği havuzu bölümünde aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
type Kopyalama Etkinliği havuzu type özelliği MongoDbAtlasSink olarak ayarlanmalıdır. Evet
writeBehavior MongoDB Atlas'a 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, upsert'in beklendiği gibi çalışması için belgenizin bir kimliği olduğundan emin olmanız gerektiği anlamına gelir.
No
(varsayılan değer ekle'dir)
writeBatchSize writeBatchSize özelliği, her toplu işleme yazacak belgelerin boyutunu denetler. Performansı artırmak ve belge boyutunuz büyükse değeri azaltmak için writeBatchSize değerini artırmayı deneyebilirsiniz. No
(varsayılan değer 10.000'dir)
writeBatchTimeout Toplu ekleme işleminin zaman aşımına uğramadan önce bitmesini bekleme süresi. İzin verilen değer zaman aralığıdır. No
(varsayılan değer 00:30:00 - 30 dakikadır)

Bahşiş

JSON belgelerini olduğu gibi içeri aktarmak için JSON belgelerini içeri veya dışarı aktarma bölümüne bakın; tablo şeklindeki verilerden kopyalamak için Şema eşleme bölümüne bakın.

Örnek

"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"
            }
        }
    }
]

JSON belgelerini içeri ve dışarı aktarma

Bu MongoDB Atlas bağlayıcısını kullanarak kolayca:

  • Belgeleri olduğu gibi iki MongoDB Atlas koleksiyonu arasında kopyalayın.
  • Azure Cosmos DB, Azure Blob depolama, Azure Data Lake Store ve diğer desteklenen dosya tabanlı depolar dahil olmak üzere çeşitli kaynaklardan JSON belgelerini MongoDB Atlas'a aktarabilirsiniz.
  • Bir MongoDB Atlas 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.

Şema eşleme

MongoDB Atlas'tan tablosal havuza veya tersine çevrilmiş verilere kopyalamak için şema eşlemeye bakın.

Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . desteklenen veri depoları.