Adatok másolása a MongoDB Atlasból vagy a MongoDB Atlasba az Azure Data Factory vagy a Synapse Analytics használatával

A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics

Tipp.

Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!

Ez a cikk azt ismerteti, hogyan használhatja a Másolási tevékenységet egy Azure Data Factory- vagy Synapse Analytics-folyamatban az adatok MongoDB Atlas-adatbázisból és -adatbázisba való másolásához. A másolási tevékenység áttekintési cikkére épül, amely a másolási tevékenység általános áttekintését mutatja be.

Támogatott képességek

Ez a MongoDB Atlas-összekötő a következő képességeket támogatja:

Támogatott képességek IR
Copy tevékenység (forrás/fogadó) ① ②

(1) Azure-integrációs modul (2) Saját üzemeltetésű integrációs modul

A forrásként/fogadóként támogatott adattárak listáját a Támogatott adattárak táblában találja.

Előfeltételek

Ha az adattár helyszíni hálózaton, Azure-beli virtuális hálózaton vagy Amazon Virtual Private Cloudon belül található, konfigurálnia kell egy saját üzemeltetésű integrációs modult a csatlakozáshoz.

Ha az adattár felügyelt felhőalapú adatszolgáltatás, használhatja az Azure Integration Runtime-ot. Ha a hozzáférés a tűzfalszabályokban jóváhagyott IP-címekre korlátozódik, hozzáadhat azure integration runtime IP-eket az engedélyezési listához.

Az Azure Data Factory felügyelt virtuális hálózati integrációs moduljával is elérheti a helyszíni hálózatot anélkül, hogy saját üzemeltetésű integrációs modult telepítene és konfigurálna.

A Data Factory által támogatott hálózati biztonsági mechanizmusokkal és lehetőségekkel kapcsolatos további információkért lásd az adathozzáférési stratégiákat.

Első lépések

A Copy tevékenység folyamattal való végrehajtásához használja az alábbi eszközök vagy SDK-k egyikét:

Társított szolgáltatás létrehozása a MongoDB Atlashoz felhasználói felületen

Az alábbi lépésekkel létrehozhat egy társított szolgáltatást a MongoDB Atlashoz az Azure Portal felhasználói felületén.

  1. Keresse meg az Azure Data Factory vagy a Synapse-munkaterület Kezelés lapját, és válassza a Társított szolgáltatások lehetőséget, majd kattintson az Új gombra:

  2. Keresse meg a MongoDB Atlast, és válassza a MongoDB Atlas-összekötőt.

    Select the MongoDB Atlas connector.

  3. Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.

    Configure a linked service to MongoDB Atlas.

Csatlakozás or konfigurációjának részletei

Az alábbi szakaszok a MongoDB Atlas-összekötőre jellemző Data Factory-entitások meghatározásához használt tulajdonságok részleteit ismertetik.

Társított szolgáltatás tulajdonságai

A MongoDB Atlas társított szolgáltatása a következő tulajdonságokat támogatja:

Property Leírás Required
típus A típustulajdonságnak a következőnek kell lennie: MongoDbAtlas Igen
connectionString Adja meg a MongoDB Atlas kapcsolati sztring például. mongodb+srv://<username>:<password>@<clustername>.<randomString>.<hostName>/<dbname>?<otherProperties>

Kapcsolati sztring is elhelyezhet az Azure Key Vaultban. További részletekért tekintse meg az Azure Key Vaultban tárolt hitelesítő adatokat.
Igen
adatbázis A elérni kívánt adatbázis neve. Igen
driverVersion Adja meg a MongoDB 3.6-os és újabb verzióját támogató 2-es verziójú illesztőprogramot. További információkért tekintse meg ezt a cikket. Nem
connectVia Az adattárhoz való csatlakozáshoz használandó integrációs modul . További információ az Előfeltételek szakaszból. Ha nincs megadva, az alapértelmezett Azure Integration Runtime-t használja. Nem

Példa

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

Adathalmaz tulajdonságai

Az adathalmazok meghatározásához elérhető szakaszok és tulajdonságok teljes listáját az Adathalmazok és a csatolt szolgáltatások című témakörben találja. A MongoDB Atlas-adathalmaz esetében a következő tulajdonságok támogatottak:

Property Leírás Required
típus Az adathalmaz típustulajdonságának a következőnek kell lennie: MongoDbAtlasCollection Igen
Lekérdezés_neve A MongoDB Atlas-adatbázisban található gyűjtemény neve. Igen

Példa

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

Másolási tevékenység tulajdonságai

A tevékenységek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját a Folyamatok című cikkben találja. Ez a szakasz a MongoDB Atlas forrás és fogadó által támogatott tulajdonságok listáját tartalmazza.

MongoDB Atlas mint forrás

A másolási tevékenység forrás szakaszában a következő tulajdonságok támogatottak:

