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) (2) |
(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:
- Az Adatok másolása eszköz
- Az Azure Portal
- A .NET SDK
- A Python SDK
- Azure PowerShell
- A REST API
- Az Azure Resource Manager-sablon
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.
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:
Keresse meg a MongoDB Atlast, és válassza a MongoDB Atlas-összekötőt.
Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új társított szolgáltatást.
Az összekötő 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:
Tulajdonság | Leírás | Kötelező |
---|---|---|
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:
Tulajdonság | Leírás | Kötelező |
---|---|---|
típus | Az adathalmaz típustulajdonságának a következőnek kell lennie: MongoDbAtlasCollection | Igen |
collectionName | 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:
Tulajdonság | Leírás | Kötelező |
---|---|---|
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:
Tulajdonság | Leírás | Kötelező |
---|---|---|
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.
Kapcsolódó tartalom
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.