質問
REST APIジョブに対して送信するリクエストに、multipart-form形式でファイルを添付することでHULFT Squareのストレージにファイルを送信したいのですが、どのように設定すればよいでしょうか。
回答
例として、REST APIジョブに対して外部アプリの「Postman」からファイルを送信する実装をご案内します。
処理概要
送られてきたmultipart-formのデータをスクリプト入力変数に代入し、ジョブで実行するスクリプト内でこのデータからストレージにファイル書き込みを行います。
処理手順
- スクリプトにて、文字列型のスクリプト入力変数を2つ用意します(バイナリデータ格納用、ファイル名格納用)。
- スクリプトにて[マッピング]と[ファイルシステム書き込み]コンポーネントを配置します。
マッピングでは、バイナリデータの入ったスクリプト変数を[data]、ファイル名の入ったスクリプト変数を[name]にそれぞれマッピングします。
また、[単一行文字列定数]ロジックで「file」という文字列を[file]に、出力先のファイルパス(ファイル名まで)を[path]にマッピングします。
※入力のファイル名をそのまま使用したい場合には、[連結]ロジックでファイルパスと結合させたものをマッピングするなどしてください。 - APIプロジェクトを設定します。
[実行スクリプト]には、上記で作成したスクリプトを指定します。
[リクエスト設定]には、以下のように設定します。
コンテンツタイプ マルチパート/フォームデータ パラメータ名 (任意の値を設定) スクリプト変数 (ファイルデータを格納するスクリプト変数) タイプ ファイル スクリプト変数 (ファイル名を格納するスクリプト変数) - 上記APIプロジェクトからREST APIジョブを作成します。
- Postmanからリクエストを投げる際、リクエストボディにてmultipart-form形式でファイルを添付します。
- REST APIジョブにリクエストを送信し、ファイルがHULFT Squareストレージ上に作成されたことを確認します。
補足
REST APIジョブにおけるマルチパート/フォームデータは、4MB以内のファイルのアップロードにのみ対応しています。
また、添付するデータによっては、Base64エンコードしたデータがセキュリティ上検知しているパターンとみなされ送付できない場合があります。
コメント
0件のコメント
記事コメントは受け付けていません。