Format JSON dans Data Factory dans Microsoft Fabric

Cet article explique comment configurer le format JSON dans le pipeline de données de Data Factory dans Microsoft Fabric.

Fonctionnalités prises en charge

Le format JSON est pris en charge pour les activités et connecteurs suivants en tant que source et destination.

Category Connecteur/activité
Connecteur pris en charge Amazon S3
Stockage Blob Azure
Azure Data Lake Storage Gen1
Azure Data Lake Storage Gen2
FTP
Google Cloud Storage
HTTP
SFTP
Activité prise en charge Activité de copie
Activité de recherche
Activité GetMetadata
Supprimer l’activité

Format JSON dans l’activité de copie

Pour configurer le format JSON, choisissez votre connexion dans la source ou la destination de l’activité de copie du pipeline de données, puis sélectionnez JSON dans la liste déroulante Format de fichier. Sélectionnez Paramètres pour poursuivre la configuration de ce format.

Screenshot showing file format settings.

Format JSON comme source

Après avoir sélectionné Paramètres dans la section Format de fichier, les propriétés suivantes s'affichent dans la boîte de dialogue contextuelle Paramètres de format de fichier.

Screenshot showing JSON file format source.

  • Type de compression : choisissez le codec de compression utilisé pour lire les fichiers JSON dans la liste déroulante. Vous pouvez choisir parmi None, bzip2, gzip, deflate, ZipDeflate, TarGzip ou tar.

    Si vous sélectionnez le type de compression ZipDeflate, Conserver le nom du fichier zip en tant que dossier s’affiche sous les paramètres avancés dans l’onglet Source.

    • Conserver le nom du fichier zip en tant que dossier : indique si le nom du fichier zip source doit être conservé en tant que structure de dossiers lors de la copie.
      • Si cette case est activée (valeur par défaut), le service écrit les fichiers décompressés dans <specified file path>/<folder named as source zip file>/.
      • Si cette case est décochée, le service écrit les fichiers décompressés directement dans <specified file path>. Assurez-vous de ne pas avoir de noms de fichiers dupliqués dans les différents fichiers zip sources afin d’éviter toute course ou tout comportement inattendu.

    Si vous sélectionnez le type de compression TarGzip/tar, Conserver le nom du fichier de compression en tant que dossier s’affiche sous les paramètres avancés dans l’onglet Source.

    • Conserver le nom du fichier de compression en tant que dossier : indique si le nom du fichier compressé source doit être conservé en tant que structure de dossiers lors de la copie.
      • Si cette case est activée (valeur par défaut), le service écrit les fichiers décompressés dans <specified file path>/<folder named as source compressed file>/.
      • Si cette case est décochée, le service écrit les fichiers décompressés directement dans <specified file path>. Assurez-vous de ne pas avoir de noms de fichiers en double dans différents fichiers sources afin d’éviter toute course ou tout comportement inattendu.
  • Niveau de compression : taux de compression. Vous pouvez choisir entre Le plus rapide ou Optimal.

    • Le plus rapide : l’opération de compression doit se terminer le plus rapidement possible, même si le fichier résultant n’est pas compressé de façon optimale.

    • Optimal : l’opération de compression doit aboutir à une compression optimale, même si elle prend plus de temps. Pour plus d’informations, consultez l’article Niveau de compression.

  • Encodage : spécifiez le type de codage utilisé pour lire des fichiers de test. Sélectionnez un type dans la liste déroulante. La valeur par défaut est UTF-8.

Format JSON comme destination

Après avoir sélectionné Paramètres, les propriétés suivantes s'affichent dans la boîte de dialogue contextuelle Paramètres de format de fichier.

Screenshot showing JSON file format destination.

  • Type de compression : choisissez le codec de compression utilisé pour écrire les fichiers JSON dans la liste déroulante. Vous pouvez choisir parmi None, bzip2, gzip, deflate, ZipDeflate, TarGzip ou tar.

  • Niveau de compression : taux de compression. Vous pouvez choisir entre Optimal et Le plus rapide.

    • Le plus rapide : l’opération de compression doit se terminer le plus rapidement possible, même si le fichier résultant n’est pas compressé de façon optimale.

    • Optimal : l’opération de compression doit aboutir à une compression optimale, même si elle prend plus de temps. Pour plus d’informations, consultez l’article Niveau de compression.

  • Encodage : spécifiez le type de codage utilisé pour écrire des fichiers de test. Sélectionnez un type dans la liste déroulante. La valeur par défaut est UTF-8.

