Skip to main content
ONTAP tools for VMware vSphere 10.2
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

開始使用REST API

貢獻者

您可以快速開始使用適用於 VMware vSphere REST API 的 ONTAP 工具。存取API可在您開始使用API之前、先提供一些觀點、讓您在即時設定中使用更複雜的工作流程程序。

您好:World

您可以在系統上執行簡單命令、開始使用適用於 VMware vSphere REST API 的 ONTAP 工具、並確認其可用度。

開始之前
  • 請確定系統上有Curl公用程式可用。

  • 適用於 VMware vSphere 伺服器的 ONTAP 工具 IP 位址或主機名稱

  • 擁有存取 VMware vSphere REST API ONTAP 工具權限的帳戶使用者名稱和密碼。

註 如果您的認證資料包含特殊字元、您必須根據您使用的Shell、以Curl可接受的方式來設定其格式。例如、您可以在每個特殊字元之前插入反斜槓、或將整個字元換行 username:password 單引號中的字串。
步驟

在命令列介面上執行下列命令、以擷取外掛程式資訊:

curl -X GET -u username:password -k "https://<ip_address>/api/hosts?fields=IncludePluginInfo"

範例:

curl -X GET -u admin:password -k "'https://10.225.87.97/api/hosts?fields=IncludePluginInfo"

如何存取適用於 VMware vSphere REST API 的 ONTAP 工具

您可以ONTAP 使用多種不同的方法來存取靜態API。

網路考量

您可以透過下列介面連線至REST API:

  • 叢集管理LIF

  • 節點管理 LIF

  • SVM管理LIF

您選擇使用的 LIF 應設定為支援 HTTPS 管理傳輸協定。此外、網路中的防火牆組態也應該允許 HTTPS 流量。

註 您應該永遠使用叢集管理 LIF 。這會在所有節點之間平衡 API 要求負載、避免發生離線或連線問題的節點。如果您設定了多個叢集管理階層的生命負載、這些都與存取 REST API 的權限相當。

控制API要求的輸入變數

您可以透過HTTP要求中設定的參數和變數來控制API呼叫的處理方式。

HTTP方法

ONTAP 工具支援的 VMware vSphere REST API HTTP 方法如下表所示。

註 並非所有的HTTP方法都可在每個REST端點上使用。
HTTP方法 說明

取得

擷取資源執行個體或集合上的物件屬性。

貼文

根據提供的輸入建立新的資源執行個體。

刪除

刪除現有的資源執行個體。

放入

修改現有的資源執行個體。

要求標頭

您應該在HTTP要求中包含多個標頭。

內容類型

如果要求本文包含JSON,則此標頭應設定為_application/json_。

接受

此標頭應設定為_application/json_。

授權

基本驗證應使用以 base64 字串編碼的使用者名稱和密碼進行設定。

申請本文

申請本文的內容會因特定通話而有所不同。HTTP要求本文包含下列其中一項:

  • 具有輸入變數的Json物件

  • 空白

篩選物件

發出使用Get的API呼叫時、您可以根據任何屬性來限制或篩選傳回的物件。例如、您可以指定要符合的確切值:

<field>=<query value>

除了完全相符的運算子、其他運算子也可傳回一系列值的一組物件。適用於 VMware vSphere REST API 的 ONTAP 工具支援下表所示的篩選運算子。

營運者 說明

=

等於

<

小於

>

大於

&l;=

小於或等於

>=

大於或等於

更新

不等於

*

貪婪的萬用字元

您也可以使用* null 關鍵字或其否定!null *做為查詢的一部分、根據是否設定特定欄位來傳回物件集合。

註 任何未設定的欄位通常都會排除在相符查詢之外。

要求特定物件欄位

根據預設、使用Get發出API呼叫時、只會傳回唯一識別物件的屬性。這組最小欄位可做為每個物件的金鑰、而且會根據物件類型而有所不同。您可以使用選取其他物件內容 fields 以下列方式查詢參數:

一般或標準欄位

指定*功能變數=*以擷取最常用的物件欄位。這些欄位通常會保留在本機伺服器記憶體中、或只需少量處理即可存取。使用Get搭配URL路徑金鑰(UUID)之後、傳回的物件內容相同。

所有欄位

指定*功能變數=***以擷取所有物件欄位、包括需要額外伺服器處理才能存取的欄位。

自訂欄位選擇

使用* field=<field_name>*來指定所需的確切欄位。要求多個欄位時、值應以無空格的逗號分隔。

重要 最佳實務做法是、務必找出您想要的特定欄位。您只能在需要時擷取一組通用欄位或所有欄位。哪些欄位被分類為一般欄位、並使用_Fields =*傳回、由NetApp根據內部效能分析來決定。欄位的分類可能會在未來的版本中變更。

排序輸出集中的物件

資源集合中的記錄會以物件定義的預設順序傳回。您可以使用變更訂單 order_by 查詢參數的欄位名稱和排序方向如下:

order_by=<field name> asc|desc

例如、您可以依遞增順序、以遞減順序排序類型欄位、然後依ID排序:

order_by=type desc, id asc

  • 如果您指定排序欄位但未提供方向、則會以遞增順序排序這些值。

  • 在包含多個參數時、您應以逗號分隔欄位。

擷取集合中的物件時分頁

當使用 Get 來存取同類型物件集合時、適用於 VMware vSphere 的 ONTAP 工具會根據兩個限制、嘗試傳回盡可能多的物件。您可以使用要求上的其他查詢參數來控制這些限制。針對特定Get要求所達成的第一個限制會終止要求、因此會限制傳回的記錄數目。

註 如果要求在重複所有物件之前結束、回應會包含擷取下一批記錄所需的連結。

限制物件數量

根據預設、 VMware vSphere 的 ONTAP 工具會針對 GET 要求傳回最多 10 、 000 個物件。您可以使用_mast_Records_query參數來變更此限制。例如:

max_records=20

根據相關的時間限制、以及系統中物件的總數、傳回的物件數量可以小於有效的上限。

限制擷取物件所用的時間

根據預設、 VMware vSphere 的 ONTAP 工具會在 GET 要求允許的時間內傳回盡可能多的物件。預設的逾時時間為15秒。您可以使用_reture_timeout_查詢參數來變更此限制。例如:

return_timeout=5

傳回的物件數目可能小於有效的上限、這取決於物件數量的相關限制、以及系統中的物件總數。

縮小結果集

如有需要、您可以將這兩個參數與其他查詢參數結合、以縮小結果集範圍。例如、下列項目最多會傳回指定時間之後產生的10個EMS事件:

time⇒ 2018-04-04T15:41:29.140265Z&max_records=10

您可以針對物件發出多個分頁要求。每次後續的API呼叫都應根據最後結果集中的最新事件、使用新的時間值。

大小屬性

某些API呼叫所使用的輸入值以及某些查詢參數均為數值。您可以選擇使用下表所示的字尾、而不是提供以位元組為單位的整數。

後置 說明

KB

KB千位元組(1024位元組)或Kibibibyte

MB

MB MB(KB x 1024位元組)或百萬位元組

GB

GB GB GB(MB x 1024位元組)或GB

TB

TB TB TB(GB x 1024字節)或TB字節

PB

PB PB PB(TB x 1024 bytes)或pibibbytes