
機能の概要
昨年、Amazon Simple Storage Service(以下、Amazon S3)と連携する機能をテーマに「【JP1/AJS3】Amazon S3のファイルをJP1で監視してみよう! 」のブログを執筆しました。この度、Microsoft Azure のサービスの1つである、Azure Blob Storage と連携が可能な機能が提供されたため、ご紹介します。
日立製作所から提供されている「Azureサービス連携ツール」を用いると、JP1/AJS3とAzure Blob Storage を連携させるカスタムジョブ(以下、BlobStorage連携ジョブ)が利用できます。BlobStorage連携ジョブを利用すると、Azure コマンド ライン インターフェイス(以下、Azure CLI)によるコマンド処理で、Azure BlobStorage 上の任意のコンテナー内のBLOB(ファイル)のダウンロード/アップロード、削除やコピーの他、作成/削除/更新を契機とするファイル監視を行えます。
そのため、例えば、JP1/AJS3 で Azure Blob Storage 上 の任意のコンテナー内に存在する特定のファイルが更新されるまで監視を行い、更新されたらエージェントホストにダウンロードを行うといった処理が可能です。

前提条件
大まかな条件は下記の通りです。
エージェントホストにて、Azure CLI 2.0 以降 を導入
JP1/AJS3 - Manager および JP1/AJS3 - Agent 12-00以降
JP1/AJS3 - View(ジョブを定義する側)環境:Microsoft .NET Framework 4.5 以降
エージェントホストから、Azure Blob Storage へアクセスできるよう、認証情報の設定を行う(※)
Azure CLIのバージョン2.61.0以降の場合、Azureサービス連携ツールではユーザーアカウント(USER)方式での認証をお使いいただけません。ユーザーアカウント(USER)方式以外の方法で利用してください。
(※)…az storage blob list コマンドを用いて、エージェントホストから対象のコンテナーに保存されているファイルが参照できることをご確認ください。 その他、前提条件の詳細につきましては貴社のJP1保守契約先にご確認ください。
BlobStorage連携ジョブの事前準備
本ブログでは、Windows 環境を前提にご紹介します。
ジョブ実行先ホストのセットアップ
1. Azureサービス連携ツールを入手
ご契約いただいている保守先から入手します。
アシストとご契約いただいているお客様は、ユーザーサイトから入手可能です。
詳細は弊社サポートセンターまでお問い合わせください。

2.Azureサービス連携ツール(ajsazフォルダ)を任意のパスに配置
例) "C:\Program Files (x86)\Hitachi\JP1AJS2\ajsaz"
※注意※
後述するカスタムジョブで指定する実行プログラムのパスになります
Windowsホストの場合は「%windir%\System32」配下以外に配置してください
共有ディスクやNFS以外のローカルディスクに配置してください

