開始使用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 |