はじめに!
本記事では "ゆる~く" HULFT Squareのご紹介をします。
HULFT Squareについてはこちらの公式HPへ。
API公開機能(APIマネジメント)についてはこちらのQiitaが分かり易いです。
以下内容はご参考となりますので、実際にご検証、マニュアルのご参照をお願い致します。
きっかけ
とあるお客様から・・・
HULFT SquareへAPI経由でファイルを送り、データベースまで連携できる?と
ご質問を頂きました。
HULFT Squareには作成したプロジェクト(処理)をAPIとして
公開する機能(APIマネジメント)があります。
この機能を使い、周辺システムがAPIをコールしたらデータベースまで
連携して欲しいとのこと。
APIマネジメントを活用したいというお声を頂くことが多いので記事にしてみました~
ざっくりこんなイメージです。
こんな感じで作っていく
1.プロジェクト(ETL処理)の作成
※上図②,③のイメージ
ファイルデータをHULFT Sqaureのストレージへ書き込み、
データベースへ連携する処理はここで作る。
2.APIプロジェクト(特定のHTTPメソッドが来たらどのプロジェクトを動かすか)の作成
※上図①のイメージ
この部分でファイルデータとファイル名を変数(スクリプト変数)に格納。
3.APIクライアント(接続制御設定)の作成
※どのユーザのトークンを使用してリクエストが可能か、IPフィルタの設定。
4.APIジョブの設定
※手順2,3を指定します。この設定をするとAPIエンドポイントが作られる。
1.プロジェクトの作成
この様にスクリプト変数も作成しています。
「ファイル名_string」はAPIに添付しているファイル名を格納し、
「データ_binary」はファイルデータを格納します。格納設定はAPIプロジェクトの作成で。
「現在日時_yyyyMMdd」はファイル名の前に処理実行時の名前を付けるのに使用します。
青枠内で赤枠内で出力したストレージのファイルを読み込みデータベースに書き込みます。
データ格納(mapping処理)では以下の様にファイルシステム書き込みに対して値を代入しています。
上図右側のストレージ格納(ファイルシステム書き込み)へ代入する値はこちらの公式マニュアルをご覧ください。
今回は上記のmapping内で現在日時を取得し、スクリプト変数(現在日時_yyyyMMdd)に格納した値をファイル名に使用しています。
その他のコンポーネント(アイコン)処理は今回は割愛します。
ご質問ありましたら本記事にご質問ください~
2.APIプロジェクトの作成
ファイルをAPIに添付するので
リクエスト本文のコンテンツタイプは「マルチパート/フォームデータ」を指定。
パラメータ名はAPIクライアント側でも使いますので任意の値。
最初のスクリプト変数にはデータ部(今回はファイル)を格納するスクリプト変数を指定。
テキストかファイルを選べますので今回は「ファイル」を選択。
最後のスクリプト変数にはファイル名を格納するスクリプト変数を指定。
レスポンス本文はお好きに!
3.APIクライアントの作成
前述の通り接続制御の設定、平たくいうと(?)セキュリティの設定です。
アクセスキーについて
HULFT Squareではユーザ毎にアクセスキーを発行できます。
ユーザ毎のアクセスキーを使用してAPIリクエストを送信しますので、
APIクライアントではユーザを指定します。
4.APIジョブの作成
さてやっとここまできました。
最後に「2.APIプロジェクトの作成」と「3.APIクライアントの作成」で作成した設定をジョブとして指定します。
こんな感じ。
さいごに
実際にAPIから実行している動画もつけようかと思いましたが力尽きましたので
Postmanからコールして動かします。
こんな感じ!!
HSQ API file to DB pic.twitter.com/ARAtc8WmBj
— さんまの塩焼き (@sanmashioy4ki) April 12, 2024
以上!