Формат JSON в фабрике данных в Microsoft Fabric

В этой статье описывается настройка формата JSON в конвейере фабрики данных в Microsoft Fabric.

Поддерживаемые возможности

Формат JSON поддерживается для следующих действий и соединителей в качестве источника и назначения.

Категория Соединитель или действие
Поддерживаемый соединитель Amazon S3
Совместимая с Amazon S3
Хранилище BLOB-объектов Azure
Azure Data Lake Storage 2-го поколения
Файлы Azure
Файловая система
FTP
Google Cloud Storage
HTTP
Lakehouse Files
Хранилище Oracle Cloud
SFTP
Поддерживаемая активность Действие копирования (источник или назначение)
Операция поиска
Активность получения метаданных
Удаление действия

Формат JSON в действии копирования

Чтобы настроить формат JSON, выберите подключение в источнике или месте назначения действия копирования конвейера, а затем выберите JSON в раскрывающемся списке формата файла. Выберите параметры для дальнейшей настройки этого формата.

Снимок экрана: параметры формата файла.

Формат JSON в качестве источника

После выбора параметров в разделе "Формат файла" в диалоговом окне "Всплывающие параметры формата файла" отображаются следующие свойства.

Снимок экрана: источник формата JSON-файла.

  • Тип сжатия: выберите кодек сжатия, используемый для чтения JSON-файлов в раскрывающемся списке. Вы можете выбрать из None, bzip2, gzip, deflate, ZipDeflate, TarGzip или tar.

    Если выбрать ZipDeflate в качестве типа сжатия, сохраните имя ZIP-файла в виде папки в разделе "Дополнительные параметры" на вкладке "Источник ".

    • Сохраните имя ZIP-файла в виде папки: указывает, следует ли сохранять имя исходного ZIP-файла в виде структуры папок во время копирования.
      • Если этот флажок установлен (по умолчанию), служба записывает распакованные файлы в <specified file path>/<folder named as source zip file>/.
      • Если этот флажок снят, служба записывает распакованные файлы непосредственно в <specified file path>. Чтобы избежать непредвиденных ситуаций, убедитесь в том, что в разных исходных ZIP-файлах нет файлов с одинаковыми именами.

    Если выбрать TarGzip/tar в качестве типа сжатия, Показать имя файла сжатия как папку отображается в разделе "Дополнительные параметры" на вкладке "Источник".

    • Сохранение имени файла сжатия в виде папки: указывает, следует ли сохранять исходное сжатое имя файла в виде структуры папок во время копирования.
      • Если этот флажок установлен (по умолчанию), служба записывает распакованные файлы в <specified file path>/<folder named as source compressed file>/.
      • Если этот флажок снят, служба записывает распакованные файлы непосредственно в <specified file path>. Чтобы избежать непредвиденных ситуаций, убедитесь в том, что в разных исходных файлах нет файлов с одинаковыми именами.
  • Уровень сжатия: коэффициент сжатия. Вы можете выбрать один из самых быстрых или оптимальных вариантов.

    • Самый быстрый: операция сжатия должна выполняться как можно быстрее, даже если результирующий файл не является оптимальным сжатием.

    • Optimal: операция сжатия должна выполняться оптимально, даже если для ее завершения требуется больше времени. Дополнительные сведения см. в статье «Уровень сжатия».

  • Кодировка: укажите тип кодирования, используемый для чтения тестовых файлов. Выберите один тип из раскрывающегося списка. Значение по умолчанию — UTF-8.

Формат JSON в качестве назначения

После выбора Настройки в диалоговом окне настроек формата файла отображаются следующие свойства.

Снимок экрана, показывающий место назначения формата JSON-файла.

  • Тип сжатия: выберите кодек сжатия, используемый для записи JSON-файлов в раскрывающемся списке. Вы можете выбрать из None, bzip2, gzip, deflate, ZipDeflate, TarGzip или tar.

  • Уровень сжатия: коэффициент сжатия. Вы можете выбрать вариант "Оптимальный " или "Быстрый".

    • Самый быстрый: операция сжатия должна выполняться как можно быстрее, даже если результирующий файл не является оптимальным сжатием.

    • Optimal: операция сжатия должна выполняться оптимально, даже если для ее завершения требуется больше времени. Дополнительные сведения см. в статье «Уровень сжатия».

  • Кодировка: укажите тип кодирования, используемый для записи тестовых файлов. Выберите один тип из раскрывающегося списка. Значение по умолчанию — UTF-8.