3. 「Azureサービス連携ツールのパス\log」の書き込み・読み込み権限を設定
4. Azure CLI 2.0 をインストール後の対応として、インストールしたサーバーで下記を実施
JP1/AJS3 - AgentもしくはJP1/AJS3 - Managerのサービスを再起動
5. Azure CLIコマンドが正常に動作するように、認証情報ファイルを用意
認証情報ファイルとは、Azure のサービスに接続するために使用する Azureの認証情報を記述した
ファイルです。このファイルを利用し、カスタムジョブ実行時にAzureのサービスに接続します。
認証ファイルは、利用する認証方式によって記載する必須項目が異なります。
認証方式の種類は下記の通りです。
認証方式 | ① | ② | ③ | ④ | ⑤ | ⑥ | ⑦ | ⑧ | |
ユーザーアカウント(USER) | ◯ | ◯ | ◯ | ✕ | ✕ | ✕ | ✕ | ✕ | |
サービスプリンシパル | パスワードベース(SVPP) | ◯ | ✕ | ✕ | ◯ | ◯ | ◯ | ✕ | ✕ |
証明書ベース(SVPA) | ◯ | ✕ | ✕ | ◯ | ✕ | ◯ | ◯ | ✕ | |
マネージドID | システム割り当て(MIDS) | ◯ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ |
ユーザー割り当て(MIDU) | ◯ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ◯ | |
(凡例)
◯:必須指定項目です
✕:指定できない項目です(指定しても無視します)
①~⑧の項目は、ファイル内に定義する必要のある項目を表しています。
①~⑧の具体的な項目は下記の通りです。
# | 記載形式 |
① | AuthenticationMethods=<認証方式><改行> |
② | UserName=<ユーザー名><改行> |
③ | UserPass=<パスワード><改行> |
④ | ServicePrincipalName=<サービスプリンシパル名><改行> |
⑤ | ServicePrincipaPass=<サービスプリンシパル名に対するパスワード><改行> |
⑥ | Tenantname=<テナント名><改行> |
⑦ | CAFile=<証明書のファイル名><改行> |
⑧ | Identity=<id><改行></id> |
① AuthenticationMethods=<認証方式><改行>
次のいずれかの認証方式を指定します。
USER:ユーザーアカウント方式
SVPP:サービスプリンシパル(パスワードベース)方式
SVPA:サービスプリンシパル(証明書ベース)方式
MIDS:マネージドID(システム割り当て)方式
MIDU:マネージドID(ユーザー割り当て)方式
② UserName=<ユーザー名><改行>
ユーザーアカウント方式で使用するユーザー名を指定してください。
③ UserPass=<パスワード><改行>
ユーザーアカウント方式で使用するパスワードを指定してください。
④ ServicePrincipalName=<サービスプリンシパル名><改行>
サービスプリンシパル(パスワードベース)方式またはサービスプリンシパル(証明書ベース)
方式で使用するサービスプリンシパル名を指定してください。
⑤ ServicePrincipalPass=<サービスプリンシパル名に対するパスワード><改行>
サービスプリンシパル(パスワードベース)方式で使用するパスワードを指定してください。
⑥ TenantName=<テナント名><改行>
サービスプリンシパル(パスワードベース)方式またはサービスプリンシパル(証明書ベース)
方式で使用するテナント名を指定してください。
⑦ CAFile=<証明書のファイル名><改行>
サービスプリンシパル(証明書ベース)方式で使用する証明書ファイル名を指定してください。
⑧ Identity=<id><改行></id>
マネージドID(ユーザー割り当て)方式で使用するクライアント ID、オブジェクト ID またはリソース IDを指定してください。
本ブログでご紹介する方法では、認証方式「ユーザーアカウント」を採用します。
この場合、①~③の項目を認証情報ファイルに指定します。
認証情報ファイルのモデルファイルを用いて、作成します。
モデルファイルの格納先は、下記の通りです。
Azureサービス連携ツールのパス\AZConf\ajsazjob_authinfo.conf.model
例)"C:\Program Files (x86)\Hitachi\JP1AJS2\ajsaz\AZConf\ajsazjob_authinfo.conf.model"
認証情報ファイルの記載例は下記の通りです。
AuthenticationMethods=USER
UserName=KKATEST@ashisuto.co.jp
UserPass=パスワードを記載します
JP1/AJS3 - View側のセットアップ
BlobStorage連携ジョブは、カスタムジョブです。
そのため、ユーザーがカスタムジョブを事前に作成する必要があります。
JP1/AJS3 - View を導入している端末で作業を行います。
1. Azureサービス連携ツールに含まれている、ajsazdefフォルダを任意のパスに配置
※注意※
JP1製品のインストールパス配下以外に配置してください
共有ディスクやNFS以外のローカルディスクに配置してください
JP1/AJS3 - Viewをインストールしているドライブと同じドライブに配置してください
今回の手順では、「Hitachi」フォルダ配下に「JP1AJS2Vtool」フォルダを作成した上で、「ajsazdef」フォルダを配置します。
2.Azureサービス連携ジョブのアイコンファイル(ajsazdef\image\custom)を
「JP1/AJS3 - Viewインストール先フォルダ\image\custom」に配置

3.下記設定でカスタムジョブを登録
・名前:任意
・コメント:任意
・定義プログラム:項番1のパス\bin\ajsazbsdef.bat
例:"C:\Program Files (x86)\Hitachi\JP1AJS2Vtool\ajsazdef\bin\ajsazbsdef.bat"
・実行プログラム:「Azureサービス連携ツール(ajsazフォルダ)を任意のパスに配置」の
項番1で配置したパス\bin\ajsazbs.exe
例:"C:\Program Files (x86)\Hitachi\JP1AJS2\ajsaz\bin\ajsazbs.exe" ・バージョン:0600
・クラス名 :AZBSPC

BlobStorage連携ジョブの定義方法
本ブログでは、BlobStorage連携ジョブを用いて
・コンテナー内の任意のファイルを監視
・更新を契機に監視対象ファイルをエージェントホストにダウンロード後
・そのファイルをもとにPCジョブで処理を行う
というケースを例に、BlobStorage連携ジョブの定義方法をご紹介します。

BlobStorage連携ジョブ(ファイル監視)
1.カスタムジョブメニューから、登録済みのBlobStorage連携ジョブをドラッグアンドドロップ

