コンテンツにスキップ

RESTリクエスト ステップは、REST API を呼び出し、レスポンスをターゲットテーブルまたはワークフロー変数に出力します。従来の REST 系ステップを、Postman 方式の 1 つのステップに統合したものです。エンドポイント(手動、Postman、OpenAPI/Swagger、HAR)を選択し、ヘッダー、クエリ、本文を編集して、テストリクエストを送信し、保存します。

詳しい手順については、RESTリクエストステップのガイドを参照してください。

編集中、ブラウザーはステップのローカル下書きを保持します。保存せずに閉じたり再読み込みしたりした場合、ステップを開き直すと、保存されていない下書きを復元するかどうかを確認するメッセージが表示されます。

  • エンドポイントソース — Manual、From the connection's API definition、Postman collection (file/URL)、OpenAPI / Swagger (URL/file)、HAR archive (file) のいずれかです。カタログをロード を使用して、インポートしたソースのエンドポイントを一覧表示します。エンドポイントを 1 つ選択すると、そのメソッド、URL、ヘッダー、クエリパラメーター、本文が入力されます。リクエストを編集済みの場合は、先に確認が表示されます。3 つのファイルソースでは 貼り付け… も使用でき、ファイルを選択する代わりに、コレクションや仕様を直接指定できます。
  • 接続 (任意) — 認証とベース URL に使用する REST 接続です。省略すると、完全な URL を直接呼び出します。選択ボックスの横にある編集ショートカットで、選択した接続のエディターを開いて内容を確認または編集できます。
  • メソッド — GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS です。
  • エンドポイント — パス(接続を使用する場合)または完全な URL です。
  • ヘッダー / クエリパラメーター — オン/オフを切り替えられる、名前と値の行です。
  • 本文 — リクエストのペイロード(JSON、フォーム、または未加工)です。
  • テストリクエストを送信 / curlとしてコピー / curlからインポート — リクエストを送信してレスポンスをその場で確認します。同等の curl コマンドをコピーします(シークレットはマスクされます)。または、curl コマンドを貼り付けて、メソッド、URL、ヘッダー、本文を入力します。
  • 送信 — One request(デフォルト)、またはドライバーテーブルに対してリクエストを展開する One request per table row です。

テストリクエストの送信が成功する前に、送信リクエストの変更を保存しようとすると、確認が表示されます。展開モードでは、行1のテスト が成功すると、この警告が解除されます。

送信 が One request per table row の場合は、テーブル選択ツールで選択するか名前を入力して ドライバーテーブル を指定し、エンドポイント、クエリ、ヘッダー、本文で {{row.column}} トークンを使用して、各行の値を置換します。エンドポイントと本文の変数挿入メニューには、選択したドライバーテーブルの列が含まれます。次の項目は任意です。ドライバーフィルター(SQL の WHERE 句)、キー列(各出力行に引き継がれます)、行数の上限、同時実行数、最大リクエスト数/秒(同時実行数とは関係なく、すべてのワーカーでリクエストを開始する速度の上限です。小数を指定できるため、0.5 は 2 秒に 1 回リクエストを送信します。0 は制限なしです。1000 を超える値は警告とともに 1000 に制限されます)、Add Idempotency-Key header(再実行で二重に作成されないよう、Paging なしの単一の POST/PUT/PATCH で、行ごとに固定の Idempotency-Key を送信します。それ以外の場合は警告とともにスキップされます)、Continue on error(失敗した行を記録して警告し、中止しません)、そして レスポンス(デフォルトは Parsed records です。Text (one row per request) は各レスポンスを DownloadData 列と DownloadHeaders 列を持つ行として書き込みます。Raw text, errors as rows は、サーバーが送信したままの本文で同様に書き込み、DownloadStatus 列を追加して、HTTP エラーまたはトランスポートエラーも行として保持します。本文、ヘッダー、エラーテキストの認証情報はマスクされます)です。行1のテスト は、最初のドライバー行に対してリクエストを送信するので、実行前に展開結果をプレビューできます。展開はターゲットテーブルに書き込み、変数に取り込むことはできません。

