HTTP-REST プラグインは、REST エンドポイントへの要求の実行に使用できる 2 種類の REST ホスト、すなわち一時的なホストと永続的なホストをサポートします。

永続的なホストと一時的なホストの違い

次の表は、2 種類の REST ホストを比較したものです。
永続的なホスト 一時的なホスト
vRealize Orchestrator データベースに保存されます。 vRealize Orchestrator データベースに保存されません。

一時的なホストは、スクリプトの実行中にメモリに常駐する仮想オブジェクトです。

vRealize Orchestrator インベントリに保存されます。

永続的なホストは、RESTHost タイプのフォーム ドロップダウン メニューに表示することもできます。

vRealize Orchestrator インベントリに保存されません。
再起動、フェイルオーバー、およびアップグレード後に使用できます。

ワークフロー トークンが中断されると、ワークフロー アイテムが永続的な REST ホストを入力として使用する場合は、中断したところから続行できます。

ワークフロー アイテムの入力/出力として永続的なホストを使用します。これらは、スクリプトの開始時に作成し、不要になった場合は削除できます。

再起動およびフェイルオーバー後は使用できません。

ワークフローが中断されると、一時的な REST ホストを含むワークフロー アイテム入力をリストアできません。

他の目的では使用しないサーバに対して隔離された要求を実行する場合は、スクリプトに一時的なホストを使用します。

リソース要素としてエクスポートおよびインポートできます。 完全にスクリプトから作成および管理されるため、さまざまな vRealize Orchestrator インスタンス間で転送できます。

永続的なホストを移行する必要がない複数の環境で作業する場合は、一時的なホストを使用します。

各永続的なホストには、エンドポイントへの要求を管理するための専用の HTTP クライアントがあります。 ホストは同じ HTTP クライアント インスタンスを再利用します。
永続的なホストと一時的なホストで並列要求がサポートされます。
  • 並列要求を有効にすると、各要求は個別のコンテキストで実行され、Cookie を含む状態は要求間で保持されません。
  • 並列要求のサポートが無効になっている場合、連続する要求は同じ HTTP コンテキストを共有します。

一時的なホストに関する考慮事項

一時的なホストを作成する場合は、次の点を考慮してください。
  • ワークフロー アイテム間で入力/出力として渡される一時的なホストが、一部のケースで動作しない場合があります。一時的なホストは、たとえば、非同期ワークフローが開始されたときに動作しないワークフロー キャッシュに依存します。ネストされたワークフローも失敗することがあります。
  • GET および HEAD 要求のみが自動的にリダイレクトされます。URL リダイレクトでは、default の戦略が使用されます。
  • ホスト名の検証はサポートされていません。
  • クライアント証明書の認証はサポートされていません。

トラブルシューティング

並列要求をサポートしない一時的なホストを使用している場合、vRealize Orchestrator 環境をアップグレードするか、HTTP-REST プラグインをバージョン 2.4.1.19272162 以降にアップグレードした後に スクリプトの回帰が発生することがあります。vRealize Orchestrator 8.7 の時点では、異なる一時的なホスト インスタンスを使用して Cookie に対して相互に依存する要求を実行することはサポートされていません。

この問題を回避するには、次のいずれかの方法を使用します。
  1. 一時的なホストの代わりに、永続的なホストおよび操作を使用します。永続的な REST ホストは、次のいずれかの方法で作成できます。
    1. [REST ホストの追加] ワークフローを使用して、サーバを参照する REST ホストを作成します。
      一時的なホストを使用する代わりに、要求を作成する必要があるすべての場所で REST ホストを入力として使用します。
      • このホストを参照する一時的な操作は作成しないでください。代わりに通常の操作を作成します。
      • 並列要求のサポートを無効にする必要があります。無効にしないと、Cookie は保持されません。

      ワークフローでこのホストと並行して複数の要求を行う場合、この方法は推奨されません。

    2. スクリプトからワークフロー実行ごとに REST ホストを作成し、削除します。
      サーバに対して並列要求を行う場合は、この方法を使用します。たとえば、2 つの並列要求がある場合は、2 つの異なるホストを作成します。
      1. ワークフローのクローンを作成します。
      2. 将来の要求で使用するためのホストを作成するスクリプト要素を追加します。
      3. このホストをワークフローの出力およびそのホストに要求を行うその他のすべてのスクリプトへの入力として使用します。
      4. 状態をクリーンアップするには、作成したホストを削除する要素をスクリプトの最後に追加します。
  2. 特定のワークフロー内のすべての依存要求に対して 1 つの一時的なホストを使用し、必要に応じてワークフロー アイテム間で入力/出力として渡します。

    複数のワークフロー要素間での一時的なホストの受け渡しは公式にはサポートされていませんが、動作すると想定されています。再起動中にワークフローの状態が失われ、ワークフローが正常に再開されない場合があることに注意してください。

    一時的なホストを使用していて、Cookie に対して相互に依存する要求を行う場合は、すべての要求に対して同じ一時的なホスト インスタンスを使用する必要があります。要求が複数のワークフロー アイテムにまたがる場合は、最初のワークフロー アイテムにホストを作成し、残りのアイテムに入力として渡します。

  3. 現在の一時的なホストを使用しますが、失敗した要求を変更し、それぞれのヘッダーを追加して必要な Cookie を含めます。

    前の応答の Cookie を解析し、後続の要求で使用する必要がある場合があります。