Kopírování dat z nebo do MongoDB Atlas pomocí služby Azure Data Factory nebo Synapse Analytics
PLATÍ PRO: Azure Data Factory Azure Synapse Analytics
Tip
Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.
Tento článek popisuje, jak pomocí aktivity kopírování v kanálu Služby Azure Data Factory nebo Synapse Analytics kopírovat data z databáze MongoDB Atlas a do databáze MongoDB Atlas. Vychází z článku s přehledem aktivity kopírování, který představuje obecný přehled aktivity kopírování.
Podporované funkce
Tento konektor MongoDB Atlas je podporovaný pro následující funkce:
Podporované funkce | IR |
---|---|
aktivita Copy (zdroj/jímka) | (1) (2) |
(1) Prostředí Azure Integration Runtime (2) Místní prostředí Integration Runtime
Seznam úložišť dat podporovaných jako zdroje nebo jímky najdete v tabulce Podporované úložiště dat.
Požadavky
Pokud se vaše úložiště dat nachází uvnitř místní sítě, virtuální sítě Azure nebo amazonového privátního cloudu, musíte nakonfigurovat místní prostředí Integration Runtime pro připojení k němu.
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 prostředí Azure Integration Runtime.
K přístupu k místní síti bez nutnosti instalace a konfigurace místního prostředí Integration Runtime můžete také použít funkci Runtime integrace spravované virtuální sítě ve službě Azure Data Factory.
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í aktivita Copy s kanálem můžete použít jeden z následujících nástrojů nebo sad SDK:
- Nástroj pro kopírování dat
- Azure Portal
- Sada .NET SDK
- Sada Python SDK
- Azure PowerShell
- Rozhraní REST API
- Šablona Azure Resource Manageru
Vytvoření propojené služby s MongoDB Atlas pomocí uživatelského rozhraní
Pomocí následujícího postupu vytvořte propojenou službu s MongoDB Atlas v uživatelském rozhraní webu Azure Portal.
Přejděte na kartu Správa v pracovním prostoru Azure Data Factory nebo Synapse a vyberte Propojené služby a pak klikněte na Nový:
Vyhledejte MongoDB Atlas a vyberte konektor MongoDB Atlas.
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 Atlas.
Vlastnosti propojené služby
Pro propojenou službu MongoDB Atlas jsou podporovány následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu musí být nastavena na: MongoDbAtlas. | Ano |
připojovací řetězec | Zadejte například připojovací řetězec MongoDB Atlas. mongodb+srv://<username>:<password>@<clustername>.<randomString>.<hostName>/<dbname>?<otherProperties> Do služby Azure Key Vault můžete také umístit připojovací řetězec. Další podrobnosti najdete v tématu Ukládání přihlašovacích údajů ve službě Azure Key Vault . |
Ano |
database | Název databáze, ke které chcete získat přístup. | Ano |
driverVersion | Zadejte verzi ovladače pro verzi 2, která podporuje MongoDB verze 3.6 a vyšší. Další informace najdete v tomto článku. | No |
connectVia | Prostředí Integration Runtime , které se má použít pro připojení k úložišti dat. Další informace najdete v části Požadavky . Pokud není zadaný, použije výchozí prostředí Azure Integration Runtime. | No |
Příklad:
{
"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"
}
}
}
Vlastnosti datové sady
Úplný seznam oddílů a vlastností, které jsou k dispozici pro definování datových sad, najdete v tématu Datové sady a propojené služby. Pro datovou sadu MongoDB Atlas jsou podporovány následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu datové sady musí být nastavena na: MongoDbAtlasCollection | Ano |
collectionName | Název kolekce v databázi MongoDB Atlas. | Ano |
Příklad:
{
"name": "MongoDbAtlasDataset",
"properties": {
"type": "MongoDbAtlasCollection",
"typeProperties": {
"collectionName": "<Collection name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<MongoDB Atlas linked service name>",
"type": "LinkedServiceReference"
}
}
}
Vlastnosti aktivity kopírování
Ú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 Atlas.
MongoDB Atlas jako zdroj
Ve zdrojové části aktivity kopírování jsou podporovány následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu zdroje aktivity kopírování musí být nastavena na: MongoDbAtlasSource | Ano |
filter | 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 ({}). | No |
cursorMethods.project | Určuje pole, která se mají vrátit do dokumentů pro projekci. Pokud chcete vrátit všechna pole v odpovídajících dokumentech, tento parametr vynecháte. | No |
cursorMethods.sort | Určuje pořadí, ve kterém dotaz vrací odpovídající dokumenty. Odkaz na cursor.sort() | No |
cursorMethods.limit | Určuje maximální počet dokumentů, které server vrátí. Odkaz na cursor.limit(). | No |
cursorMethods.skip | Určuje počet dokumentů, které se mají přeskočit a odkud MongoDB Atlas začne vracet výsledky. Odkaz na cursor.skip() | No |
batchSize | Určuje počet dokumentů, které se mají vrátit v každé dávce odpovědi z instance MongoDB Atlas. Ve většině případů změna velikosti dávky neovlivní uživatele ani aplikaci. Azure Cosmos DB omezuje velikost každé dávky nesmí překročit 40 MB, což je součet velikosti batchSize počtu dokumentů, takže tuto hodnotu snižte, pokud je velikost dokumentu velká. | No (výchozí hodnota je 100) |
Tip
Služba podporuje používání dokumentu BSON v přísném režimu. Ujistěte se, že je váš dotaz filtru v přísném režimu místo v režimu Prostředí. Další popis najdete v příručce k MongoDB.
Příklad:
"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 jako jímka
V části Jímka aktivity kopírování se podporují následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu jímky aktivity kopírování musí být nastavena na MongoDbAtlasSink. | Ano |
writeBehavior | Popisuje, jak zapisovat data do MongoDB Atlas. Povolené hodnoty: vložení a upsert. Chování funkce upsert je nahradit dokument, pokud už dokument _id existuje, jinak dokument vložte.Poznámka: Služba automaticky vygeneruje _id dokument, pokud _id není zadán buď v původním dokumentu, nebo podle mapování sloupců. To znamená, že musíte zajistit, aby upsert fungoval očekávaným způsobem, má dokument ID. |
No (výchozí hodnota je vložení) |
writeBatchSize | Vlastnost writeBatchSize řídí velikost dokumentů, které se mají zapisovat v každé dávce. Pokud je velikost dokumentu velká, můžete zkusit zvýšit hodnotu writeBatchSize a zvýšit výkon a snížit hodnotu. | No (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. | No (Výchozí hodnota je 00:30:00 až 30 minut) |
Tip
Pokud chcete importovat dokumenty JSON tak, jak je, přečtěte si část Import nebo export dokumentů JSON. Pokud chcete kopírovat z tabulkových dat ve tvaru, přečtěte si mapování schématu.
Příklad
"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"
}
}
}
]
Import a export dokumentů JSON
Pomocí tohoto konektoru MongoDB Atlas můžete snadno:
- Zkopírujte dokumenty mezi dvěma kolekcemi MongoDB Atlas tak, jak jsou.
- Importujte dokumenty JSON z různých zdrojů do MongoDB Atlas, včetně z Azure Cosmos DB, Úložiště objektů blob v Azure, Azure Data Lake Store a dalších podporovaných úložišť založených na souborech.
- Exportujte dokumenty JSON z kolekce MongoDB Atlas do různých úložišť založených na souborech.
Pokud chcete takové kopírování nezávislé na schématu dosáhnout, přeskočte část "struktura" (označovaná také jako schéma) v datové sadě a mapování schématu v aktivitě kopírování.
Schema mapping
Pokud chcete kopírovat data z MongoDB Atlas do tabulkové jímky nebo obráceně, přečtěte si mapování schématu.
Související obsah
Seznam úložišť dat podporovaných jako zdroje a jímky aktivitou kopírování najdete v podporovaných úložištích dat.