レスポンス を Text (one row per request) にすると、さらに 2 つの展開オプションが適用されます。

  • レスポンス本文 — As returned(デフォルト)、HTML ページのマークアップの代わりに表示テキストを DownloadData に書き込む Visible page text、ファイルなどのバイナリのレスポンスについて、本文のバイトをサーバーが送信したとおりに base64 エンコードして書き込む Raw bytes (Base64) のいずれかです。
  • レスポンスが一致する間ポーリングを続ける — ジョブが完了するまで「処理中」と応答する API に使用します。レスポンスパス(レスポンス全体を表す $ に、.name、[0]、['name']、["name"] を続けたもの)、演算子(==、!=、<、<=、>、>=)、および型付きの値(Text、Number、True/False、Empty)を指定します。各行のリクエストは、レスポンスが一致している間、N seconds ごと(1~600、デフォルトは 5)に、最大 M requests per row(1~1000、デフォルトは 60)まで再送信されます。最後のリクエストの後も一致している行は失敗します。

列に base64 テキストとして保存されたファイルや音声などのバイナリコンテンツを送信するには、本文は base64 テキスト: デコードしたバイトを送信する(body_base64)をオンにします。テーブルの行ごとに 1 つのリクエストを送信する場合、{{row.column}} トークンが置換された後の本文が base64 テキストとして読み取られ、デコードされたバイトが送信されます。

テキスト応答のオプション と ログイン、プロキシ、TLS のセクションには、次のフィールドがあります。変換された KNIME ワークフローでも使用されます。

テーブルの行ごとに 1 つのリクエストを送信し、レスポンス を Text (one row per request) にした場合:

  • 各応答の HTTP ステータスを DownloadStatus 列として追加する(include_status)— 各応答の HTTP ステータスを DownloadStatus 列として追加します。ステータス列(status_column)を設定すると、代わりにその名前の列になり、列も追加されます。
  • 失敗したリクエストの行を DownloadStatus と DownloadError 付きで保持する(keep_error_rows)— 失敗したリクエストの行が保持され、本文は欠損し、DownloadStatus と DownloadError が入力されます。
  • 失敗したリクエストの行を保持(keep_failed_rows)— HTTP 400 以上で応答したリクエストの行は、ステータス、レスポンスヘッダー、DownloadError のエラー本文とともに保持されます。応答がなかったリクエストは、キー列のみが保持されます。Continue on error がオフの場合、失敗するとステップは停止します。応答ステータスでステップを失敗させる(fail_on_status)には、ステップを失敗させるステータスの系列(5xx など)を列挙します。それ以外の系列の応答は行として保持されます。
  • document (AI アシスタントまたは REST API で設定) — 各レスポンスを、このドキュメントフォルダー({account, path, file_name})にファイルとして保存します。file_name のデフォルトは URL の最後のセグメントです。行には、本文の代わりに FilePath が入ります。
  • 本文を Web ページ ドキュメントとして書き込む(html_document)— 各本文を、正規化された HTML ドキュメント(html)またはその XML 形式(xml)として書き込みます。相対的な href と src の値を絶対値にする(html_absolute_urls、デフォルトは true)は、相対的な href と src の値を、リクエスト URL を基準とした絶対値にします。
  • 最初に成功した応答で本文列の型を決める(typed_body)— 最初に成功した応答で本文列の型を決めます。Content-Type に応じて、JSON、テキスト、バイナリになります。後続の応答が別の種類の場合、解析できない JSON、空の本文は欠損になります。
  • 応答ヘッダーごとに列を追加(all_headers)— 応答ヘッダーごとにテキスト列を、ステータス列の後ろに追加します。応答が送信しなかったヘッダーは欠損になります。
  • 応答の Cookie を追加 (DownloadCookies)(cookies)— 各応答の Cookie である DownloadCookies を追加します。

