Formato JSON in Azure Data FactoryJSON format in Azure Data Factory

Seguire questo articolo quando si vuole analizzare i file JSON o scrivere i dati in formato JSON.Follow this article when you want to parse the JSON files or write the data into JSON format.

Il formato JSON è supportato per i connettori seguenti : Amazon S3, BLOB di Azure, Azure Data Lake storage Gen1, Azure Data Lake storage Gen2, archiviazione file di Azure, file System, FTP, Google Cloud Storage, HDFS, httpe SFTP.JSON format is supported for the following connectors: Amazon S3, Azure Blob, Azure Data Lake Storage Gen1, Azure Data Lake Storage Gen2, Azure File Storage, File System, FTP, Google Cloud Storage, HDFS, HTTP, and SFTP.

Proprietà del set di datiDataset properties

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione dei set di dati, vedere l'articolo Set di dati.For a full list of sections and properties available for defining datasets, see the Datasets article. Questa sezione presenta un elenco delle proprietà supportate dal set di dati JSON.This section provides a list of properties supported by the JSON dataset.

ProprietàProperty DescriptionDescription ObbligatorioRequired
typetype La proprietà Type del set di dati deve essere impostata su JSON.The type property of the dataset must be set to Json. Yes
posizionelocation Impostazioni del percorso dei file.Location settings of the file(s). Ogni connettore basato su file ha un tipo di percorso e proprietà supportate in location.Each file-based connector has its own location type and supported properties under location. Per informazioni dettagliate, vedere l'articolo connettore-> sezione Proprietà set di dati.See details in connector article -> Dataset properties section. Yes
encodingNameencodingName Tipo di codifica utilizzato per leggere/scrivere file di test.The encoding type used to read/write test files.
I valori consentiti sono i seguenti: "UTF-8", "UTF-16", "UTF-16BE", "UTF-32", "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 ".Allowed values are as follows: "UTF-8", "UTF-16", "UTF-16BE", "UTF-32", "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".
NoNo
compressionCodeccompressionCodec Codec di compressione utilizzato per leggere/scrivere file di testo.The compression codec used to read/write text files.
I valori consentiti sono bzip2, gzip, deflate, ZipDeflate, Snappero LZ4.Allowed values are bzip2, gzip, deflate, ZipDeflate, snappy, or lz4. da usare quando si salva il file.to use when saving the file.
Nota Attualmente l'attività di copia non supporta "blocco" & "LZ4".Note currently Copy activity doesn’t support "snappy" & "lz4".
Nota Quando si usa l'attività di copia per decomprimere i file ZipDeflate e scrivere nell'archivio dati sink basato su file, i file vengono estratti nella cartella: <path specified in dataset>/<folder named as source zip file>/.Note when using copy activity to decompress ZipDeflate file(s) and write to file-based sink data store, files will be extracted to the folder: <path specified in dataset>/<folder named as source zip file>/.
NoNo
compressionLevelcompressionLevel Rapporto di compressione.The compression ratio.
I valori consentiti sono ottimali o più veloci.Allowed values are Optimal or Fastest.
- più veloce: l'operazione di compressione deve essere completata il più rapidamente possibile, anche se il file risultante non è compresso in modo ottimale.- Fastest: The compression operation should complete as quickly as possible, even if the resulting file is not optimally compressed.
- ottimale: l'operazione di compressione deve essere compressa in modo ottimale, anche se il completamento dell'operazione richiede più tempo.- Optimal: The compression operation should be optimally compressed, even if the operation takes a longer time to complete. Per maggiori informazioni, vedere l'argomento relativo al livello di compressione .For more information, see Compression Level topic.
NoNo

Di seguito è riportato un esempio di set di dati JSON nell'archivio BLOB di Azure:Below is an example of JSON dataset on Azure Blob Storage:

{
    "name": "JSONDataset",
    "properties": {
        "type": "Json",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, retrievable during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "container": "containername",
                "folderPath": "folder/subfolder",
            },
            "compression": {
                "type": "gzip"
        }
    }
}

Proprietà dell'attività di copiaCopy activity properties

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline.For a full list of sections and properties available for defining activities, see the Pipelines article. Questa sezione presenta un elenco delle proprietà supportate dall'origine e dal sink JSON.This section provides a list of properties supported by the JSON source and sink.