Sous la section Avancé des paramètres dans l’onglet Destination, les propriétés suivantes liées au format JSON sont affichées.

  • Modèle de fichier : spécifiez le modèle des données stockées dans chaque fichier JSON. Les valeurs autorisées sont : Ensemble d’objets (lignes JSON) et Tableau d’objets. Par défaut, cette valeur est définie sur Ensemble d’objets. Consultez la section Modèles de fichiers JSON pour en savoir plus sur ces modèles.

Modèles de fichiers JSON

Lors de la copie de données à partir de fichiers JSON, l’activité de copie peut détecter et analyser automatiquement les modèles de fichiers JSON ci-dessous. Lorsque vous écrivez des données dans des fichiers JSON, vous pouvez configurer le modèle de fichier sur la destination de l’activité de copie.

  • Type I : setOfObjects

    Chaque fichier contient un objet unique, des lignes JSON ou des objets concaténés.

    • Exemple de fichier JSON à un seul objet

      {
          "time": "2015-04-29T07:12:20.9100000Z",
          "callingimsi": "466920403025604",
          "callingnum1": "678948008",
          "callingnum2": "567834760",
          "switch1": "China",
          "switch2": "Germany"
      }
      
    • Lignes JSON (valeur par défaut pour la destination)

      {"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"}
      
    • Exemple de fichier JSON incluant des objets concaténés

      {
          "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"
      }
      
  • Type II : arrayOfObjects

    Chaque fichier contient un tableau d’objets.

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

Résumé du tableau

JSON en tant que source

Les propriétés suivantes sont prises en charge dans la section Source de l’activité de copie lors de l’utilisation du format JSON.

Nom Description Valeur Obligatoire Propriété de script JSON
Format de fichier Le format de fichier que vous souhaitez utiliser. JSON Oui type (sous datasetSettings) :
Json
Type de compression Le codec de compression utilisé pour lire des fichiers JSON. Choisissez parmi :
Aucun
bzip2
gzip
deflate
ZipDeflate
TarGzip
tar
Non type (sous compression) :

bzip2
gzip
deflate
ZipDeflate
TarGzip
tar
Niveau de compression Le taux de compression. Fastest
Optimal
Non level (sous compression) :
Le plus rapide
Optimal
Encodage Le type de codage utilisé pour lire des fichiers de test. "UTF-8" (par défaut),"UTF-8 without 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" Aucune encodingName
Conserver le nom du fichier zip en tant que dossier Indique si le nom du fichier zip source doit être conservé en tant que structure de dossiers lors de la copie. Sélectionné (par défaut) ou non sélectionné Non preserveZipFileNameAsFolder
(sous compressionProperties–>type en tant que ZipDeflateReadSettings) :
true (valeur par défaut) ou false
Conserver le nom du fichier de compression en tant que dossier Indique si le nom du fichier source compressé doit être conservé en tant que structure de dossiers lors de la copie. Sélectionné (par défaut) ou non sélectionné Non preserveCompressionFileNameAsFolder
(sous compressionProperties–>type en tant que TarGZipReadSettings ou TarReadSettings) :
true (valeur par défaut) ou false

JSON comme destination

Les propriétés suivantes sont prises en charge dans la section Destination de l’activité de copie lors de l’utilisation du format JSON.

Nom Description Valeur Obligatoire Propriété de script JSON
Format de fichier Le format de fichier que vous souhaitez utiliser. JSON Oui type (sous datasetSettings) :
Json
Type de compression Le codec de compression utilisé pour écrire des fichiers JSON. Choisissez parmi :
Aucun
bzip2
gzip
deflate
ZipDeflate
TarGzip
tar
Non type (sous compression) :

bzip2
gzip
deflate
ZipDeflate
TarGzip
tar
Niveau de compression Le taux de compression. Fastest
Optimal
Non level (sous compression) :
Le plus rapide
Optimal
Encodage Le type de codage utilisé pour écrire des fichiers de test. "UTF-8" (par défaut),"UTF-8 without 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" Aucune encodingName
Modèle de fichier Indiquez le modèle des données stockées dans chaque fichier JSON. Ensemble d’objets
Tableau d’objets
Non filePattern :
setOfObjects
arrayOfObjects