Web リクエストの送信の追加および構成

ArcGIS Online    |    |  

Web リクエストの送信ステップでは、REST エンドポイントにリクエストを送信してデータを取得したり、更新情報を投稿したりすることができます。 REST エンドポイントのレスポンスをカスタム出力値として構成し、ファイルとして保存して、ジョブに添付することができます。 カスタム出力値は、後続の REST 呼び出しのトークンの取得やワークフロー パスの指示に使用したり、他のステップの入力値として使用したりすることができます。

ステップが実行されると、ステップで定義された REST エンドポイントに Web リクエストが送信されます。

ステップは、[ステップの完了] Complete Step をクリックすることで完了できます。

ステップの構成

ステップを構成するには、次の手順に従います。

注意:

セキュリティの脆弱性を低減するには、信頼できる Web ページや Web アプリに対してのみ Web リクエストの送信ステップを構成してください。

  1. ワークフロー ダイアグラムを作成または編集し、[ステップ ライブラリ] パネルにアクセスします。
  2. [Web リクエストの送信][ステップのライブラリ] パネルからワークフロー キャンバス上のステップの接続矢印にドラッグします。

    [ステップの詳細] パネルが表示されます。

  3. [ステップ名] テキスト ボックスにステップの名前を入力します。
  4. [引数] セクションで [編集] をクリックします。
  5. [URL] ドロップダウン矢印をクリックし、リクエスト メソッドを選択します。
  6. [URL] テキスト ボックスに REST エンドポイントの URL を入力します。
  7. 必要に応じて、次の構文を使用して URL にパス変数を追加します。
    https://yourorg.maps.arcgis.com/apps/workflowmanager/:pathVariable/

    パス変数が [パス変数] セクションに表示されます。

  8. 必要に応じ、Web リクエストにクエリ パラメーターを追加します。
    1. [クエリ パラメーター] セクションで [キーと値の追加] をクリックします。
    2. [キー] テキスト ボックスにキーを入力します。

      Arcadeを使用して動的な値を入力することもできます。

    3. [値] テキスト ボックスに値を入力します。

      Arcadeを使用して動的な値を入力することもできます。

    4. [有効] チェックボックスはオンのままにしておきます。
    5. キー値ペアをさらに追加するには、これらのサブステップを繰り返します。
  9. URL にパス変数を追加した場合は、[パス変数] セクションで各変数の値を入力します。

    ArcGIS Arcadeを使用して動的な値を入力することもできます。

    ヒント:

    [この入力は Arcade 式をサポートします] This input supports Arcade expressions をクリックし、Arcadeを選択して関連するテキスト ボックスに追加します。

  10. [認証] タブをクリックします。
  11. REST エンドポイントの認証方法を選択し、必要に応じて認証情報を入力します。
    注意:

    ステップで入力する認証情報は暗号化されません。 情報を安全に格納するには、動的なジョブ プロパティを使用してステップ内で参照可能な暗号化されたユーザー定義設定を追加します。

    注意:

    [フェデレーション トークン] オプションを使用すると、ステップを実行するユーザーとして Web リクエストを承認できます。 [フェデレーション トークン] オプションは、Workflow Manager ユーザーがアクセスできるサービスとのみ互換性があります。

  12. [API キー] または [ベアラー トークン] オプションを選択した場合は、必要に応じて、[または、エンドポイントからトークンを生成する] をクリックします。

    [エンドポイントからのトークンの生成] ダイアログ ボックスが表示されます。 トークン設定を構成して、Web リクエストのトークンを生成します。

  13. 必要に応じて、[ヘッダー] タブをクリックし、カスタム ヘッダーのキー値ペアを Web リクエストに追加します。
    1. [カスタム ヘッダー] セクションで [キーと値の追加] をクリックします。
    2. [キー] テキスト ボックスにキーを入力します。

      Arcadeを使用して動的な値を入力することもできます。

    3. [値] テキスト ボックスに値を入力します。

      Arcadeを使用して動的な値を入力することもできます。

    4. [有効] チェックボックスはオンのままにしておきます。
    5. キー値ペアをさらに追加するには、これらのサブステップを繰り返します。
  14. 必要に応じて、[本文] タブをクリックして、Web リクエストにデータを追加します。

    リクエストの本文は、フォーム データのキー値ペア、URL エンコードされたキー値ペア、および JSON 形式またはプレーン テキスト形式の未加工データをサポートしています。

    ヒント:

    また、ArcGIS Arcade 式を使用して、ユーザー定義設定を取得したり、本文テキストに動的な値を入力したりすることもできます。

  15. 必要に応じて、ArcGIS Workflow Manager Advanced 組織エクステンションのライセンスが付与されている場合は、ステップの出力設定を構成することができます。
  16. 必要に応じて [テスト] タブをクリックし、[応答のテスト] をクリックして、構成済みのリクエストを送信し、その応答を表示します。

    Web リクエストにジョブ固有の Arcade 条件式が含まれている場合、[ジョブ ID を含める] をオンにし、[ジョブ ID] テキスト ボックスにジョブ ID を入力して、リクエストの書式を適切に設定する必要があります。

  17. 必要に応じて、ArcGIS Workflow Manager Advanced 組織エクステンションのライセンスが付与されている場合は、高度な設定を構成することができます。
  18. [保存] をクリックして、[Web リクエストの構成] ダイアログ ボックスを閉じます。
  19. [オプション] タブをクリックします。
  20. 必要に応じて、[ステップ オプション] を構成します。
    • [手動] - 手動でステップを実行します。
      • [オプション] - ステップを実行しないで終了できるようにします。
    • [自動] - アクティブになり次第、ステップを実行します。
      注意:

      ワークフロー ダイアグラムがジオプロセシング サービスの実行ステップを含む一連のステップを自動的に実行するように構成されている場合、ユーザー トークンの有効期限が切れた後に実行を試みるステップは、自動的に実行されません。 手動操作なしで、追加の自動ステップを続行するには、ArcGIS Workflow Manager Advanced 組織エクステンションが必要です。

    • [スケジュールに沿って実行] - 設定したスケジュールに従ってステップを実行します。

      スケジュール オプションの詳細

  21. 必要に応じて、次のオプションのいずれかを選択して、ステップでヘルプを構成します。
    • [なし] - ステップ ヘルプなしでステップを構成します。
    • [テキスト] - [テキスト] テキストボックスで、ステップのヘルプ テキストを構成します。

      ArcGIS Arcadeを使用して、ステップ ヘルプの動的な値を入力できます。 ステップ ヘルプにプレーン テキストと Arcade 式が含まれている場合は、テキストを次のように書式設定します。

      
      'For further assistance, please contact' + JobCreator($Job) + '.'

    • [URL] - [URL] テキストボックスで、ステップにヘルプ リソースへのリンクを構成します。
      注意:

      Web アプリで実行されるステップでは、HTTP、HTTPS URL 形式のみがサポートされます。 ArcGIS Pro で実行されるステップでは、HTTP、HTTPS、ファイル形式がサポートされます。

      Arcadeを使用して動的な値を入力することもできます。 URL にプレーン テキストと Arcade 式が含まれている場合は、テキストを次のように書式設定します。

      
      'https://pro.arcgis.com/en/pro-app/latest/tool-reference/' + JobExtendedProperty($Job, 'tools', 'toolbox') + '/' + jobExtendedProperty($job, 'tools', 'alias') + '.htm'

      [Arcade の結果を自動的にエンコード] チェックボックスを次のように構成します。

      • URL に変換するときにエスケープする必要がある特殊文字 (スペースやフォワード スラッシュなど) を Arcade 式が返す場合、[Arcade の結果を自動的にエンコード] チェックボックスを必ずオンにしてください。
      • ベース URL を構成するために Arcade 式が使用される場合、[Arcade の結果を自動的にエンコード] チェックボックスをオフにします。

  22. 必要に応じて、[スタイル] タブをクリックし、ステップの形状と色を変更します。
  23. 必要に応じて、[情報] タブをクリックし、[ステップの説明] テキストボックスにステップの説明を入力します。
    ヒント:

    [情報] タブには、ステップの出力を取得するために動的なジョブ プロパティで使用できるステップ ID も含まれています。 ステップ ID をクリップボードにコピーするには、[ステップ ID をコピー] Copy Step ID をクリックします。

