Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
APPLICABILE A:
Azure Data Factory
Azure Synapse Analytics
Suggerimento
Data Factory in Microsoft Fabric è la nuova generazione di Azure Data Factory, con un'architettura più semplice, un'intelligenza artificiale predefinita e nuove funzionalità. Se non si ha familiarità con l'integrazione dei dati, iniziare con Fabric Data Factory. I carichi di lavoro di Azure Data Factory esistenti possono eseguire l'aggiornamento a Fabric per accedere a nuove funzionalità tra data science, analisi in tempo reale e creazione di report.
Questo articolo spiega come utilizzare l'attività di copia in Azure Data Factory e Synapse Analytics per copiare dati da e verso un database MongoDB. Si basa sull'articolo di panoramica dell'attività di copia che presenta una panoramica generale sull'attività di copia.
Note
Questo connettore è disponibile anche in Data Factory in Microsoft Fabric. Per le configurazioni e le funzionalità specifiche di Fabric, consulta la documentazione del connettore MongoDB per Fabric.
Importante
Il nuovo connettore MongoDB offre un supporto mongoDB nativo migliorato. Se usi il connettore MongoDB legacy nella tua soluzione, supportato as-is solo per compatibilità retroattiva, vedi connettore MongoDB (legacy). Puoi usare questo connettore per copiare dati da e verso un Azure DocumentDB (compatibile con MongoDB).
Funzionalità supportate
Questo connettore MongoDB supporta le seguenti funzionalità:
| Funzionalità supportate | IR |
|---|---|
| Attività Copy (origine/sink) | (1) (2) |
① Azure Integration Runtime ② Runtime di integrazione self-hosted
Per un elenco dei dati store supportati come source e sink, consulta la tabella Supported data stores .
In particolare, questo connettore MongoDB supporta le versioni fino alla 4.2. Se il lavoro richiede versioni più recenti della 4.2, considerare l'uso di MongoDB Atlas con il connettore MongoDB Atlas, che offre funzionalità e supporto più completi.
Prerequisiti
Se l'archivio dati si trova all'interno di una rete locale, di una rete virtuale Azure o di Amazon Virtual Private Cloud, è necessario configurare un runtime di integrazione self-hosted per connettersi.
Se l'archivio dati è un servizio dati cloud gestito, è possibile usare il Azure Integration Runtime. Se l'accesso è limitato agli indirizzi IP approvati nelle regole del firewall, è possibile aggiungere Azure Integration Runtime IP all'elenco elementi consentiti.
È anche possibile usare la funzionalità managed virtual network integration runtime in Azure Data Factory per accedere alla rete locale senza installare e configurare un runtime di integrazione self-hosted.
Per altre informazioni sui meccanismi di sicurezza di rete e sulle opzioni supportate da Data Factory, vedere strategie di accesso ai dati.
Introduzione
Per eseguire l'attività di copia con una pipeline, è possibile usare uno degli strumenti o degli SDK seguenti:
- Strumento Copia Dati
- portale Azure
- .NET SDK
- PYTHON SDK
- Azure PowerShell
- API REST
- modello Azure Resource Manager
Crea un servizio collegato a MongoDB usando l'interfaccia utente
Usare la procedura seguente per creare un servizio collegato a MongoDB nell'interfaccia utente del portale di Azure.
Sfoglia la scheda Gestisci nel tuo spazio di lavoro Azure Data Factory o Synapse e seleziona Servizi Collegati. Poi seleziona Nuovo:
Cercare MongoDB e selezionare il connettore MongoDB.
Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.
Dettagli di configurazione del connettore
Le sezioni seguenti riportano informazioni dettagliate sulle proprietà che vengono usate per definire entità di data factory specifiche per il connettore MongoDB.
Proprietà del servizio collegato
La seguente tabella elenca le proprietà supportate per un servizio collegato a MongoDB:
| Proprietà | Descrizione | Obbligatoria |
|---|---|---|
| type | Imposta la proprietà di tipo su: MongoDbV2 | Sì |
| connectionString | Specificare la stringa di connessione di MongoDB, come mongodb://[username:password@]host[:port][/[database][?options]]. Per maggiori dettagli, consulta il manuale MongoDB sulla stringa di connessione. |
È anche possibile inserire un stringa di connessione in Azure Key Vault. Per maggiori dettagli, consulta Archivia credenziali in Azure Key Vault. |Sì | | database | Nome del database a cui vuoi accedere. | Sì | | connectVia | L'Integration Runtime da utilizzare per connettersi allo store dati. Per altre informazioni, vedere la sezione Prerequisiti. Se non specifichi questa proprietà, viene usato il Azure Integration Runtime predefinito. |No |
Esempio:
{
"name": "MongoDBLinkedService",
"properties": {
"type": "MongoDbV2",
"typeProperties": {
"connectionString": "mongodb://[username:password@]host[:port][/[database][?options]]",
"database": "myDatabase"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Proprietà del set di dati
Per un elenco completo di sezioni e proprietà che puoi utilizzare per definire dataset, consulta Dataset e servizi collegati. La tabella seguente elenca le proprietà supportate per un dataset MongoDB:
| Proprietà | Descrizione | Obbligatoria |
|---|---|---|
| type | Imposta la proprietà di tipo del dataset a: MongoDbV2Collection | Sì |
| collectionName | Nome della raccolta nel database MongoDB. | Sì |
Esempio:
{
"name": "MongoDbDataset",
"properties": {
"type": "MongoDbV2Collection",
"typeProperties": {
"collectionName": "<Collection name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<MongoDB linked service name>",
"type": "LinkedServiceReference"
}
}
}
Proprietà dell'attività di copia
Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline. Questa sezione fornisce un elenco delle proprietà supportate dall'origine e dal sink MongoDB.
MongoDB come origine
La sezione sorgente dell'attività di copia supporta le seguenti proprietà:
| Proprietà | Descrizione | Obbligatoria |
|---|---|---|
| type | Imposta la proprietà di tipo della sorgente dell'attività di copia su: MongoDbV2Source | Sì |
| filter | Specifica il filtro di selezione usando gli operatori di query. Per restituire tutti i documenti in una raccolta, omettere questo parametro o passare un documento vuoto ({}). | No |
| cursorMethods.project | Specifica i campi da restituire nei documenti per la proiezione. Per restituire tutti i campi nei documenti corrispondenti, omettere questo parametro. | No |
| cursorMethods.sort | Specifica l'ordine in cui la query restituisce i documenti corrispondenti. Fare riferimento a cursor.sort(). | No |
| cursorMethods.limit | Specifica il numero massimo di documenti restituiti dal server. Fare riferimento a cursor.limit(). | No |
| cursorMethods.skip | Specifica il numero di documenti da ignorare e la posizione da cui MongoDB inizia a restituire i risultati. Fare riferimento a cursor.skip(). | No |
| batchSize | Specifica il numero di documenti da restituire in ogni batch di risposta dall'istanza di MongoDB. Nella maggior parte dei casi, modificare la dimensione del lotto non influisce sull'utente o sull'applicazione. Azure Cosmos DB limita che ogni batch non possa superare i 40 MB, che è la somma della dimensione del numero di documenti del batch, quindi riduci questo valore se la dimensione del documento è grande. | No (il valore predefinito è 100) |
Suggerimento
Il servizio supporta l'utilizzo del documento BSON in modalità strict. Assicurati che la tua query di filtro sia in modalità Rigorosa invece che in modalità Shell. Per maggiori informazioni, consulta il manuale MongoDB.
Esempio:
"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 come sink
La sezione Copy Activity supporta le seguenti proprietà:
| Proprietà | Descrizione | Obbligatoria |
|---|---|---|
| type | Imposta la proprietà type del server di attività di copia su MongoDbV2Sink. | Sì |
| writeBehavior | Descrive come scrivere dati in MongoDB. Valori consentiti: insert e upsert. Il comportamento di upsert consiste nella sostituzione del documento se esiste già un documento con lo stesso _id. In caso contrario, il documento viene inserito.Nota: il servizio genera automaticamente un _id per un documento se non è specificato un _id nel documento originale o tramite il mapping di colonna. È quindi necessario assicurarsi che il documento contenga un ID in modo che upsert funzioni come previsto. |
No (il valore predefinito è insert) |
| writeBatchSize | La proprietà writeBatchSize controlla il numero di documenti da scrivere in ogni lotto. Per migliorare le prestazioni, prova ad aumentare il valore. Se la dimensione del documento è grande, prova a ridurne il valore. | No (il valore predefinito è 10.000) |
| writeBatchTimeout | Tempo di attesa per il completamento dell'operazione di inserimento batch prima del timeout. Il valore consentito è timespan. | No (il valore predefinito è 00:30:00 - 30 minuti) |
Suggerimento
Per importare documenti JSON as-is, consulta la sezione Importa o esporta documenti JSON . Per copiare dai dati a forma tabellare, vedi Mappatura dello schema.
Esempio
"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"
}
}
}
]
Importare ed esportare documenti JSON
Usa questo connettore MongoDB per facilità:
- Copiare i documenti tra due raccolte MongoDB così come sono.
- Importare documenti JSON da varie origini in MongoDB, tra cui Azure Cosmos DB, Azure Blob Storage, Azure Data Lake Store e altre memorie basate su file supportate.
- Esportare documenti JSON da una raccolta MongoDB in diversi archivi basati su file.
Per ottenere una copia priva di schema, ignorare la sezione "structure" (chiamata anche schema) nel set di dati e il mapping dello schema nell'attività di copia.
Mapping del tipo di dati per MongoDB
Quando copi dati da MongoDB, il servizio utilizza le seguenti mappature dai tipi di dati MongoDB ai tipi di dati intermedi. Per maggiori informazioni su come l'attività di copia mappa lo schema sorgente e il tipo di dato al sink, vedi Schema e mappature di tipo di dati.
| Tipo di dati MongoDB | Tipo di dati del servizio provvisorio |
|---|---|
| Date | Int64 |
| ObjectId | String |
| Decimal128 | String |
| Timestamp | I 32 bit più significativi -> Int64 I 32 bit meno significativi -> Int64 |
| String | String |
| Double | String |
| Int32 | Int64 |
| Int64 | Int64 |
| Boolean | Boolean |
| Null | Null |
| JavaScript | String |
| Espressione regolare | String |
| Tasto minimo | Int64 |
| Tasto massimo | Int64 |
| Binary | String |
Ciclo di vita e aggiornamento del connettore MongoDB
La tabella seguente illustra la fase di rilascio e i log delle modifiche per versioni diverse del connettore MongoDB:
| Versione | Fase di rilascio | Log delle modifiche |
|---|---|---|
| MongoDB (versione legacy) | Removed | Non applicabile. |
| MongoDB | Versione GA disponibile | • Supporta solo le query MongoDB equivalenti. • Double viene letto come tipo di dati stringa. |
• Legge anche come tipo di dato Stringa. |
Aggiornare il servizio collegato MongoDB
Creare un nuovo servizio collegato MongoDB e configurarlo facendo riferimento alle Proprietà del servizio collegato.
Contenuti correlati
Per un elenco degli archivi dati supportati come origini e sink dall'attività Copy, vedere Archivi dati supportati.