はじめに
こんにちは、すぎもんです。
HULFT10 for Container Services では WebAPI リクエストの発行に対応したことにより、外部サービスとシームレスに連携が可能となりました。
今回はそんな HULFT10 for Container Services のジョブ起動情報を使って、配信成功時に HULFT Square のサービスが実行される方法についてご紹介します。
HULFT10 for Container Services について紹介している、下記の記事とウェブサイトもあわせてご覧ください。
■ HULFT10 製品紹介ページ
■ HULFT10 for Container Services (コンテナ版HULFT)の環境構築をしてみた
■ HULFT10 for Container ServicesでWebAPI による配信要求をしてみた
■ HULFT10 for Container Services で Amazon EFS内の実ファイルを確認してみる
今回やること
最初に実行する為のサービスの作成とアクセストークンの発行を HULFT Square で行っていきます。
完了したら HULFT10 for Container Services で、ファイル転送処理の前後でWebAPIリクエストを発行するためのジョブ起動情報の作成を行います。
次に作成したジョブ起動情報を [正常時ジョブID] に追加する為、配信管理情報の編集を行います。
最後に配信要求を実施し、HULFT10 for Container Services と HULFT Square で実行結果の確認を行います。
それでは早速やってみましょう!
実施手順
<HULFT Square 側の設定>
① スクリプトの作成(過去記事)
② APIプロジェクトの作成(過去記事)
③ APIクライアントの作成(過去記事)
④ REST APIジョブの作成(過去記事)
⑤ アクセストークンの発行
<HULFT10 for Container Services 側の設定>
① ジョブ起動情報の作成
② 配信管理情報の編集
③ 配信要求の実行
<実行結果の確認>
① HULFT10 for Container Services の配信履歴の確認
② HULFT Square のログの確認
HULFT Square 側の設定
先ずは HULFT Square でサービスの作成と、アクセストークンの発行を行う必要があります。
①~④ サービスの作成
下記の記事とマニュアルを参考にサービスの作成を行ってください。
Bearer認証でREST APIジョブのエンドポイントを呼び出してみよう
https://www.hulft.com/help/ja-jp/HULFTSquare/Content/TOP/Tutorial/tutorial_Bearer.htm
HULFT Square で作成したサービスを Web APIとして公開して、外部サーバから HTTPリクエストで実行してみた
https://qiita.com/sugimon/items/3d3e407381298ac18312
⑤ アクセストークンの発行
次にアクセストークンの発行を行っていきます。
[個人設定] > [アクセストークン] から 「アクセストークンを生成」 を押下します。
「アクセストークン」をコピーして控えておきます。
次に [ジョブ] > [REST APIジョブ] から自動生成された URL をコピーして控えておきます。
HULFT10 for Container Services 側の設定
続いて、先ほど HULFT Square で作成したサービスをジョブ起動情報として登録を行っていきます。
① ジョブ起動情報の作成
[ホーム] > [Main] > [管理情報] > [ジョブ起動情報] から新規作成ボタンを押下します。
[ジョブID] と [表示名] に任意の名前を入力します。設定値を明快にするため、今回は [ジョブID] と [表示名] の名称を統一しています。
[ジョブ] > [ステップ] 画面で以下の値を設定します。設定値を明快にするため、[ステップ] と前述の [ジョブID] の名称を統一しています。
項目名 | 設定内容 | 備考 |
---|---|---|
ステップ | csvread | 起動するジョブのステップ名称 |
URL | HULFT Squareで取得した URL を指定 |
APIエンドポイントのURLを 指定してAPI連携を行う |
「ステップ」は判別しやすくなるよう前述の「ジョブID」と名称を統一してます。
[メソッド] には「GET」を選択します。
[ヘッダー] に以下の値を設定し、[保存] を押下します。
項目名 | 設定内容 |
---|---|
ヘッダー名 | Authorization |
ヘッダー値 | Bearer AccessToken |
POINT
AccessToken には HULFT Square で発行したアクセストークンを入力します。
② 配信管理情報の編集
[ホーム] > [Main] > [管理情報] > [配信管理情報] から、ジョブ起動情報の登録を行うファイルIDの「LOOPBACK_ID」を選択します。
[ジョブ] > [正常時ジョブID] に先ほど作成したジョブ起動情報の「csvread」を指定し、[保存] を押下します。
③ 配信要求の実行
[要求発行] > [配信要求] を押下します。
[ファイルID] に先ほどジョブを登録したファイルIDを指定し、[配信要求を発行] を押下します。
[発行状況トースト] から配信要求の発行に成功したことを確認します。
実行結果の確認
① HULFT10 for Container Services の配信履歴の確認
[ホーム] > [Main] > [状況照会] > [配信履歴] から「LOOPBACK_ID」を選択します。
[ジョブステップ] のステータスが “200” であることから、正常に実行されたことがわかります。
ステータスは HULFT Square の「APIプロジェクト」で設定した値が反映されますが、デフォルトではスクリプトの実行が成功した場合、”200” が値として返ってきます。
設定の詳細については、下記のURLをご確認ください。
https://www.hulft.com/help/ja-jp/HULFTSquare/Content/HULFT_Square/HS_API/api_projects.htm
② HULFT Squareのログの確認
実際にスクリプトが実行されているか、HULFT Square 管理画面でも確認してみます。
[モニタリング] > [アプリケーション] > [HULFT Integrate] から実行履歴を選択します。
実行履歴の詳細から、作成した「csv_resd_script」のスクリプトが実行され、3行のデータが抽出できたことが確認できました。
[監査] > [REST APIジョブアクセスログ] からも成功したことが確認できます。
Appendix
コマンドプロンプトを起動し、curl コマンドで HULFT Square で作成したサービスを HTTPリクエストで実行してみます。
コマンドプロンプトで実行する際のコマンドの例
curl -k -i -X POST -c /tmp/cookie.txt -H “Authorization: Bearer AccessToken” URL
“AccessToken” には HULFT Square で発行したアクセストークンの値を指定します。
“URL” には HULFT Square で取得した GETメソッドの URL を指定します。
ご利用の環境によってオプション等のコマンドは変わります。
レスポンスコードの値が “200 (OK)” であることから、正常に実行されたことがわかります。
レスポンスコードの設定については、下記のマニュアルをご参照ください。
https://www.hulft.com/help/ja-jp/HULFTSquare/Content/HULFT_Square/HS_API/api_projects.htm
最後に
HULFT10 for Container Services のジョブ起動で HULFT Square のサービスを実行してみましたが、いかがでしたでしょうか。
外部サービスとシームレスに連携が可能となった HULFT10 for Container Services を皆様もぜひためしてみてください。
このブログでは、今後も様々なTopics記事や接続検証等、皆さんの役に立つような記事を投稿していきたいと思います!
ここまで読んでいただきありがとうございました。それでは、また!