Property Leírás Required
típus A másolási tevékenység forrásának típustulajdonságának a következőnek kell lennie: MongoDbAtlasSource Igen
szűrő Választószűrőt ad meg lekérdezési operátorokkal. Ha egy gyűjtemény összes dokumentumát vissza szeretné adni, hagyja ki ezt a paramétert, vagy adjon át egy üres dokumentumot ({}). Nem
cursorMethods.project Megadja azokat a mezőket, amelyeket vissza szeretne adni a dokumentumokban a vetítéshez. Ha az egyező dokumentumok összes mezőjét vissza szeretné adni, hagyja ki ezt a paramétert. Nem
cursorMethods.sort Azt a sorrendet adja meg, amelyben a lekérdezés egyező dokumentumokat ad vissza. Lásd: cursor.sort(). Nem
cursorMethods.limit A kiszolgáló által visszaadott dokumentumok maximális számát adja meg. Lásd: cursor.limit(). Nem
cursorMethods.skip Megadja azoknak a dokumentumoknak a számát, amelyeket kihagyhat, és ahonnan a MongoDB Atlas megkezdi az eredmények visszaadását. Lásd: cursor.skip(). Nem
batchSize A MongoDB Atlas-példány válaszainak minden egyes kötegében visszaadandó dokumentumok számát adja meg. A legtöbb esetben a köteg méretének módosítása nem befolyásolja a felhasználót vagy az alkalmazást. Az Azure Cosmos DB korlátozza, hogy az egyes kötegek mérete nem haladhatja meg a 40 MB-ot, ami a batchSize számú dokumentum méretének összege, ezért csökkentse ezt az értéket, ha a dokumentum mérete nagy. Nem
(az alapértelmezett érték 100)

Tipp.

A szolgáltatás támogatja a BSON-dokumentumok szigorú módban való használatát. Győződjön meg arról, hogy a szűrő lekérdezése Szigorú módban van a Shell mód helyett. További leírást a MongoDB kézikönyvében talál.

Példa

"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 mint fogadó

A Másolási tevékenység fogadó szakasz a következő tulajdonságokat támogatja:

Property Leírás Required
típus A Másolási tevékenység fogadó típustulajdonságának MongoDbAtlasSink értékre kell állítania. Igen
writeBehavior Ismerteti, hogyan írhat adatokat a MongoDB Atlasba. Engedélyezett értékek: beszúrás és beillesztés.

Az upsert viselkedése az, hogy lecseréli a dokumentumot, ha már létezik ilyen _id dokumentum; ellenkező esetben szúrja be a dokumentumot.

Megjegyzés: A szolgáltatás automatikusan létrehoz egy _id dokumentumot, ha _id nincs megadva sem az eredeti dokumentumban, sem az oszlopleképezésben. Ez azt jelenti, hogy gondoskodnia kell arról, hogy a upsert a várt módon működjön, a dokumentum azonosítóval rendelkezik.
Nem
(az alapértelmezett beállítás a beszúrás)
writeBatchSize A writeBatchSize tulajdonság szabályozza az egyes kötegekben írandó dokumentumok méretét. A writeBatchSize értékének növelésével javíthatja a teljesítményt, és csökkentheti az értéket, ha a dokumentum mérete nagy. Nem
(az alapértelmezett érték 10 000)
writeBatchTimeout A köteg beszúrási műveletének várakozási ideje, mielőtt túllépi az időkorlátot. Az engedélyezett érték az időbélyeg. Nem
(az alapértelmezett érték 00:30:00 – 30 perc)

Tipp.

JSON-dokumentumok importálásához tekintse meg a JSON-dokumentumok importálását vagy exportálását ismertető szakaszt. A táblázatos formátumú adatok másolásához tekintse meg a sémaleképezést.

Példa

"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-dokumentumok importálása és exportálása

Ezt a MongoDB Atlas-összekötőt egyszerűen használhatja:

  • Dokumentumok másolása két MongoDB Atlas-gyűjtemény között.
  • JSON-dokumentumokat importálhat különböző forrásokból a MongoDB Atlasba, például az Azure Cosmos DB-ből, az Azure Blob Storage-ból, az Azure Data Lake Store-ból és más támogatott fájlalapú tárolókból.
  • JSON-dokumentumok exportálása MongoDB Atlas-gyűjteményből különböző fájlalapú tárolókba.

Az ilyen séma-agnosztikus másolás eléréséhez hagyja ki a "struktúra" (más néven séma) szakaszt az adathalmazban és a sémaleképezést a másolási tevékenységben.

Séma-hozzárendelés

Ha adatokat szeretne átmásolni a MongoDB Atlasból táblázatos fogadóba vagy fordítottba, tekintse meg a sémaleképezést.

A másolási tevékenység által forrásként és fogadóként támogatott adattárak listáját a támogatott adattárakban találja.