JSON come origineJSON as source

Le proprietà seguenti sono supportate nella sezione *origine* dell'attività di copia.The following properties are supported in the copy activity *source* section.

ProprietàProperty DescriptionDescription ObbligatorioRequired
typetype La proprietà Type dell'origine dell'attività di copia deve essere impostata su JSONSource.The type property of the copy activity source must be set to JSONSource. Yes
storeSettingsstoreSettings Un gruppo di proprietà su come leggere i dati da un archivio dati.A group of properties on how to read data from a data store. Ogni connettore basato su file ha le proprie impostazioni di lettura supportate in storeSettings.Each file-based connector has its own supported read settings under storeSettings. Per informazioni dettagliate, vedere l'articolo connettore > sezione proprietà dell'attività di copia.See details in connector article -> Copy activity properties section. NoNo

JSON come sinkJSON as sink

Le proprietà seguenti sono supportate nella sezione *sink* dell'attività di copia.The following properties are supported in the copy activity *sink* section.

ProprietàProperty DescriptionDescription ObbligatorioRequired
typetype La proprietà Type dell'origine dell'attività di copia deve essere impostata su JSONSink.The type property of the copy activity source must be set to JSONSink. Yes
formatSettingsformatSettings Gruppo di proprietà.A group of properties. Vedere la tabella delle impostazioni di scrittura JSON riportata di seguito.Refer to JSON write settings table below. NoNo
storeSettingsstoreSettings Gruppo di proprietà su come scrivere dati in un archivio dati.A group of properties on how to write data to a data store. Ogni connettore basato su file ha le proprie impostazioni di scrittura supportate in storeSettings.Each file-based connector has its own supported write settings under storeSettings. Per informazioni dettagliate, vedere l'articolo connettore > sezione proprietà dell'attività di copia.See details in connector article -> Copy activity properties section. NoNo

Impostazioni di scrittura JSON supportate in formatSettings:Supported JSON write settings under formatSettings:

ProprietàProperty DescriptionDescription ObbligatorioRequired
typetype Il tipo di formatSettings deve essere impostato su JsonWriteSettings.The type of formatSettings must be set to JsonWriteSettings. Yes
filePatternfilePattern Indicare il modello dei dati archiviati in ogni file JSON.Indicate the pattern of data stored in each JSON file. I valori consentiti sono: setOfObjects e arrayOfObjects.Allowed values are: setOfObjects and arrayOfObjects. Il valore predefinito è setOfObjects.The default value is setOfObjects. Vedere la sezione Modelli di file JSON per i dettagli su questi modelli.See JSON file patterns section for details about these patterns. NoNo

Modelli di file JSONJSON file patterns

L'attività di copia può rilevare e analizzare automaticamente i modelli di file JSON seguenti.Copy activity can automatically detect and parse the following patterns of JSON files.

  • Tipo I: setOfObjectsType I: setOfObjects

    Ogni file contiene un solo oggetto o più oggetti con delimitatori di riga/concatenati.Each file contains single object, or line-delimited/concatenated multiple objects. Quando questa opzione viene scelta in sink dell'attività di copia, l'attività di copia produce un singolo file JSON con ogni oggetto per riga (delimitato da riga).When this option is chosen in copy activity sink, copy activity produces a single JSON file with each object per line (line-delimited).

    • Esempio di JSON a oggetto singolosingle object JSON example

      {
          "time": "2015-04-29T07:12:20.9100000Z",
          "callingimsi": "466920403025604",
          "callingnum1": "678948008",
          "callingnum2": "567834760",
          "switch1": "China",
          "switch2": "Germany"
      }
      
    • Esempio di JSON con delimitatori di rigaline-delimited JSON example

      {"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 concatenaticoncatenated JSON example

      {
          "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: arrayOfObjectsType II: arrayOfObjects

    Ogni file contiene una matrice di oggetti.Each file contains an array of objects.

    [
        {
            "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"
        }
    ]
    

Mapping delle proprietà del flusso di datiMapping data flow properties

Per informazioni dettagliate, vedere trasformazione origine e trasformazione sink nel flusso di dati del mapping.Learn details from source transformation and sink transformation in mapping data flow.

Passaggi successiviNext steps