準備好使用工作流程
在將工作流程用於即時 ONTAP 部署之前、您應該先熟悉工作流程的結構和格式。
您應該確定 ONTAP 版本支援您計畫使用之工作流程中的所有 API 呼叫。請參閱 "API 參考" 以取得更多資訊。 |
簡介
工作流程_是完成特定管理工作或目標所需的一或多個步驟順序。ONTAP 工作流程包含您完成每項工作所需的核心步驟和參數。它們是自訂 ONTAP 自動化環境的起點。
ONTAP 工作流程中的每個步驟都是下列其中一種類型:
-
REST API呼叫(詳細資料如Curl和Json範例)
-
執行或叫用其他 ONTAP 工作流程
-
其他相關工作(例如做組態決策)
大部分的工作流程步驟都是 REST API 呼叫。這些步驟使用通用格式、其中包括捲髮範例和其他資訊。請參閱 "API 參考" 如需 REST API 呼叫的詳細資訊、請參閱。
工作流程只能包含一個步驟。這些單一步驟工作流程的格式與包含多個步驟的工作流程略有不同。例如、會移除明確的步驟名稱。應根據工作流程標題來清除行動或作業。
輸入變數
這些工作流程的設計儘可能通用、以便在任何 ONTAP 環境中使用。有鑑於此、 REST API 呼叫會在捲曲範例和其他輸入中使用變數。其餘 API 呼叫則可輕鬆地適應不同的 ONTAP 環境。
基礎 URL 格式
您可以透過 Curl 或程式設計語言直接存取 ONTAP REST API 。在這種情況下、基本 URL 與您在存取 ONTAP 線上文件或系統管理員時所使用的 URL 不同。
直接存取 API 時、您需要將 API 附加到網域或 IP 位址。例如:
請參閱 "如何存取ONTAP 靜態API" 以取得更多資訊。
通用輸入參數
大多數 REST API 呼叫通常會使用數個輸入參數。這些參數通常未在個別工作流程中說明。您應該熟悉這些參數。請參閱 "控制API要求的輸入變數" 以取得更多資訊。
如果特定 REST API 呼叫需要其他參數、則會包含在每個工作流程的捲曲範例 * 的 * 額外輸入參數一節中。
可變格式
工作流程範例所使用的 ID 值和其他變數是不透明的、可能會因每個 ONTAP 叢集而異。為了改善範例的可讀性、不使用實際值。而是使用變數。這種方法以一致的格式和一組保留名稱為基礎、有幾項優點:
-
Curl 和 JSON 樣本更容易閱讀、更容易理解。
-
因為所有關鍵字都使用相同的格式、所以您可以快速識別它們。
-
由於無法複製和重複使用這些值、因此沒有安全漏洞。
這些變數已格式化為用於 Bash Shell 環境。每個變數都以美元符號開頭、並視需要以雙引號括住。這讓 Bash 能夠辨識他們的能力。大寫字母會持續用於名稱。
以下是一些常見的變數關鍵字。此清單並非詳盡無遺、並視需要使用其他變數。其意義應根據背景而明確。
關鍵字 | 類型 | 說明 |
---|---|---|
$FQDN_IP |
URL |
ONTAP 管理 LIF 的完整網域名稱或 IP 位址。 |
$叢 集 ID |
路徑 |
UUIDv4 值可識別執行 API 作業的 ONTAP 叢集。 |
$basic_auth |
標頭 |
用於 HTTP 基本驗證的認證字串。 |
JSON 輸入範例
某些 REST API 呼叫(例如使用 POST 或修補程式的呼叫)需要在要求主體中輸入 JSON 。JSON 輸入範例與捲曲範例分開呈現、以供清楚說明。您可以將 JSON 輸入範例與下列其中一種技術搭配使用。
您可以將 JSON 輸入範例複製到檔案中、並將其儲存在本機上。Curl 命令是使用來參照檔案 --data
參數、其值會以 a 表示檔案名稱 @
前置碼:
首先、您需要將捲曲範例複製並貼到終端機殼層。然後編輯範例以完全移除 --data
最後的參數、並以取代 --data-raw
參數。最後、在 JSON 範例中複製並貼上、使其跟隨具有更新參數的 Curl 命令。您應該使用單引號來包裝 JSON 輸入範例。
驗證選項
REST API 可用的主要驗證技術是 HTTP 基本驗證。從 ONTAP 9.14 開始、您也可以選擇使用開放式授權( OAuth 2.0 )架構搭配權杖型驗證和授權。
HTTP 基本驗證
使用基本驗證時、每個 HTTP 要求都必須包含使用者認證。傳送認證有兩個選項。
您可以手動建構授權標頭、並將其納入 HTTP 要求中。這可以在 CLI 中使用 cURL 命令或使用自動化程式碼的程式設計語言時完成。高階步驟包括:
-
將使用者和密碼值與冒號串連在一起:
admin:david123
-
將整個字串轉換為 base64 :
YWRtaW46ZGF2aWQxMjM=
-
建構要求標頭:
Authorization: Basic YWRtaW46ZGF2aWQxMjM=
工作流程捲曲範例包括此標頭及變數 $basic_AUTH 、您必須先更新才能使用。
使用 Curl 時的另一個選項是移除授權標頭、改用 Curl * user* 參數。例如:
--user username:password
您必須為環境替換適當的認證。認證並未在 base64 中編碼。使用此參數執行 cURL 命令時、會編碼字串、並為您產生授權標頭。
OAuth 2.0
使用 OAuth 2.0 時、您需要向外部授權伺服器要求存取權杖、並將其納入每個 HTTP 要求中。基本的高階步驟如下所述。另請參閱 "ONTAP OAuth 2.0 實作總覽" 如需 OAuth 2.0 及如何搭配 ONTAP 使用的詳細資訊、請參閱。
在使用 REST API 存取 ONTAP 之前、您需要準備和設定 ONTAP 環境。在較高層級、步驟包括:
-
識別 ONTAP 保護的資源和用戶端
-
檢閱現有的 ONTAP REST 角色和使用者定義
-
安裝及設定授權伺服器
-
設計及設定用戶端授權定義
-
設定 ONTAP 並啟用 OAuth 2.0
透過 ONTAP 和授權伺服器的定義和作用中、您可以使用 OAuth 2.0 權杖進行 REST API 呼叫。第一步是向授權伺服器要求存取權杖。這是在 ONTAP 以外使用多種不同技術的伺服器上進行的。ONTAP 不會發出存取權杖或執行重新導向。
取得存取權杖之後、您可以建構授權標頭、並將其納入 HTTP 要求中。無論您是使用 Curl 或程式設計語言來存取 REST API 、每個用戶端要求都必須包含標頭。您可以如下建構標頭:
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSld …
使用範例搭配 Bash
如果您直接使用工作流程捲曲範例、則必須使用適合您環境的值來更新這些範例所包含的變數。您可以手動編輯範例、或仰賴 Bash Shell 執行以下所述的替代作業。
使用 Bash 的優點之一是、您可以在 Shell 工作階段中一次設定變數值、而非每個 Curl 命令一次。 |
-
開啟 Linux 或類似作業系統隨附的 Bash Shell 。
-
設定您要執行的捲髮範例所包含的變數值。例如:
CLUSTER_ID=ce559b75-4145-11ee-b51a-005056aee9fb
-
從工作流程頁面複製捲曲範例、然後貼到 Shell 終端機。
-
按下 enter 執行下列動作:
-
請取代您設定的變數值
-
執行 curl 命令
-