テーブルの行ごとに 1 つのリクエストを送信する場合:

  • URL が絶対 http(s) URL でない行をスキップ(skip_invalid_urls)— URL が絶対 HTTP または HTTPS URL でない行は、リクエストを送信せず、行も書き込みません。行の URL が絶対 http(s) URL でない場合にステップを失敗させる(fail_invalid_urls)は、そのような行がある場合に代わりにステップを失敗させます。
  • 行の値が NULL のヘッダーは送信しない(skip_null_headers)— {{row.column}} の値が NULL のヘッダーは送信されません。ヘッダーの行の値が NULL の場合にステップを失敗させる(fail_null_headers)は、代わりにステップを失敗させます。
  • SOAP 操作(soap)— エンドポイントが指定する WSDL の操作を、行ごとに 1 回呼び出します。service、port、operation(空白の場合はそれぞれ最初のもの)、各パラメーターを列または定数に対応付ける inputs、列として書き込むレスポンス要素を指定する outputs(空の場合は、リーフ要素ごとに 1 列)、レスポンス要素を XML として追加する xml を指定します。WSDL とサービスのアドレスは、公開された HTTP または HTTPS URL である必要があります。

すべてのリクエストに共通:

  • HTTP Digest チャレンジに応答(digest_auth)— 接続の Basic 認証のユーザー名とパスワードで、HTTP Digest チャレンジに応答します。NTLM チャレンジに応答(ntlm_auth)は、同様に NTLM チャレンジに応答します。ドメインを指定するには、ユーザー名を DOMAIN\user の形式で入力します。
  • proxy — HTTP または SOCKS プロキシ経由でリクエストを送信します。プロキシ プロトコル(protocol: http、https、socks、socks4、socks5)、プロキシ ホスト(host)、プロキシ ポート(port)、直接送信するホスト(excluded のホストパターン)、プロキシ ユーザー名(username)で設定します。パスワードは接続の proxy_password で、接続の proxy_host がこのホストである場合にのみ使用されます。

ワークフロー変数への {{name}} 参照({{var.name}} / {{project_var.name}} も使用可能)は、実行時にエンドポイント、ヘッダー、クエリの値、本文で置換されます。置換されるのは二重の波括弧のみなので、JSON 本文の中の単一の波括弧はそのまま残ります。センサー/Webhook による実行では、{{trigger_sensor_id}}、{{trigger_sensor_type}}、{{trigger_fired_at}}、{{trigger_payload_json}} も使用できます(トリガーによらない実行では空です)。

エディターは、エンドポイント、ヘッダーとクエリのテーブル、本文エディターで検出された {{...}} トークンをハイライト表示します。

リトライ は冪等なメソッド(GET/HEAD/OPTIONS/DELETE)にのみ適用されます。POST/PUT/PATCH は常に 1 回だけ送信されるため、冪等でない本文が再送信されることはありません。リトライ には 0~100 を指定できます。タイムアウト(秒) はリクエストごとの制限で、1~600 秒です。テストリクエストは最長 300 秒待機します。カタログフィルター、貼り付けとドロップ、JSON ツール、リクエストの警告、テスト結果については、RESTリクエストステップを参照してください。

  • テーブル (デフォルト) — レスポンスを解析して ターゲットテーブル に書き込みます(必須。テーブルのみで、ビューは使用できません)。設定項目: 行の形式(Object または Array。テーブルの行ごとに 1 つのリクエストを送信する場合は Object が必要です)、項目パス、ページングモード(No Paging、Offset Paging、Page Number Paging、Next Page URL Paging、Cursor Paging、Link Header Paging (RFC 5988))、モードパラメーター、モードパス、“Dump raw JSON instead of parsing rows”、リトライ、タイムアウト。テーブルデータの選択 タブでは、レスポンスのフィールドを列にマッピングします。ソースを検査 → Populate はライブのレスポンスからマッピングを入力しますが、接続が必要で、GET、HEAD、OPTIONS 以外のメソッドを送信する前に確認が表示されます。Summarize と Distinct は利用できません。
  • ワークフロー変数 — 1 つのリクエストを送信し、{prefix}_status、{prefix}_body、{prefix}_headers、{prefix}_elapsed_ms を設定します。変数プレフィックス は単純な識別子である必要があり、cloud、project、model、date のいずれかにはできません。
  • 変数モードでは、ステップは 1 回のリクエストのみを行います。ページネーションと行の解析は適用されません。
  • 取り込まれた変数は、下流で名前によって参照します。例: {my_call_status}。