トークン設定の構成

Web リクエストの送信先の REST エンドポイントに認証用のトークンが必要な場合、次の手順を実行して、認証用のトークンを生成するよう Web リクエストの送信ステップを構成します。

  1. [URL] ドロップダウン矢印をクリックし、送信するリクエストのタイプを選択します。
  2. [URL] テキスト ボックスに REST エンドポイントの URL を入力します。
  3. 必要に応じて、次の構文を使用して URL にパス変数を追加します。
    https://yourorg.maps.arcgis.com/apps/workflowmanager/:pathVariable/

    パス変数が [パス変数] セクションに表示されます。

  4. 必要に応じ、Web リクエストにクエリ パラメーターを追加します。
    1. [クエリ パラメーター] セクションで [キーと値の追加] をクリックします。
    2. [キー] テキスト ボックスにキーを入力します。

      Arcadeを使用して動的な値を入力することもできます。

    3. [値] テキスト ボックスに値を入力します。

      Arcadeを使用して動的な値を入力することもできます。

    4. [有効] チェックボックスはオンのままにしておきます。
    5. キー値ペアをさらに追加するには、これらのサブステップを繰り返します。
  5. URL にパス変数を追加した場合は、[パス変数] セクションで各変数の値を入力します。

    ArcGIS Arcadeを使用して動的な値を入力することもできます。

    ヒント:

    [この入力は Arcade 式をサポートします] This input supports Arcade expressions をクリックし、Arcadeを選択して関連するテキスト ボックスに追加します。

  6. 必要に応じて、[ヘッダー] タブをクリックし、カスタム ヘッダーのキー値ペアを Web リクエストに追加します。
    1. [カスタム ヘッダー] セクションで [キーと値の追加] をクリックします。
    2. [キー] テキスト ボックスにキーを入力します。

      Arcadeを使用して動的な値を入力することもできます。

    3. [値] テキスト ボックスに値を入力します。

      Arcadeを使用して動的な値を入力することもできます。

    4. [有効] チェックボックスはオンのままにしておきます。
    5. キー値ペアをさらに追加するには、これらのサブステップを繰り返します。
  7. 必要に応じて、[本文] タブをクリックして、Web リクエストにデータを追加します。

    リクエストの本文は、フォーム データのキー値ペア、URL エンコードされたキー値ペア、および JSON 形式またはプレーン テキスト形式の未加工データをサポートしています。

    ヒント:

    また、Arcade 式を使用して、ユーザー定義設定を取得したり、本文テキストに動的な値を入力したりすることもできます。

  8. [トークン] タブをクリックします。
  9. [トークン] セクションで [モードのテスト] 切り替えボタンをオンにします。
  10. REST エンドポイントのレスポンスの例を [サンプル レスポンス] テキスト ボックスに貼り付けます。

    JSON 形式によるレスポンスの例:

    {
       "access_token":"12345abcde",
       "expires_in":7199,
       "spatialReference":{
          "wkid":4326,
          "latestWkid":4326
       },
       "location":[
          {
             "name":"380 New York Street",
             "extent":{
                "xmin":-117.196701,
                "ymin":34.055489
             }
          }
       ]
    }
  11. [出力値] テキスト ボックスにトークンの名前を入力します。

    これは、生成されたトークンを参照するステップで使用される名前です。

  12. 応答を解析し、生成されたトークンを返す JSONPath 式を [抽出パス] テキスト ボックスにドット記法またはブラケット記法で入力します。

    ドット記法による JSONPath の例:

    $.access_token

    ブラケット記法による JSONPath の例:

    $['access_token']

    値は [サンプル結果] 列に表示されます。

  13. [ステップの構成に戻る] をクリックして、ステップの構成を続行します。

