Microsoft Fabric 数据工厂中的 JSON 格式
本文介绍了如何在 Microsoft Fabric 数据工厂的数据管道中配置 JSON 格式。
支持的功能
以下活动和连接器支持使用 JSON 格式作为源和目标。
复制活动中的 JSON 格式
若要配置 JSON 格式,请在数据管道复制活动的源或目标中选择连接,然后在“文件格式”下拉列表中选择“JSON”。 选择“设置”以进一步配置此格式。
JSON 格式作为源
在“文件格式”部分选择“设置”后,弹出的“文件格式设置”对话框中将显示以下属性。
压缩类型:在下拉列表中选择用于读取 JSON 文件的压缩编解码器。 可以选择“无”、“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 文件名。
压缩级别:压缩比。 可以选择“最快”或“最佳”。
最快:尽快完成压缩操作,不过,无法以最佳方式压缩生成的文件。
最佳:以最佳方式完成压缩操作,不过,需要耗费更长的时间。 有关详细信息,请转到压缩级别文章。
编码:指定用于读取测试文件的编码类型。 从下拉列表中选择一种类型。 默认值为 UTF-8。
JSON 格式作为目标
选择“设置”后,弹出的“文件格式设置”对话框中将显示以下属性。
压缩类型:在下拉列表中选择用于写入 JSON 文件的压缩编解码器。 可以选择“无”、“bzip2”、“gzip”、“deflate”、“ZipDeflate”、“TarGzip”或“tar”。
压缩级别:压缩比。 可以从“最佳”或“最快”中进行选择。
最快:尽快完成压缩操作,不过,无法以最佳方式压缩生成的文件。
最佳:以最佳方式完成压缩操作,不过,需要耗费更长的时间。 有关详细信息,请转到压缩级别文章。
编码:指定用于写入测试文件的编码类型。 从下拉列表中选择一种类型。 默认值为 UTF-8。
在“目标”选项卡中的“高级”设置下,将显示以下 JSON 格式相关属性。
- 文件模式:指定每个 JSON 文件中存储的数据的模式。 允许的值为:“对象集”(JSON 行)和“对象数组”。 默认值为“对象集”。 请参阅 JSON 文件模式部分,详细了解这些模式。
JSON 文件模式
从 JSON 文件复制数据时,复制活动可自动检测并分析以下 JSON 文件模式。 将数据写入 JSON 文件时,可以在复制活动目标上配置文件模式。
类型 I:setOfObjects
每个文件都包含单一对象、JSON Lines 或串联的对象。
单一对象 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" }
类型 II: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 deflate ZipDeflate TarGzip tar |
否 | 类型(在 compression 下):bzip2 gzip deflate ZipDeflate TarGzip tar |
压缩级别 | 压缩率。 | 最快 最佳 |
否 | 级别(在 compression 下):最快 最佳 |
编码 | 用于读取测试文件的编码类型。 | “UTF-8”(默认)、“不带 BOM 的 UTF-8”、“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” | 无 | encodingName |
将 zip 文件名保留为文件夹 | 指示是否在复制过程中以文件夹结构形式保留源 zip 文件名。 | 已选择(默认)或未选择 | 否 | preserveZipFileNameAsFolder (在 compressionProperties ->type 下为 ZipDeflateReadSettings ):true(默认)或 false |
将压缩文件名保留为文件夹 | 指示是否在复制过程中以文件夹结构形式保留源压缩文件名。 | 已选择(默认)或未选择 | 否 | preserveCompressionFileNameAsFolder (在 compressionProperties ->type 下为 TarGZipReadSettings 或 TarReadSettings ):true(默认)或 false |
JSON 作为目标
使用 JSON 格式时,复制活动“目标”部分支持以下属性。
名称 | 描述 | 值 | 必选 | JSON 脚本属性 |
---|---|---|---|---|
文件格式 | 要使用的文件格式。 | JSON | 是 | 类型(在 datasetSettings 下):Json |
压缩类型 | 用于写入 JSON 文件的压缩编解码器。 | 从下列项中进行选择: 无 bzip2 gzip deflate ZipDeflate TarGzip tar |
否 | 类型(在 compression 下):bzip2 gzip deflate ZipDeflate TarGzip tar |
压缩级别 | 压缩率。 | 最快 最佳 |
否 | 级别(在 compression 下):最快 最佳 |
编码 | 用于写入测试文件的编码类型。 | “UTF-8”(默认)、“不带 BOM 的 UTF-8”、“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” | 无 | encodingName |
文件模式 | 指示每个 JSON 文件中存储的数据模式。 | 对象集 对象数组 |
否 | filePattern: setOfObjects arrayOfObjects |