Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Azure Data Factory
Azure Synapse Analytics
Tip
Data Factory in Microsoft Fabric is de volgende generatie van Azure Data Factory, met een eenvoudigere architectuur, ingebouwde AI en nieuwe functies. Als u nieuw bent in gegevensintegratie, begint u met Fabric Data Factory. Bestaande ADF-workloads kunnen upgraden naar Fabric om toegang te krijgen tot nieuwe mogelijkheden voor gegevenswetenschap, realtime analyses en rapportage.
Dit artikel beschrijft hoe je de Copy Activity in Azure Data Factory en Synapse Analytics pijplijnen kunt gebruiken om data te kopiëren van en naar een MongoDB-database. Het is gebaseerd op het artikel 'Overzicht kopieeractiviteit', waarin een algemeen overzicht van de kopieeractiviteit wordt gegeven.
Note
Deze connector is ook beschikbaar in Data Factory in Microsoft Fabric. Zie de documentatie over de Fabric MongoDB-connector voor Fabric-specifieke configuratie en functies.
Belangrijk
De nieuwe MongoDB-connector biedt verbeterde systeemeigen MongoDB-ondersteuning. Als je de verouderde MongoDB-connector in je oplossing gebruikt, die alleen in de huidige staat wordt ondersteund voor achterwaartse compatibiliteit, raadpleeg je MongoDB-connector (legacy). Je kunt deze connector gebruiken om data te kopiëren van en naar een Azure DocumentDB (met MongoDB-compatibiliteit).
Ondersteunde mogelijkheden
Deze MongoDB-connector ondersteunt de volgende mogelijkheden:
| Ondersteunde mogelijkheden | IR |
|---|---|
| Copy-activiteit (bron/sink) | (1) (2) |
(1) Azure Integration Runtime (2) Zelf-gehoste Integration Runtime
Voor een lijst met gegevensopslaglocaties die als bronnen en doelen worden ondersteund, raadpleegt u de tabel Ondersteunde gegevensopslaglocaties.
Deze MongoDB-connector ondersteunt versies tot en met 4.2. Als voor uw werk nieuwere versies dan 4.2 zijn vereist, kunt u MongoDB Atlas gebruiken met de MongoDB Atlas-connector, die uitgebreidere ondersteuning en functies biedt.
Vereisten
Als uw gegevensarchief zich in een on-premises netwerk, een Azure virtueel netwerk of Amazon Virtual Private Cloud bevindt, moet u een zelf-hostende Integration Runtime configureren om er verbinding mee te maken.
Als uw gegevensarchief een beheerde cloudgegevensservice is, kunt u de Azure Integration Runtime gebruiken. Als de toegang is beperkt tot IP-adressen die zijn goedgekeurd in de firewallregels, kunt u Azure Integration Runtime IP-adressen toevoegen aan de acceptatielijst.
U kunt ook de functie beheerde integratieruntime voor virtuele netwerken in Azure Data Factory gebruiken om toegang te krijgen tot het on-premises netwerk zonder een zelf-hostende Integration Runtime te installeren en te configureren.
Zie Strategieën voor gegevenstoegang voor meer informatie over de netwerkbeveiligingsmechanismen en -opties die door Data Factory worden ondersteund.
Aan de slag
Als u de kopieeractiviteit wilt uitvoeren met een pijplijn, kunt u een van de volgende hulpprogramma's of SDK's gebruiken:
- Tool Gegevens kopiëren
- Azure-portal
- .NET SDK
- Python SDK
- Azure PowerShell
- REST API
- Azure Resource Manager sjabloon
Maak een gekoppelde service aan naar MongoDB door de UI te gebruiken
Gebruik de volgende stappen om een gekoppelde service te maken voor MongoDB in de gebruikersinterface van de Azure-portal.
Ga naar het tabblad Beheren in je Azure Data Factory of Synapse-werkruimte en selecteer Linked Services. Selecteer dan Nieuw:
Zoek naar MongoDB en selecteer de MongoDB-connector.
Configureer de servicedetails, test de verbinding en maak de nieuwe gekoppelde service.
De configuratiedetails van de connector
De volgende secties bevatten details over eigenschappen die worden gebruikt om Data Factory-entiteiten te definiëren die specifiek zijn voor MongoDB-connector.
Eigenschappen van gekoppelde service
De volgende tabel geeft een overzicht van de ondersteunde eigenschappen voor een MongoDB-gekoppelde dienst:
| Eigenschap | Beschrijving | Vereist |
|---|---|---|
| type | Stel de type-eigenschap in op: MongoDbV2 | Ja |
| connectionString | Specificeer de MongoDB-verbindingsreeks, zoals mongodb://[username:password@]host[:port][/[database][?options]]. Voor meer details, zie de MongoDB-handleiding over verbindingsreeks.U kunt ook een verbindingsreeks in Azure Key Vault plaatsen. Voor meer details, zie Opslaggegevens in Azure Key Vault. |
Ja |
| database | De naam van de database waartoe u toegang wilt hebben. | Ja |
| connectVia | De Integration Runtime die wordt gebruikt om verbinding te maken met de gegevensopslagplaats. Zie de sectie Vereisten voor meer informatie. Als je deze eigenschap niet specificeert, wordt de standaard Azure Integration Runtime gebruikt. | Nee |
Voorbeeld:
{
"name": "MongoDBLinkedService",
"properties": {
"type": "MongoDbV2",
"typeProperties": {
"connectionString": "mongodb://[username:password@]host[:port][/[database][?options]]",
"database": "myDatabase"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Eigenschappen van gegevensset
Voor een volledige lijst van secties en eigenschappen die je kunt gebruiken om datasets te definiëren, zie Datasets en gekoppelde services. De volgende tabel geeft een overzicht van de ondersteunde eigenschappen voor een MongoDB-dataset:
| Eigenschap | Beschrijving | Vereist |
|---|---|---|
| type | Stel de type-eigenschap van de dataset in als: MongoDbV2Collection | Ja |
| collectienaam | De naam van de verzameling in de MongoDB-database. | Ja |
Voorbeeld:
{
"name": "MongoDbDataset",
"properties": {
"type": "MongoDbV2Collection",
"typeProperties": {
"collectionName": "<Collection name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<MongoDB linked service name>",
"type": "LinkedServiceReference"
}
}
}
Copy-activiteit eigenschappen
Zie het artikel Pijplijnen voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van activiteiten. Deze sectie bevat een lijst met eigenschappen die worden ondersteund door mongoDB-bron en -sink.
MongoDB als bron
De sectie bron van de kopieeractiviteit ondersteunt de volgende eigenschappen:
| Eigenschap | Beschrijving | Vereist |
|---|---|---|
| type | Stel de type-eigenschap van de kopieeractiviteitsbron in op: MongoDbV2Source | Ja |
| filter | Definieert selectiefiltercriteria met behulp van query-operatoren. Als u alle documenten in een verzameling wilt retourneren, laat u deze parameter weg of geeft u een leeg document ({}) door. | Nee |
| cursorMethods.project | Geeft aan welke velden moeten worden geretourneerd in de documenten voor gegevensprojectie. Als u alle velden in de overeenkomende documenten wilt retourneren, laat u deze parameter weg. | Nee |
| cursorMethods.sort | Hiermee geeft u de volgorde op waarin de query overeenkomende documenten retourneert. Raadpleeg cursor.sort(). | Nee |
| cursorMethods.limit | Hiermee geeft u het maximum aantal documenten dat de server retourneert. Raadpleeg cursor.limit(). | Nee |
| cursorMethods.skip | Hiermee geeft u het aantal documenten dat moet worden overgeslagen en van waaruit MongoDB begint met het retourneren van resultaten. Raadpleeg cursor.skip(). | Nee |
| batchgrootte | Hiermee geeft u het aantal documenten op dat moet worden geretourneerd in elke batch van het antwoord van het MongoDB-exemplaar. In de meeste gevallen heeft het aanpassen van de batchgrootte geen invloed op de gebruiker of de applicatie. Azure Cosmos DB stelt een limiet van 40 MB per batch; dit is de totale grootte van het aantal documenten dat is opgegeven met `batchSize`. Verlaag deze waarde dus als uw documenten groot zijn. | Nee (de standaardwaarde is 100) |
Tip
De service biedt ondersteuning voor de verwerking van BSON-documenten in Strict mode. Zorg ervoor dat je filterquery in Strict-modus staat in plaats van Shell-modus. Voor meer informatie, zie de handleiding van MongoDB.
Voorbeeld:
"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 als sink
De sectie sink van de Copy Activity ondersteunt de volgende eigenschappen:
| Eigenschap | Beschrijving | Vereist |
|---|---|---|
| type | Stel de type-eigenschap van de copy activity sink in op MongoDbV2Sink. | Ja |
| schrijfgedrag | Hierin wordt beschreven hoe u gegevens naar MongoDB schrijft. Toegestane waarden: invoegen en upsert. Het gedrag van upsert is om het document te vervangen als er al een document met dezelfde _id bestaat; anders wordt het document ingevoegd.Opmerking: De service genereert automatisch een _id voor een document als een _id niet is opgegeven in het oorspronkelijke document of door kolomtoewijzing. Dit betekent dat u ervoor moet zorgen dat uw document een id heeft, zodat upsert werkt zoals verwacht. |
Nee (de standaardwaarde is invoegen) |
| writeBatchSize | De writeBatchSize-eigenschap bepaalt het aantal documenten dat in elke batch moet worden geschreven. Om de prestaties te verbeteren, probeer de waarde te verhogen. Als je documentformaat groot is, probeer dan de waarde te verlagen. | Nee (de standaardwaarde is 10.000) |
| writeBatchTimeout | De wachttijd voordat de batchinvoegbewerking is voltooid voordat er een time-out optreedt. De toegestane waarde is tijdspanne. | Nee (de standaardwaarde is 00:30:00 - 30 minuten) |
Tip
Om JSON-documenten ongewijzigd te importeren, zie de sectie JSON-documenten importeren of exporteren. Om te kopiëren van tabelvormige gegevens, zie Schema mapping.
Voorbeeld
"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"
}
}
}
]
JSON-documenten importeren en exporteren
Gebruik deze MongoDB-connector om eenvoudig het volgende te doen:
- Documenten ongewijzigd kopiëren tussen twee MongoDB-collecties.
- Importeer JSON-documenten uit verschillende bronnen naar MongoDB, waaronder van Azure Cosmos DB, Azure Blob Storage, Azure Data Lake Store en andere ondersteunde archiefbestanden.
- Exporteer JSON-documenten uit een MongoDB-verzameling naar verschillende bestandsarchieven.
Als u een dergelijke schemaagnostische kopie wilt bereiken, slaat u de sectie 'structuur' (ook wel schema genoemd) over in de gegevensset en schematoewijzing in de kopieeractiviteit.
Toewijzing van gegevenstypen voor MongoDB
Wanneer je data kopieert van MongoDB, gebruikt de service de volgende mappings van MongoDB-datatypes naar tussentijdse datatypes. Voor meer informatie over hoe kopieeractiviteit het bronschema en datatype aan de sink koppelt, zie Schema en datatype-mappingen.
| MongoDB-gegevenstype | Tussentijdse servicegegevenstype |
|---|---|
| Datum | Int64 |
| ObjectId | String |
| Decimaal128 | String |
| Tijdstempel | De belangrijkste 32 bits -> Int64 De minst significante 32 bits -> Int64 |
| String | String |
| Double | String |
| Int32 | Int64 |
| Int64 | Int64 |
| Booleaan | Booleaan |
| Null | Null |
| JavaScript | String |
| Reguliere expressie | String |
| Min.sleutel | Int64 |
| Maximale sleutel | Int64 |
| Binary | String |
Levenscyclus en upgrade van MongoDB-connector
In de volgende tabel ziet u de releasefase en wijzigingslogboeken voor verschillende versies van de MongoDB-connector:
| Versie | Releasefase | Wijzigingslogboek |
|---|---|---|
| MongoDB (verouderd) | Removed | Niet van toepassing. |
| MongoDB | GA-versie beschikbaar | • Ondersteunt alleen de equivalente MongoDB-query's. • Dubbel wordt gelezen als tekenreeksgegevenstype. |
De gekoppelde MongoDB-service upgraden
Maak een nieuwe gekoppelde MongoDB-service en configureer deze door te verwijzen naar de eigenschappen van de gekoppelde service.
Gerelateerde inhoud
Zie ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die worden ondersteund als bronnen en sinks door de kopieeractiviteit.