Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
VZTAHUJE SE NA:
Azure Data Factory
Azure Synapse Analytics
Tip
Data Factory v Microsoft Fabric je nová generace Azure Data Factory s jednodušší architekturou, integrovanou AI a novými funkcemi. Pokud s integrací dat začínáte, začněte Fabric Data Factory. Stávající úlohy ADF lze upgradovat na Fabric pro přístup k novým funkcím v oblastech datové vědy, analýz v reálném čase a vytváření sestav.
Tento článek popisuje, jak používat Copy Activity v pipelinech Azure Data Factory a Synapse Analytics ke kopírování dat z a do databáze MongoDB. Vychází z článku přehled aktivity kopírování, který představuje obecný přehled aktivity kopírování.
Note
Tento konektor je také k dispozici ve službě Data Factory v Microsoft Fabric. Informace o konfiguraci a funkcích specifických pro Fabric najdete v dokumentaci ke konektoru Fabric MongoDB.
Důležité
Nový konektor MongoDB poskytuje vylepšenou nativní podporu MongoDB. Pokud používáte starší MongoDB konektor ve svém řešení, podporovaný as-is pouze pro zpětnou kompatibilitu, viz MongoDB konektor (legacy). Tento konektor můžete použít ke kopírování dat z a do Azure DocumentDB (s kompatibilitou s MongoDB).
Podporované funkce
Tento konektor MongoDB podporuje následující funkce:
| Podporované funkce | IR |
|---|---|
| aktivita Copy (zdroj/jímka) | (1) (2) |
(1) Azure Integration Runtime (2) Lokálně hostované Integration Runtime
Pro seznam datových úložiš, která jsou podporována jako zdroje a spotřebiče, viz tabulka Podporovaná datová úložiště .
Konkrétně tento konektor MongoDB podporuje verze až 4.2. Pokud vaše práce vyžaduje novější verze než 4.2, zvažte použití MongoDB Atlas s konektorem MongoDB Atlas, který poskytuje komplexnější podporu a funkce.
Požadavky
Pokud se vaše úložiště dat nachází uvnitř místní sítě, Azure virtuální sítě, nebo Amazon Virtual Private Cloud, musíte pro připojení nakonfigurovat self-hosted Integration Runtime.
Pokud je vaše úložiště dat spravovanou cloudovou datovou službou, můžete použít Azure Integration Runtime. Pokud je přístup omezený na IP adresy schválené v pravidlech brány firewall, můžete do seznamu povolených přidat ip adresy Azure Integration Runtime.
Funkci managed virtual network Integration Runtime můžete také použít v Azure Data Factory pro přístup k místní síti bez nutnosti instalace a konfigurace místního prostředí Integration Runtime.
Další informace o mechanismech zabezpečení sítě a možnostech podporovaných službou Data Factory najdete v tématu Strategie přístupu k datům.
Začínáme
K provedení aktivity kopírování pomocí datového kanálu můžete použít jeden z následujících nástrojů nebo sad SDK:
- Nástroj pro kopírování dat
- portál Azure
- .NET SDK
- Python SDK
- Azure PowerShell
- REST API
- šablona Azure Resource Manager
Vytvořte propojenou službu pro MongoDB pomocí uživatelského rozhraní
Pomocí následujícího postupu vytvořte propojenou službu s MongoDB v uživatelském rozhraní portálu Azure.
Přejděte na záložku Spravovat ve svém pracovním prostoru Azure Data Factory nebo Synapse a vyberte Linked Services. Pak vyberte Nový:
Vyhledejte MongoDB a vyberte konektor MongoDB.
Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.
Podrobnosti konfigurace konektoru
Následující části obsahují podrobnosti o vlastnostech, které slouží k definování entit služby Data Factory specifických pro konektor MongoDB.
Vlastnosti propojené služby
Následující tabulka uvádí podporované vlastnosti pro službu propojenou MongoDB:
| Vlastnost | Popis | Povinné |
|---|---|---|
| typ | Nastavte vlastnost typu na: MongoDbV2 | Ano |
| připojovací řetězec | Zadejte MongoDB připojovací řetězec, například mongodb://[username:password@]host[:port][/[database][?options]]. Podrobnější informace naleznete v příručce MongoDB k připojovacímu řetězci.Můžete také vložit připojovací řetězec do Azure Key Vault. Pro více informací viz Přihlašovací údaje do úložiště v Azure Key Vault. |
Ano |
| databáze | Název databáze, ke které chcete získat přístup. | Ano |
| connectVia | Integration Runtime použít pro připojení k úložišti dat. Další informace najdete v části Požadavky . Pokud tuto vlastnost nespecifikujete, použije se výchozí Azure Integration Runtime. | Ne |
Příklad:
{
"name": "MongoDBLinkedService",
"properties": {
"type": "MongoDbV2",
"typeProperties": {
"connectionString": "mongodb://[username:password@]host[:port][/[database][?options]]",
"database": "myDatabase"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Vlastnosti datové sady
Pro úplný seznam sekcí a vlastností, které můžete použít k definování datových sad, viz Datasety a propojené služby. Následující tabulka uvádí podporované vlastnosti pro datovou sadu MongoDB:
| Vlastnost | Popis | Povinné |
|---|---|---|
| typ | Nastavte vlastnost typu datasetu na: MongoDbV2Collection | Ano |
| collectionName | Název kolekce v databázi MongoDB | Ano |
Příklad:
{
"name": "MongoDbDataset",
"properties": {
"type": "MongoDbV2Collection",
"typeProperties": {
"collectionName": "<Collection name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<MongoDB linked service name>",
"type": "LinkedServiceReference"
}
}
}
Vlastnosti kopírovací aktivity
Úplný seznam oddílů a vlastností dostupných pro definování aktivit najdete v článku Pipelines . Tato část obsahuje seznam vlastností podporovaných zdrojem a jímkou MongoDB.
MongoDB jako zdroj
Sekce source aktivity kopírování podporuje následující vlastnosti:
| Vlastnost | Popis | Povinné |
|---|---|---|
| typ | Nastavte vlastnost typu zdroje kopírovací aktivity na: MongoDbV2Source | Ano |
| filtr | Určuje filtr výběru pomocí operátorů dotazu. Pokud chcete vrátit všechny dokumenty v kolekci, vynecháte tento parametr nebo předejte prázdný dokument ({}). | Ne |
| cursorMethods.project | Určuje pole, která se mají vrátit v dokumentech pro projekci. Pokud chcete vrátit všechna pole v odpovídajících dokumentech, tento parametr vynecháte. | Ne |
| cursorMethods.sort | Určuje pořadí, ve kterém dotaz vrací odpovídající dokumenty. Viz cursor.sort(). | Ne |
| cursorMethods.limit | Určuje maximální počet dokumentů, které server vrátí. Odkaz na cursor.limit(). | Ne |
| cursorMethods.skip | Určuje počet dokumentů, které se mají přeskočit a odkud MongoDB začne vracet výsledky. Viz cursor.skip() | Ne |
| batchSize (velikost dávky) | Určuje počet dokumentů, které se mají vrátit v každé dávce odpovědi z instance MongoDB. Ve většině případů úprava velikosti dávky nemá vliv na uživatele ani na aplikaci. Azure Cosmos DB omezuje velikost každé dávky na maximálně 40 MB, což odpovídá součtu velikostí dokumentů v počtu určeném parametrem `batchSize`, takže pokud jsou vaše dokumenty velké, tuto hodnotu snižte. | Ne (výchozí hodnota je 100) |
Tip
Služba podporuje používání dokumentu BSON v přísném režimu. Ujistěte se, že váš dotaz na filtr je v režimu Strict místo Shell. Pro více informací viz manuál MongoDB.
Příklad:
"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>"
}
}
}
]
MongoDB jako jímka
Sekce Copy Activity sink podporuje následující vlastnosti:
| Vlastnost | Popis | Povinné |
|---|---|---|
| typ | Nastavte vlastnost typu copy activity sink na MongoDbV2Sink. | Ano |
| writeBehavior | Popisuje, jak zapisovat data do MongoDB. Povolené hodnoty: vložení a upsert. Chování funkce upsert je nahradit dokument, pokud již dokument se stejným _id existuje; jinak vložte dokument.Poznámka: Služba automaticky vygeneruje _id pro dokument, pokud není _id zadán buď v původním dokumentu, nebo podle mapování sloupců. To znamená, že musíte zajistit, aby měl váš dokument ID, aby upsert fungoval očekávaným způsobem. |
Ne (výchozí hodnota je vložení) |
| writeBatchSize | Vlastnost writeBatchSize ovládá počet dokumentů, které je třeba napsat v každé dávce. Pro zlepšení výkonu zkuste zvýšit hodnotu. Pokud máte velký dokument, zkuste hodnotu zmenšit. | Ne (výchozí hodnota je 10 000) |
| writeBatchTimeout | Doba čekání, než se operace dávkového vložení dokončí, než vyprší časový limit. Povolená hodnota je časový rozsah. | Ne (Výchozí hodnota je 00:30:00 až 30 minut) |
Tip
Chcete-li importovat dokumenty JSON beze změn, viz část Import nebo export dokumentů JSON. Pro kopírování z tabulárně tvarovaných dat viz schématové mapování.
Příklad
"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"
}
}
}
]
Import a export dokumentů JSON
Pomocí tohoto konektoru MongoDB můžete snadno:
- Kopírování dokumentů mezi dvěma kolekcemi MongoDB bez úprav.
- Importujte dokumenty JSON z různých zdrojů do MongoDB, včetně Azure Cosmos DB, Azure Blob Storage, Azure Data Lake Storu a dalších podporovaných úložišť založených na souborech.
- Exportujte dokumenty JSON z kolekce MongoDB do různých souborových úložišť.
Pokud chcete dosáhnout kopie nezávislé na schématu, přeskočte oddíl "struktura" (také nazývaný schéma) v datové sadě a mapování schématu při kopírovací aktivitě.
Mapování datových typů pro MongoDB
Když zkopírujete data z MongoDB, služba používá následující mapování z datových typů MongoDB na přechodné datové typy. Další informace o tom, jak aktivita kopírování mapuje zdrojové schéma a datový typ do jímky, najdete v článku Mapování schématu a datových typů.
| Datový typ MongoDB | Dočasný datový typ služby |
|---|---|
| Date | Int64 |
| Identifikátor objektu (ObjectId) | String |
| Desetinné číslo 128 | String |
| Časové razítko | Nejvýznamnějších 32 bitů –> Int64 Nejméně významný 32bit –> Int64 |
| String | String |
| Double | String |
| Int32 | Int64 |
| Int64 | Int64 |
| logický | logický |
| Null | Null |
| JavaScript | String |
| Regulární výraz | String |
| Minimální klíč | Int64 |
| Maximální počet kláves | Int64 |
| Binary | String |
Životní cyklus a upgrade konektoru MongoDB
Následující tabulka ukazuje fázi vydání a protokoly změn pro různé verze konektoru MongoDB:
| Version | Fáze vydání | Záznam změn |
|---|---|---|
| MongoDB (starší verze) | Removed | Nelze použít. |
| MongoDB | Dostupná verze GA | • Podporují pouze ekvivalentní dotazy MongoDB. • Double se čte jako datový typ String. |
Upgrade propojené služby MongoDB
Vytvořte novou propojenou službu MongoDB a nakonfigurujte ji pomocí odkazů na vlastnosti propojené služby.
Související obsah
Úložiště dat, která kopírovací aktivita podporuje jako zdroje a cíle, najdete v seznamu podporovaných úložišť dat.