質問
HULFT SquareのREST APIのGETを使用して、AWS S3上にあるファイルをREST API実行元のローカルPCのディレクトリーに取得するには、どのようにスクリプトを組めばよいですか?
回答
HULFT SquareのS3コネクターとREST APIを使用して、AWS S3上のファイルをファイル形式のままローカルPCへ取得する方法はありません。
代替策として、以下の手順で実現できる可能性があります。
1. S3からファイルを取得する
- [S3ファイル一覧取得]を配置し、[プロパティ] - [必須設定]を設定してファイルを取得する
2. 取得したファイルをBase64形式に変換する
- スクリプト変数(文字列形式)を[スクリプト入力変数として使用する]・[スクリプト出力変数として使用する]にチェックを入れて作成する
- [ファイルシステム読み取り処理]を配置し、[プロパティ]を以下のように設定する
- [ディレクトリー]:取得したファイルが格納されているディレクトリー
- [データモード]:データ
- [再帰的]:false
- Mappingを開き、[ファイルシステム読み取り処理]の[data]から作成したスクリプト変数にリンクさせる
3. REST APIジョブでレスポンスボディを設定する
- [スクリプト変数(XML型)]を[スクリプト入力変数として使用する]・[スクリプト出力変数として使用する]にチェックを入れて作成する
- [スクリプト変数(文字型)]を同様に作成し、[初期値]に手順2で取得した値を設定する
- スキーマを作成する(例:{"object":"string"})
- デザイナーでMappingを配置し、作成したスキーマを読み込ませる
- 以下のようにマッピングを行う
- [(root下の)type]:[単一行文字列定数]ロジックに「object」と入力してリンクさせる
- [response]:スクリプト変数(文字型)とリンクさせる
- [(response下の)type]:[単一行文字列定数]ロジックに「string」と入力してリンクさせる
4. REST APIジョブを設定する
- [スクリプト]:手順3で設定したスクリプトを指定する
- [レスポンス設定] - [レスポンス本文]を以下のように設定する
- [本文タイプ]:変数
- [コンテンツタイプ]:JSON
- [本文]:手順3で設定したスクリプト変数(XML形式)
REST APIが成功するとレスポンスボディにファイルデータが返るため、実行元でデコードしてローカルPCのディレクトリーに保存することで実現できます。
補足
- レスポンスデータは10MB以内である必要がある
- HTTPリクエストを行うにはアクセストークンの設定が必要([メイン] > [個人設定] > [アクセストークン]から発行)
- アクセストークンのステータスが[期限切れ]の場合は[アクセストークンの更新]から更新できる
- スクリプトの作成はユーザー自身で行う
- 参考マニュアル:APIプロジェクト
- 参考マニュアル:REST APIジョブ
- 参考マニュアル:HTTP RESTリクエストを使用してスクリプトを実行してみよう
コメント
0件のコメント
記事コメントは受け付けていません。