Формат JSON в фабрике данных в Microsoft Fabric
В этой статье описывается настройка формата JSON в конвейере данных фабрики данных в Microsoft Fabric.
Поддерживаемые возможности
Формат JSON поддерживается для следующих действий и соединителей в качестве источника и назначения.
Категория | Соединитель или действие |
---|---|
Поддерживаемый соединитель | Amazon S3 |
Совместимая с Amazon S3 | |
Хранилище BLOB-объектов Azure | |
Azure Data Lake Storage 1-го поколения | |
Azure Data Lake Storage 2-го поколения | |
Файлы Azure | |
Файловая система | |
FTP | |
Google Cloud Storage | |
HTTP | |
Lakehouse Files | |
Хранилище Oracle Cloud | |
SFTP | |
Поддерживаемая активность | действие Copy (источник или назначение) |
Действие поиска | |
Действие получения метаданных в Фабрике данных Azure | |
Действие удаления |
Формат 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>
. Чтобы избежать непредвиденных ситуаций, убедитесь в том, что в разных исходных файлах нет файлов с одинаковыми именами.
- Если этот флажок установлен (по умолчанию), служба записывает распакованные файлы
- Сохраните имя ZIP-файла в виде папки: указывает, следует ли сохранять имя исходного ZIP-файла в виде структуры папок во время копирования.
Уровень сжатия: коэффициент сжатия. Вы можете выбрать один из самых быстрых или оптимальных вариантов.
Самый быстрый: операция сжатия должна выполняться как можно быстрее, даже если результирующий файл не является оптимальным сжатием.
Optimal: операция сжатия должна выполняться оптимально, даже если для ее завершения требуется больше времени. Дополнительные сведения см. в статье уровня сжатия.
Кодировка: укажите тип кодирования, используемый для чтения тестовых файлов. Выберите один тип из раскрывающегося списка. Значение по умолчанию — UTF-8.
Формат 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 дёготь |
No | тип (под compression ): bzip2 gzip выкачивать ZipDeflate TarGzip tar |
Уровень сжатия | Коэффициент сжатия. | Самая быстрая Оптимальный |
No | уровень (под 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", "IBM437", "IBM500", "IBM737", "IBM737", "IBM775", "IBM850", "IBM852", "IBM855", "IBM857", "IBM860", "IBM861", "IBM863", "IBM864", "IBM865", "IBM865", "IBM865"869", "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-1255" 2", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255", "WINDOWS-1256", "WINDOWS-1257", "WINDOWS-1258" | Без | encodingName |
Сохранение имени ZIP-файла в качестве папки | Указывает, следует ли сохранять имя исходного ZIP-файла в виде структуры папок во время копирования. | Выбранный (по умолчанию) или отмена выбора | No | preserveZipFileNameAsFolder (под compressionProperties ->type как ZipDeflateReadSettings ):true (по умолчанию) или false |
Сохранение имени файла сжатия в виде папки | Указывает, следует ли сохранять исходное сжатое имя файла в виде структуры папок во время копирования. | Выбранный (по умолчанию) или отмена выбора | No | preserveCompressionFileNameAsFolder (под compressionProperties ->type как TarGZipReadSettings или TarReadSettings ):true (по умолчанию) или false |
JSON в качестве назначения
Следующие свойства поддерживаются в разделе назначения действия копирования при использовании формата JSON.
Имя | Описание | Значение | Обязательное поле | Свойство скрипта JSON |
---|---|---|---|---|
Формат файлов | Формат файла, который требуется использовать. | JSON | Да | тип (под datasetSettings ):Json |
Тип сжатия | Кодек сжатия, используемый для записи JSON-файлов. | Можно выбрать: Не допускается bzip2 gzip выкачивать ZipDeflate TarGzip дёготь |
No | тип (под compression ): bzip2 gzip выкачивать ZipDeflate TarGzip tar |
Уровень сжатия | Коэффициент сжатия. | Самая быстрая Оптимальный |
No | уровень (под 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", "IBM437", "IBM500", "IBM737", "IBM737", "IBM775", "IBM850", "IBM852", "IBM855", "IBM857", "IBM860", "IBM861", "IBM863", "IBM864", "IBM865", "IBM865", "IBM865"869", "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-1255" 2", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255", "WINDOWS-1256", "WINDOWS-1257", "WINDOWS-1258" | Без | encodingName |
Шаблон файла | Шаблон данных, хранящихся в каждом JSON-файле. | Набор объектов Массив объектов |
No | filePattern: setOfObjects arrayOfObjects |