2. BlobStorage連携ジョブの詳細定義画面を開き[詳細]ボタンを押下

3. ファイルの更新を監視できるよう、下記の通り設定

操作種別:
BLOBに対する操作種別を選択します。BLOBの転送、削除に関する操作をする場合は[ファイル操作]を選択します。BLOBの監視を行う場合は[ファイル監視]を選択します。
操作対象:
ストレージアカウント名
[操作対象]で指定するストレージアカウント名に、アップロード先・ダウンロード元・
コピー元・削除先・監視先のストレージアカウント名を入力します。
コンテナー名
[操作対象]で指定するコンテナー名に、アップロード先・ダウンロード元・コピー元・
削除先・監視先のコンテナー名を入力します。
監視対象(BLOB):
監視対象のBLOB名を入力します。
監視操作:
監視対象のBLOBへの監視操作をOR条件で選択します。
監視間隔:
ファイル操作が完了しているかを監視する間隔を入力します。
認証情報ファイル:
Azure CLIで使用する認証情報を記載したファイル名を入力します。
オプション設定:
Azure CLIの追加オプションを入力します。同じオプションが重複して指定された場合は、あとから指定された内容が有効になるので重複していないかは[コマンドラインプレビュー]にてご確認ください。
[コマンドラインプレビュー] エリア:
[更新]ボタンをクリックすると、プレビュー表示エリアに、Windows側で実行する場合のエスケープ処理を行ったあとのAzure CLIコマンドラインを表示します。
BlobStorage連携ジョブ(ダウンロード)
1. カスタムジョブメニューから、登録済みのBlobStorage連携ジョブをドラッグアンドドロップ
2. BlobStorage連携ジョブの詳細定義画面を開き[詳細]ボタンを押下し、ダウンロードの場合は、
下記の通り設定
※ダウンロード先に、エージェントホスト側でのファイルの保存先フォルダを指定します。

ファイルの操作:
BLOBに対する操作を[ダウンロード][アップロード][コピー][削除]の中から選択します。
ダウンロード元(BLOB):
単一ファイル指定/ワイルドカード指定
[ダウンロード][アップロード][コピー][削除]対象のファイルが1つのファイルか、複数のファイルかを
選択します。
[BLOB名]
[ファイルの操作]で選択した種別に応じて指定可能な項目名が変化します
- ダウンロード元(BLOB)
- アップロード先(BLOB)
- コピー元(BLOB)
- コピー先(BLOB)
- 削除対象(BLOB)
ダウンロード先(ファイルパス):
[ファイルの操作]で選択した種別に応じて指定可能な項目が変化します。
- ダウンロード先(ファイルパス)
- アップロード先(BLOB)
- コピー先(BLOB)
動作確認
1.下記の通りジョブを定義し、実行登録


2.監視対象のコンテナー内にあるファイルは下記状況

3. 監視対象のコンテナー内にあるファイルを更新し、タイムスタンプが変わることを確認

4.更新を検知し、コンテナーから、ファイルをエージェントホストにダウンロードされることを確認

5.ダウンロード処理と後続のジョブが完了し、正常終了


まとめ
今回はJP1 V12-00から利用可能なBlobStorage連携ジョブについてご紹介しました。
Azure Blob Storage との連携のため、ストレージアカウントやコンテナーの指定、Azure特有の認証情報の設定ファイルの準備が必要ですが、おおまかな作業の流れは、以前ご紹介した Amazon S3連携ジョブ と同様です。
エージェントホストから Azure Blob Storage へアクセスできれば、簡単に実装可能なため、JP1で Azure Blob
Storage との連携を検討されている方は、ぜひご活用ください。
製品正式名称(略称表記) および機能対象バージョン
JP1/Automatic Job Management System 3 (JP1/AJS3) 12-00以降
JP1ブログをご覧いただいているみなさまへご案内
いつもJP1サポート技術者ブログをご覧いただきありがとうございます。
本ブログの執筆を担当しているアシストJP1サポートセンターは、「JP1認定技術者」の資格を持つサポート技術者の対応が支持され、お客様満足度は10年連続90%以上を維持しています。
紹介サイトでは、サポートセンターが誇る3つの特徴とJP1の最新情報満載の提供サービスを、お客様の声とともにご紹介しています。是非ご覧ください。
また、アシストとJP1保守契約を締結されている方は、Webサポートセンター「AWSC-2」をご利用いただけます。本ブログサイトではご紹介しきれない2,000件以上のFAQを公開していますので、是非ご利用ください。詳細は、下記リンクよりご確認ください。
ページトップへ戻る
この記事を書いたスタッフ
引間 康将
引間 康将

