CSV
格式
本部分将描述如何将响应数据另存为 CSV
格式。
层次结构
CSV
格式不支持层次结构,因此要表示具有层次结构的模型,CSV
中的属性名称通过点号 (.) 连接,用于分隔每个层次结构级别。
JSON 表示:
[
{
"Name": "Scan1",
"LastSuccessfulExecution": {
"CreatedAt": "2021-04-18T07:13:58Z",
"Status": "Ready",
}
},
{
"Name": "Scan2",
"LastSuccessfulExecution": {
"CreatedAt": "2021-04-17T20:53:40.33Z",
"Status": "Ready",
}
}
]
等效 CSV 表示:
Name,LastSuccessfulExecution.CreatedAt,LastSuccessfulExecution.Status,
Scan1,2021-04-18 07:13:58,Ready
Scan2,2021-04-17 20:53:40,Ready
数组
当前不支持数组属性。如果返回的模型包含“array”类型的属性,则当响应格式为 CSV
时,该属性将被省略。
日期和时间
CSV
响应中的日期和时间始终为 UTC。
属性顺序
- 如果响应包含所有属性但不包含 $select 参数,则示例 JSON 响应(在 swagger 中的相关函数中)将遵循属性顺序。
- 如果响应仅包含使用 $select 参数的选定属性(列),那么
CSV
中的列顺序将遵循这些属性在 $select 参数中的显示方式。 - 如果响应包含扩展属性(使用请求中的 $expand 参数),那么包含扩展属性的列将始终显示在其他列之前。
编码
CSV 响应正文的编码是 UTF-8,在响应的开头包含 BOM。
使用此编码时,如果响应存储在扩展名为 .CSV
的文件中,则可以从 Excel 打开该文件,并且该文件支持 Unicode 字符。
大型数据集
单个 API 调用返回的项数限制为 30,000 项。
如果请求的数据超过此限制,那么将仅返回前 30,000 项。
如果所需数据超过限制,则可以使用多个请求进行检索,每个请求最多检索 10,000 个项目。
这可以通过使用请求参数 $top
和 $skip
来完成。
$top
用于确定要检索的项数,限制为 10,000 项。
$skip
用于确定要跳过的项数。
例如,如果数据集包含 45,000 项,并且所有项都是必需的,那么可能使用下列五个请求:
$top=10000&$skip=
$top=10000&$skip=10000
$top=10000&$skip=20000
$top=10000&$skip=30000
$top=10000&$skip=40000
请注意,对于上一个请求,将仅返回 5,000 项,这表明没有更多的项目可供检索。