Sdílet prostřednictvím


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:

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.

  1. 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ý:

  2. Vyhledejte MongoDB Atlas a vyberte konektor MongoDB Atlas.

    Vyberte konektor MongoDB Atlas.

  3. Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.

    Nakonfigurujte propojenou službu pro MongoDB Atlas.

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.

Seznam úložišť dat podporovaných jako zdroje a jímky aktivitou kopírování najdete v podporovaných úložištích dat.