出力設定の構成

ライセンス:

この機能には、ArcGIS Workflow Manager Advanced 組織エクステンションのライセンスが必要です。

REST エンドポイントのレスポンスをファイルとして保存し、ジョブに添付したり、カスタム出力値として構成したりすることができます。 出力値は、ワークフロー パスの指示に使用したり、他のステップの入力値として使用したりすることができます。 ステップに出力値が構成されていない場合は、HTTP ステータス コードがステップの出力値として格納されます。

ステップの出力設定を構成するには、次の手順を実行します。

  1. [Web リクエストの構成] ダイアログ ボックスで [出力] タブをクリックします。

    [Web リクエストの構成] ダイアログ ボックスが使用できない場合は、ワークフロー キャンバス上で [Web リクエストの送信] ステップをクリックし、[ステップの詳細] パネルの [引数] セクションで [編集] をクリックします。

  2. 必要に応じて、[レスポンスの添付] セクションの [有効] 切り替えボタンをオンにして、REST エンドポイントのレスポンスをファイルとして保存して、ジョブに添付します。
  3. 必要に応じて、添付ファイル名とレスポンスの格納先のフォルダーを構成します。
    1. 添付ファイルが格納されるフォルダーの名前を [フォルダー名] テキスト ボックスに入力します。

      フォルダー名にファイル システム パスまたは特殊文字を含めることはできません。 フォルダー名が入力されていない場合、General という名前のフォルダーが自動的に作成されます。

      注意:

      フォルダーは、ワークフロー アイテム内に含まれるため、ファイル システム パスではありません。

    2. 次の [添付ファイル名] オプションのうちの 1 つを選択します。
      • [自動生成] - 構文 (<StepName>_<RunDate>_<RunTime>) に従って、添付ファイル名を自動的に付与します。
      • [カスタム] - カスタムの添付ファイル名を入力できます。
  4. 必要に応じて、REST エンドポイントのレスポンスに対するカスタム出力値を構成します。
    1. [出力値] セクションの [モードのテスト] 切り替えボタンをオンにします。
    2. REST エンドポイントのレスポンスの例を [サンプル レスポンス] テキスト ボックスに貼り付けます。

      JSON 形式によるレスポンスの例:

      {
         "access_token":"12345abcde",
         "expires_in":7199,
         "spatialReference":{
            "wkid":4326,
            "latestWkid":4326
         },
         "location":[
            {
               "name":"380 New York Street",
               "extent":{
                  "xmin":-117.196701,
                  "ymin":34.055489
               }
            }
         ]
      }
    3. [出力とパスの追加] をクリックします。
    4. [出力値] テキスト ボックスに出力値の名前を入力します。

      これは、カスタム出力値の取得に使用される値の名前です。

    5. [抽出パス] テキスト ボックスに格納する値の JSONPath 式をドット記法またはブラケット記法で入力します。

      ドット記法による JSONPath の例:

      $.location.0.name

      ブラケット記法による JSONPath の例:

      $['location'][0]['name']

      値は [サンプル結果] 列に表示されます。

    6. 必要に応じて、サブステップ c ~ e を繰り返し、さらにカスタム出力値を追加します。
  5. [保存] をクリックして、[Web リクエストの構成] ダイアログ ボックスを閉じます。

