Formato JSON in Data Factory in Microsoft Fabric
Questo articolo spiega come configurare il formato JSON nella pipeline di dati di Data Factory in Microsoft Fabric.
Il formato JSON è supportato per le seguenti attività e connettori come origine e destinazione.
Categoria | Connettore/attività |
---|---|
Connettori supportati | Amazon S3 |
Amazon S3 Compatibile | |
Archiviazione BLOB di Azure | |
Azure Data Lake Storage Gen1 | |
Azure Data Lake Storage Gen2 | |
File di Azure | |
File system | |
FTP | |
Google Cloud Storage | |
HTTP | |
File Lakehouse | |
Archiviazione in Oracle Cloud | |
SFTP | |
Attività supportata | Attività Copy (origine/destinazione) |
Attività Lookup | |
Attività GetMetadata | |
Attività Delete |
Per configurare il formato JSON, scegliere la connessione nell'origine o nella destinazione dell'attività Copy della pipeline di dati e poi selezionare JSON nell'elenco a discesa Formato file. Selezionare Impostazioni per configurare ulteriormente questo formato.
Dopo aver selezionato Impostazioni nella sezione Formato file, nella finestra di dialogo Impostazioni formato file vengono visualizzate le seguenti proprietà.
Tipo di compressione: scegliere il codec di compressione usato per leggere i file JSON nell'elenco a discesa. Scegliere tra i tipi None, bzip2, gzip, deflate, ZipDeflate, TarGzip oppure tar.
Se si seleziona ZipDeflate come tipo di compressione, nelle impostazioni Avanzate nella scheda Origine viene visualizzato Mantenere il nome del file ZIP come cartella.
- Mantenere il nome del file ZIP come cartella: indica se mantenere il nome del file ZIP di origine come struttura di una cartella durante la copia.
- Se questa casella è spuntata (impostazione predefinita), il servizio scrive i file decompressi in
<specified file path>/<folder named as source zip file>/
. - Se questa casella non è spuntata, il servizio scrive i file decompressi direttamente in
<specified file path>
. Assicurarsi di non avere nomi di file duplicati in file ZIP di origine diversi per evitare corse o comportamenti imprevisti.
- Se questa casella è spuntata (impostazione predefinita), il servizio scrive i file decompressi in
Se si seleziona TarGzip/tar come tipo di compressione, nelle impostazioni Avanzate nella scheda Origine viene visualizzato Mantenere il nome del file di compressione come cartella.
- Mantenere il nome del file di compressione come cartella: indica se mantenere il nome del file compresso di origine come struttura di una cartella durante la copia.
- Se questa casella è spuntata (impostazione predefinita), il servizio scrive i file decompressi in
<specified file path>/<folder named as source compressed file>/
. - Se questa casella non è spuntata, il servizio scrive i file decompressi direttamente in
<specified file path>
. Assicurarsi di non avere nomi di file duplicati in file di origine diversi per evitare corse o comportamenti imprevisti.
- Se questa casella è spuntata (impostazione predefinita), il servizio scrive i file decompressi in
- Mantenere il nome del file ZIP come cartella: indica se mantenere il nome del file ZIP di origine come struttura di una cartella durante la copia.
Livello di compressione: rapporto di compressione. È possibile scegliere tra Fastest o Ottimale.
Fastest: l'operazione di compressione deve essere completata il più rapidamente possibile, anche se il file risultante non viene compresso in modo ottimale.
Optimal: l'operazione di compressione deve comprimere il file in modo ottimale, anche se il completamento richiede più tempo. Per altre informazioni, si veda l'articolo Livello di compressione.
Codifica: specificare il tipo di codifica utilizzato per leggere i file di test. Selezionare un tipo dall’elenco a discesa. Il valore predefinito è UTF-8.
Dopo aver selezionato Impostazioni, vengono visualizzate le proprietà seguenti nella finestra di dialogo Impostazioni formato file popup.
Tipo di compressione: scegliere il codec di compressione usato per scrivere i file JSON nell'elenco a discesa. Scegliere tra i tipi None, bzip2, gzip, deflate, ZipDeflate, TarGzip oppure tar.
Livello di compressione: rapporto di compressione. È possibile scegliere tra Ottimale o Fastest.
Fastest: l'operazione di compressione deve essere completata il più rapidamente possibile, anche se il file risultante non viene compresso in modo ottimale.
Optimal: l'operazione di compressione deve comprimere il file in modo ottimale, anche se il completamento richiede più tempo. Per altre informazioni, si veda l'articolo Livello di compressione.
Codifica: specificare il tipo di codifica utilizzato per scrivere i file di test. Selezionare un tipo dall’elenco a discesa. Il valore predefinito è UTF-8.
In Impostazioni avanzate nella scheda Destinazione vengono visualizzate le seguenti proprietà correlate al formato JSON.
- Modello di file: specificare il modello di dati archiviati in ogni file JSON. I valori consentiti sono: Set di oggetti (righe JSON) e Matrice di oggetti. Il valore predefinito è impostato Set di oggetti. Vedere la sezione Modelli di file JSON per i dettagli su questi modelli.
Quando si copiano dati da file JSON, l'attività Copy può rilevare e analizzare automaticamente i modelli di file JSON seguenti. Quando si scrivono dati in file JSON, è possibile configurare il modello di file nella destinazione dell'attività Copy.
Tipo I: setOfObjects
Ogni file contiene un singolo oggetto, linee JSON o oggetti concatenati.
Esempio di JSON a oggetto singolo
{ "time": "2015-04-29T07:12:20.9100000Z", "callingimsi": "466920403025604", "callingnum1": "678948008", "callingnum2": "567834760", "switch1": "China", "switch2": "Germany" }
Righe JSON (impostazione predefinita per la destinazione)
{"time":"2015-04-29T07:12:20.9100000Z","callingimsi":"466920403025604","callingnum1":"678948008","callingnum2":"567834760","switch1":"China","switch2":"Germany"} {"time":"2015-04-29T07:13:21.0220000Z","callingimsi":"466922202613463","callingnum1":"123436380","callingnum2":"789037573","switch1":"US","switch2":"UK"} {"time":"2015-04-29T07:13:21.4370000Z","callingimsi":"466923101048691","callingnum1":"678901578","callingnum2":"345626404","switch1":"Germany","switch2":"UK"}
Esempio di JSON concatenati
{ "time": "2015-04-29T07:12:20.9100000Z", "callingimsi": "466920403025604", "callingnum1": "678948008", "callingnum2": "567834760", "switch1": "China", "switch2": "Germany" } { "time": "2015-04-29T07:13:21.0220000Z", "callingimsi": "466922202613463", "callingnum1": "123436380", "callingnum2": "789037573", "switch1": "US", "switch2": "UK" } { "time": "2015-04-29T07:13:21.4370000Z", "callingimsi": "466923101048691", "callingnum1": "678901578", "callingnum2": "345626404", "switch1": "Germany", "switch2": "UK" }
Tipo II: arrayOfObjects
Ogni file contiene una matrice di oggetti.
[ { "time": "2015-04-29T07:12:20.9100000Z", "callingimsi": "466920403025604", "callingnum1": "678948008", "callingnum2": "567834760", "switch1": "China", "switch2": "Germany" }, { "time": "2015-04-29T07:13:21.0220000Z", "callingimsi": "466922202613463", "callingnum1": "123436380", "callingnum2": "789037573", "switch1": "US", "switch2": "UK" }, { "time": "2015-04-29T07:13:21.4370000Z", "callingimsi": "466923101048691", "callingnum1": "678901578", "callingnum2": "345626404", "switch1": "Germany", "switch2": "UK" } ]
Le seguenti proprietà sono supportate nella sezione Origine dell'attività Copy quando si utilizza il formato JSON.
Nome | Descrizione | valore | Richiesto | Proprietà script JSON |
---|---|---|---|---|
Formato di file | Formato che si desidera usare. | JSON | Sì | tipo (in datasetSettings ):Json |
Tipo di compressione | Codec di compressione usato per leggere file JSON. | Scegliere tra: Nessuno bzip2 gzip deflate ZipDeflate TarGzip tar |
No | tipo (in compression ): bzip2 gzip deflate ZipDeflate TarGzip tar |
Livello di compressione | Rapporto di compressione. | Il più rapido Ottimale |
No | livello (in compression ): Il più rapido Ottimale |
Encoding | Tipo di codifica usato per leggere file di test. | "UTF-8" (predefinito),"UTF-8 senza BOM", "UTF-16LE", "UTF-16BE", "UTF-32LE", "UTF-32BE", "US-ASCII", "UTF-7", "BIG5", "EUC-JP", "EUC-KR", "GB2312", "GB18030", "JOHAB", "SHIFT-JIS", "CP875", "CP866", "IBM00858", "IBM037", "IBM273", "IBM437", "IBM500", "IBM737", "IBM775", "IBM850", "IBM852", "IBM855", "IBM857", "IBM860", "IBM861", "IBM863", "IBM864", "IBM865", "IBM869", "IBM870", "IBM01140", "IBM01141", "IBM01142", "IBM01143", "IBM01144", "IBM01145", "IBM01146", "IBM01147", "IBM01148", "IBM01149", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-1", "ISO-8859-2", "ISO-8859-3", "ISO-8859-4", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8859-9", "ISO-8859-13", "ISO-8859-15", "WINDOWS-874", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1252", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255", "WINDOWS-1256", "WINDOWS-1257", "WINDOWS-1258" | No | encodingName |
Mantenere il nome del file ZIP come cartella | Indica se mantenere il nome del file ZIP di origine come struttura di una cartella durante la copia. | selezionato (impostazione predefinita) o deselezionato | No | preserveZipFileNameAsFolder (in compressionProperties ->type come ZipDeflateReadSettings ):true (valore predefinito) o false |
Mantenere il nome del file di compressione come cartella | Indica se mantenere il nome del file compresso di origine come struttura di una cartella durante la copia. | selezionato (impostazione predefinita) o deselezionato | No | preserveCompressionFileNameAsFolder (in compressionProperties ->type come TarGZipReadSettings o TarReadSettings ):true (valore predefinito) o false |
Le seguenti proprietà sono supportate nella sezione Destinazione dell'attività Copy quando si utilizza il formato JSON.
Nome | Descrizione | valore | Richiesto | Proprietà script JSON |
---|---|---|---|---|
Formato di file | Formato che si desidera usare. | JSON | Sì | tipo (in datasetSettings ):Json |
Tipo di compressione | Codec di compressione usato per scrivere file JSON. | Scegliere tra: Nessuno bzip2 gzip deflate ZipDeflate TarGzip tar |
No | tipo (in compression ): bzip2 gzip deflate ZipDeflate TarGzip tar |
Livello di compressione | Rapporto di compressione. | Il più rapido Ottimale |
No | livello (in compression ): Il più rapido Ottimale |
Encoding | Tipo di codifica usato per scrivere file di test. | "UTF-8" (predefinito),"UTF-8 senza BOM", "UTF-16LE", "UTF-16BE", "UTF-32LE", "UTF-32BE", "US-ASCII", "UTF-7", "BIG5", "EUC-JP", "EUC-KR", "GB2312", "GB18030", "JOHAB", "SHIFT-JIS", "CP875", "CP866", "IBM00858", "IBM037", "IBM273", "IBM437", "IBM500", "IBM737", "IBM775", "IBM850", "IBM852", "IBM855", "IBM857", "IBM860", "IBM861", "IBM863", "IBM864", "IBM865", "IBM869", "IBM870", "IBM01140", "IBM01141", "IBM01142", "IBM01143", "IBM01144", "IBM01145", "IBM01146", "IBM01147", "IBM01148", "IBM01149", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-1", "ISO-8859-2", "ISO-8859-3", "ISO-8859-4", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8859-9", "ISO-8859-13", "ISO-8859-15", "WINDOWS-874", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1252", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255", "WINDOWS-1256", "WINDOWS-1257", "WINDOWS-1258" | No | encodingName |
Pattern di file | Indicare il modello dei dati archiviati in ogni file JSON. | Set di oggetti Matrice di oggetti |
No | filePattern: setOfObjects arrayOfObjects |