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

陣列

目前不支援陣列內容。如果傳回的模型包含類型為「陣列」的內容,則當回應格式為 CSV 時,將省略此內容。

日期與時間

CSV 回應中的日期和時間一律為 UTC。

內容的順序

  • 如果回應包含所有內容,且沒有 $select 參數,則範例 JSON 回應(在 swagger 的相關函數中)會遵循內容的順序。
  • 如果回應只包含使用 $select 參數的已選取內容(直欄),則 CSV 中的直欄順序將遵循內容在 $select 參數中的顯示方式。
  • 如果回應包含展開的內容(在要求中使用 $expand 參數),則包含展開內容的直欄一律會出現在其他直欄之前。

編碼

在回應開頭,CSV 回應主體的編碼是帶有 BOM 的 UTF-8。

使用此編碼時,如果回應儲存在副檔名為 .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 個項目,表示沒有要擷取的更多項目。