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 项,这表明没有更多的项目可供检索。