HTTP-REST 外掛程式支援下列兩種類型的 REST 主機,您可以使用這兩種主機向 REST 端點發出要求 - 持續性主機和暫時性主機。

持續性主機和暫時性主機之間的差異

下表比較了這兩種類型的 REST 主機。
持續性主機 暫時性主機
儲存在 Automation Orchestrator 資料庫中。 未儲存在 Automation Orchestrator 資料庫中。

暫時性主機是執行指令碼時位於記憶體中的虛擬物件。

儲存在 Automation Orchestrator 詳細目錄中。

也可以在 RESTHost 類型的表單下拉式功能表中檢視持續性主機。

未儲存在 Automation Orchestrator 詳細目錄中。
重新啟動、容錯移轉和升級後可用。

當工作流程 Token 中斷時,如果工作流程項目以持續性 REST 主機作為輸入,它可以從中斷的位置繼續。

使用持續性主機作為工作流程項目的輸入/輸出。您可以在指令碼開始時建立它們,並在不再需要時將其刪除。

重新啟動和容錯移轉後,就無法使用。

當工作流程中斷時,無法還原承載暫時性 REST 主機的工作流程項目輸入。

對不使用的伺服器發出隔離要求時,應在指令碼中使用暫時性主機。

可以當成資源元素來匯出和匯入。 可在不同的 Automation Orchestrator 執行個體之間傳輸,因為它們完全是透過指令碼來建立及管理。

當您在多個環境中工作,且無需移轉持續性主機時,應使用暫時性主機。

每個持續性主機都有一個專用 HTTP 用戶端,用來管理對端點的要求。 主機會重複使用相同的 HTTP 用戶端執行個體。
持續性主機和暫時性主機支援並行要求。
  • 如果啟用並行要求,將使用個別的內容來執行每一項要求,且不會在要求之間保留狀態 (包括 Cookie)。
  • 如果停用並行要求支援,連續要求會共用相同的 HTTP 內容。

暫時性主機的考量事項

建立暫時性主機時,請考慮以下事項。
  • 在工作流程項目之間以輸入/輸出形式傳遞的暫時性主機,可能無法在所有情況下都能正常運作。暫時性主機依賴於工作流程快取,例如,當非同步工作流程啟動時,工作流程快取不會起作用。巢狀工作流程也可能會失敗。
  • 只有 GETHEAD 要求會自動重新導向。URL 重新導向使用 default 策略。
  • 不支援主機名稱驗證。
  • 不支援用戶端憑證驗證。

疑難排解

如果您使用不支援並行要求的暫時性主機,則在升級 Automation Orchestrator 環境或將 HTTP-REST 外掛程式升級至 2.4.1.19272162 版或更新版本之後,可能會遇到指令碼迴歸問題。不支援使用不同的暫時性主機執行個體來執行要求 (對於 Cookie,這些要求彼此相依)。

若要避免出現此問題,請使用以下方法之一。
  1. 不要使用暫時性主機,而使用持續性主機和作業。您可以採取兩種方式之一,來建立持續性 REST 主機。
    1. 使用新增 REST 主機工作流程,來建立指向伺服器的 REST 主機。
      不要使用暫時性主機,而在需要向其建立要求的任何位置,使用 REST 主機作為輸入。
      • 不要建立指向此主機的暫時性作業。改為建立一般作業。
      • 必須停用並行要求支援,否則不會保留 Cookie。

      如果在工作流程中向此主機同時發出多項要求,則不建議使用此方法。

    2. 從指令碼中,針對每一次的工作流程執行,各建立一個 REST 主機,然後將其刪除。
      如果向伺服器發出並行要求,請使用此方法。例如,如果您有兩項並行要求,請建立兩個不同的主機。
      1. 複製工作流程。
      2. 新增指令碼元素,以建立您想用於未來要求的主機。
      3. 將主機用作工作流程的輸出,並作為向該主機發出要求的所有其他指令碼的輸入。
      4. 若要清除狀態,請在指令碼尾端新增一個元素,以刪除您建立的主機。
  2. 對給定工作流程中的所有相關要求使用一個暫時性主機,並視需要作為輸入/輸出,在工作流程項目之間進行傳遞。

    雖未正式支援在多個工作流程元素之間傳遞暫時性主機,但預期這樣做是可行的。請注意,在重新啟動期間,工作流程狀態可能會遺失,且工作流程可能無法順利繼續。

    如果使用暫時性主機,且希望針對 Cookie 發出彼此相依的要求,則必須在所有要求中使用相同的暫時性主機執行個體。如果要求跨越多個工作流程項目,請在第一個工作流程項目中建立主機,然後將其作為輸入傳遞給其餘的工作流程項目。

  3. 使用目前的暫時性主機,但藉由新增個別的標頭,以修改失敗的要求來包含必要的 Cookie。

    您可能必須解析先前回應中的 Cookie,並在後續要求中使用它們。