高度な設定の構成

ライセンス:

この機能には、ArcGIS Workflow Manager Advanced 組織エクステンションのライセンスが必要です。

[高度な設定] タブでは、レスポンスが指定した条件を満たすまでリクエストを再試行するようにステップを構成できます。

リクエストを再試行するようにステップを構成するには、次の手順を実行します。

  1. [Web リクエストの構成] ダイアログ ボックスで [高度な設定] タブをクリックします。
  2. [条件が満たされるまで再試行します] 切り替えボタンをオンにします。
  3. [再試行の間隔] コンボ ボックスに再試行間の時間を秒単位で指定します。

    再試行間の最小時間は 5 秒です。

  4. [最大再試行回数] コンボ ボックスにリクエストを再試行する回数を指定します。

    最大再試行回数は 1,000 です。

  5. レスポンスが続行するために満たす必要のある条件を構成します。
    1. [モードのテスト] 切り替えボタンをオンにします。
    2. REST エンドポイントのレスポンスの例を [サンプル レスポンス] テキスト ボックスに貼り付けます。

      JSON 形式によるレスポンスの例:

      {
         "access_token":"12345abcde",
         "expires_in":7199,
         "spatialReference":{
            "wkid":4326,
            "latestWkid":4326
         },
         "location":[
            {
               "name":"380 New York Street",
               "extent":{
                  "xmin":-117.196701,
                  "ymin":34.055489
               }
            }
         ]
      }
    3. 必要に応じて、[変数の追加] をクリックし、Arcade 式で使用する変数を構成します。

      REST エンドポイントのレスポンスのステータス コードは、デフォルトで $statusCode に設定されます。 レスポンスから指定される値は、$arg1$arg2$arg3 などに設定されます。

    4. [抽出パス] テキスト ボックスに格納する値の JSONPath 式をドット記法またはブラケット記法で入力します。

      ドット記法による JSONPath の例:

      $.location.0.name

      ブラケット記法による JSONPath の例:

      $['location'][0]['name']

      値は [サンプル結果] 列に表示されます。

    5. 必要に応じて、サブステップ c ~ d を繰り返し、さらに変数を追加します。
    6. [Arcade 式] テキスト ボックスで、条件を定義する Arcade 式を入力します。
      ヒント:

      論理演算子を使用して、一連の条件を結合することができます。

      例:

      $statusCode != 400 && $arg1 == "esriJobSucceeded"
  6. [保存] をクリックして、[Web リクエストの構成] ダイアログ ボックスを閉じます。

戻り値

ステップが完了すると、その戻り値が格納され、ステップの結果を示します。 パスを使用して戻り値をすぐに評価し、ワークフロー内の次のステップを決定できます。 ArcGIS Arcade 式を使用して、ワークフロー全体を通じて完了したステップの戻り値を取得することもできます。 次の表は、ステップの戻り値を示しています。

戻り値説明

S000001

ステップが正常に完了しました。

F000001

ステップを正常に完了できませんでした。

出力値

ライセンス:

この機能には、ArcGIS Workflow Manager Advanced 組織エクステンションのライセンスが必要です。

ステップが完了すると、その出力値が格納され、ワークフローがたどるパスの決定に使用したり、ワークフロー全体で他のステップの入力値として使用したりできます。 次の表は、ステップの出力値を示しています。

出力説明

ステータス

ステップに出力値が構成されていない場合は、HTTP レスポンス コードを返します。

<CustomOutputValue>

ステップに構成したカスタム出力値を返します。

attachmentId

ステップに追加された添付ファイル ID の配列を返します。

関連トピック