0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HULFT Squareからファイルをバイナリデータで取得可能なAPIマネジメントを構築してみた

Last updated at Posted at 2025-07-30

はじめに

今回はHULFT SquareのAPIマネジメントの機能を使って、HULFT Square上のファイルをAPIで送信する仕組みを構築します。前回の記事ではAPIでHULFT Square外からHULFT Square上へREST APIでファイルを送りましたが、今回は逆にHULFT Square上のファイルを要求するAPIをコールし、ファイルを受領します。前回と同じく、REST APIのコールに直接ファイルを乗せることはできないため、バイナリ化したファイルをREST APIとして受領します。これによってHULFT Squareと連携している様々なシステムから受領したファイルをRESTでさらに別システムへと連携することが可能になります。

スクリプト作成

早速スクリプトを作成します。今回は下記のようなXMLデータでバイナリファイルを送信します。<body>にバイナリ化されたデータが格納されて送信されるとします。

sample.xml
<list>
        <row>
            <filename>[適当なファイル名]</filename>
            <data>[バイナリ化したファイルデータ]</data>
        </row>
</list>

まずは、これをスキーマへ登録します。

image.png

次にスクリプトを作成し、スクリプト変数を作成します。今回は「XML」と「変換パス」という名前で下記のスクリプト変数を作成しました。

「必須設定」タブ
名前:XML
変数型:XML型
スクリプト出力変数として使用する:

{82BCCD3F-71A2-4F35-ABA7-855745B81400}.png

「必須設定」タブ
名前:変換パス
変数型:文字列型
スクリプト入力変数として使用する:

{13525968-1861-48AE-BB7C-C82B1576C1C6}.png

次にツールパレットの「ファイル」-「ファイルシステム」から「ファイルシステム読み取り」というアイコンを配置します。こちらのアイコンでは指定されたディレクトリ内のファイルをバイナリデータへ変換することが可能です。また今回はコールしたREST APIのパラメータで対象となるディレクトリを選択するというユースケースで行います。

「必須設定」タブ
ディレクトリ:[作成した「変換パス」を利用してディレクトリを設定します]
データモード:データ
再帰的:false

次に「ファイルシステム読み込み」のアイコンから「End」へプロセスフローとデータフローを引き、mapinngを追加します。「End」アイコンへデータフローを引くことで、「スクリプト出力変数」としている「XML」がmapping内に表示されます。また「Start」から「ファイルシステム読み込み」へのプロセスフローも引きます。下記のようなフローになれば正しいです。

{2BD41C62-90AF-4E8B-AD23-02C4383EFABD}.png

次は作成されたmappingを開き、出力データにある「XML」を右クリック、「リソースからスキーマを読み込む」を選択、先ほど作成したスキーマを読み込みます。下記のようにmappingの線を引いていきます。
・「filesystem_read」の「row」からXMLの「row」
・「filesystem_read」の「name」からXMLの「filename」
・「filesystem_read」の「data」からXMLの「data」

{A0610AEE-277E-43D4-B456-156ABF3A5E51}.png

これでスクリプトは完成ですので、スクリプトを保存してください。

APIマネジメントの設定

APIプロジェクト

まずはAPIプロジェクトを作成します。APIプロジェクト画面から「追加」を押下します。
「名前」、「基本パス」に任意の英数字を、適当な「ワークスペース」を設定します。

{811CCB82-9AC0-4C2C-AA5A-8B51C8A5EE75}.png

次に作成したAPIプロジェクトにリソースを追加します。

注意
APIプロジェクトにリソースを追加する前に、先ほど保存したスクリプトがマネジメント画面に反映されるように、一度「Ctrl + F5」でブラウザをリフレッシュしてください。

リソースボタンを押下します。

{464F2102-FAA3-44E4-AB6D-9FAFAE80F415}.png

今回はリソースとして「fileget」を追加します。「fileget」と入力し「+」を押下します。

image.png

作成した「/fileget」の三点リーダから「HTTPメソッドの追加」-「get」を押下し、下記設定を実施します。

実行スクリプト
プロジェクト:[先ほど作成したプロジェクト]
バージョン:[最新のバージョン]
スクリプト:[先ほど作成したスクリプト]

リクエスト設定
リクエストヘッダー:pass-変換パス

{0EA3EA27-0D25-49F1-9740-81BB36DF94A5}.png

レスポンス設定
レスポンス本文:変数-XML-XML

{EC868919-FF44-42C1-9C82-7C7878BB3686}.png

APIクライアント

次にAPIクライアントを作成します。APIクライアント画面で「APIクライアントを作成」を押下します。

プロジェクト:[適当な名前を付けてください]
バージョン:[アクセス可能なメンバーを設定してください]
スクリプト:[コール可能なIPアドレス制限を実施する場合は設定ください]

{FEAF78EB-184C-4503-AA91-86127FCDBE35}.png

REST APIジョブ

最後にREST APIジョブを作成します。

全般
ワークスペース:[適当なワークスペース]
APIプロジェクト:[先ほど作成したAPIプロジェクト]
APIプロジェクトバージョン:[最新のバージョン]
プロファイル:[適当なプロファイル]

API設定
APIクライアント:[先ほど作成したAPIクライアント]

スクリプト実行のためのサービス
スクリプト実行のためのサービス:[任意のIntegrateサービス]

{1F513445-4949-436C-80C0-80C2694437CB}.png

{2BE1953D-EEFD-4A6F-B530-BCC02C6B720A}.png

{8DD028F1-3AA1-41C3-9A20-10E4768429EC}.png

作成しましたら、作成したREST APIジョブの三点リーダから「情報」を押下した画面下にある、作成したリソースのURLをコピーしておきます。

Postmanからコールしてみる

Postmanへアクセスし、先ほどのURLに対してGETでコールするように設定します。
「ヘッダー」にはHULFT SquareへアクセスするためのBearer認証のアクセストークンを設定します。アクセストークンはHULFT Squareのマネジメント画面右上、「個人設定」-「アクセストークン」の画面で取得することが可能です。

{D4586513-20E3-4FF4-A7B7-307CD2672434}.png

{B72C2A22-AE22-4DF3-A4A1-002D12137017}.png

これを下記形式で、「ヘッダー」に追加します。
キー:値 Authorization:Bearer [取得したアクセストークン]
またファイルパスもヘッダーに指定します
キー:値 pass:[ファイルパス]

{81A03F94-AD9C-4738-8A4E-B63F64A2605D}.png

設定ができましたらPostmanから「送信」します。問題なく「200 OK」が返ってきました。
{7AF29718-C562-4167-83A7-127AF17C5868}.png

「レスポンスを保存」を押下し、戻ってきたレスポンスを確認します。

{73EB54F2-58B0-46A0-B47E-8F61086EF615}.png

ファイル名とバイナリ化したファイルを取得することができました。

最後に

いかがでしたでしょうか。今回はHULFT SquareのAPIマネジメント機能を使って、HULFT Square上のファイルをAPIで送信する仕組みを構築しました。これによってHULFT Squareと連携している様々なシステムから、受領したファイルをRESTでさらに別システムへと連携することができるようになり、活用の幅を広げていただけるのではないかと考えています。
HULFT Squareについて知りたい方はこちら

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?