В разделе "Дополнительные параметры" на вкладке "Назначение " отображаются следующие свойства формата JSON.

  • Шаблон файла: укажите шаблон данных, хранящихся в каждом JSON-файле. Допустимые значения: набор объектов (строки JSON) и массив объектов. Значение по умолчанию — "Набор объектов". Подробные сведения об этих шаблонах см. в разделе Шаблоны файлов JSON.

Шаблоны файлов JSON

При копировании данных из файлов JSON действие копирования может автоматически определять и анализировать указанные ниже шаблоны файлов JSON. При записи данных в JSON-файлы можно настроить шаблон файла в месте назначения действия копирования.

  • Тип 1: setOfObjects

    Каждый файл содержит один объект, строки JSON или сцепленные объекты.

    • Пример единого объекта JSON

      {
          "time": "2015-04-29T07:12:20.9100000Z",
          "callingimsi": "466920403025604",
          "callingnum1": "678948008",
          "callingnum2": "567834760",
          "switch1": "China",
          "switch2": "Germany"
      }
      
    • Строки JSON (по умолчанию для назначения)

      {"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"}
      
    • Пример объединенного JSON-файла

      {
          "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"
      }
      
  • Тип 2: arrayOfObjects

    Каждый файл содержит массив объектов.

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

Сводка таблицы

JSON в качестве источника

При использовании формата JSON поддерживаются следующие свойства в разделе источника действия копирования.

Имя Описание Значение Обязательное поле Свойство скрипта JSON
Формат файлов Формат файла, который требуется использовать. JSON Да тип (под datasetSettings):
Json
Тип сжатия Кодек сжатия, используемый для чтения JSON-файлов. Выберите из:
Не допускается
bzip2
gzip
сжимать
ZipDeflate
TarGzip
tar
Нет тип (под compression):

bzip2
gzip
сжатие (deflate)
ZipDeflate
TarGzip
tar
Уровень сжатия Коэффициент сжатия. Самая быстрая
Оптимальный
Нет уровень (под compression):
Самый быстрый
Оптимально
Кодирование Тип кодирования, используемый для чтения тестовых файлов. UTF-8 (по умолчанию), "UTF-8 без 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" Нет имя кодировки
Сохранение имени ZIP-файла в качестве папки Указывает, следует ли сохранять имя исходного ZIP-файла в виде структуры папок во время копирования. Выбранный (по умолчанию) или не выбран Нет сохранитьИмяАрхиваВкачествеПапки
(под compressionProperties->type в качестве ZipDeflateReadSettings):
true (по умолчанию) или false
Сохранение имени файла сжатия в виде папки Указывает, следует ли сохранять исходное сжатое имя файла в виде структуры папок во время копирования. Выбранный (по умолчанию) или не выбран Нет сохранитьИмяФайлаПриСжатииКакПапку
(под compressionProperties->type как TarGZipReadSettings или TarReadSettings):
true (по умолчанию) или false

JSON в качестве назначения

Следующие свойства поддерживаются в разделе назначения действия копирования при использовании формата JSON.

Имя Описание Значение Обязательное поле Свойство скрипта JSON
Формат файлов Формат файла, который требуется использовать. JSON Да тип (под datasetSettings):
Json
Тип сжатия Кодек сжатия, используемый для записи JSON-файлов. Выберите из:
Не допускается
bzip2
gzip
сжимать
ZipDeflate
TarGzip
tar
Нет тип (под compression):

bzip2
gzip
сжатие (deflate)
ZipDeflate
TarGzip
tar
Уровень сжатия Коэффициент сжатия. Самая быстрая
Оптимальный
Нет уровень (под compression):
Самый быстрый
Оптимально
Кодирование Тип кодирования, используемый для записи тестовых файлов. UTF-8 (по умолчанию), "UTF-8 без 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" Нет имя кодировки
Шаблон файла Укажите шаблон данных, хранящихся в каждом JSON-файле. Набор объектов
Массив объектов
Нет filePattern:
setOfObjects
массив объектов