#はじめに
こんにちは。よろず相談担当 すぎもんです。
今回は、前回記事のAzure BLOB Storageへのファイル転送についてやってみた。の続きです!
AzureのBLOBストレージにファイル転送してみた
#今回やること(アップロードファイルの動的指定)
前記事でもお伝えした通り、HULFT機能の一つである「動的指定」を使ってファイル名を指定し、クラウド転送してみます!
HULFTでは、ファイル転送を行う場合に事前に管理情報の設定が必要です。
その管理情報を動的に変更することができるのです!
※クラウドストレージオプションでは、メッセージ機能のみ有効です。
これを利用して、ファイル名と日付を動的に指定してファイル配信をします。
[blobfile_YYYYMMDDhhmmss.txt]というファイルを作成して転送。
⇒[blobfile]を[$MSG0]に、[YYYYMMDDhhmmss]を[$MSG1]に設定。
#集信側HULFTの設定
HULFT管理画面の[システム管理]-[集信管理情報]から、以下のように設定します。
集信管理情報の設定はこれだけでOKです!
#コマンドプロンプトからファイル配信
コマンドプロンプトを起動し、配信側HULFT(ホスト名:HULFT-SEND)のbin配下に移動して実行が必要です。
cd C:\HULFT Family\hulft8\bin
早速、ファイル配信をしてみます。
集信ファイルの動的指定は、以下のようにします。
・[メッセージ0]に[集信ファイル名(blobfile)]を指定
・[メッセージ1]に[現在日時※]を指定
※ %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
これで、集信ファイルは、「blobfile_YYYYMMDDhhmmss.txt」で転送されるはずです。
####配信コマンド
**```utlsend -f BLOB01 -msg0 blobfile -msg1 %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
####☆時刻の取得の注意点(おまけ)☆
上記の通り、動的指定でファイル名に[現在日時]をセットしましたが、[日時]って一桁数字の場合(例えば9時とか)、先頭が[0]でなく[ブランク]になるときありますよね。(よくそのせいで、コマンド認識が変わったり、javaとかだとnullpointerexceptionで落ちたりした記憶があり……)気になったので、ちょっとやってみたのですが、やはり[時間hh]は、頭の[0]を「スペース」とみなして、「コマンドエラー」になってしまいました。なので、ちょっと気を付けてみてください!!※試してみた結果ブランクになるのは[hh]の時間だけです。私は、``` set TIME=%TIME: =0% ``` で、TIME変数の先頭空白文字を0に置換してからutlsendコマンドを打つようにして回避しました!
**■配信側HULFT(HULFT-SEND)の配信状況の確認**
「完了コード」は「000000(00000)」になっていればHULFTの配信は正常終了です。
メッセージパラメータで動的指定した値も確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/1ebf8d79-13dc-a1a1-a6ef-7054b139cc92.png)
**■集信側HULFT(HULFT-REVC)の集信状況の確認**
「完了コード」は「000000(00000)」になっていればHULFTの集信は正常終了です。
集信ファイル名に指定した(\$MSG0_\$MSG1.txt)が、メッセージ0, メッセージ1に指定した値に変更されているのが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/4677071a-0319-6eed-bef8-bd0d27f470aa.png)
**■AzureのBLOB Storageのコンテナーを確認**
[sugimondemo]コンテナー内に、動的指定を使った「ファイル名+現在日時」のファイルがアップロードされました!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458288/b9bef389-8b23-0cf2-7e64-6b25fba2681d.png)
#最後に
今回は、HULFTのクラウドストレージオプションでのAzure BLOB Storage転送に加え、HULFT機能の動的指定でファイル名を指定してみましたが、いかがでしたでしょうか。因みに、今回は集信管理情報にメッセージパラメータを設定しましたが、同様のことを配信管理情報にすることも可能です。是非やってみてください!
設定自体は、前回に引き続き、とてもシンプルで簡単に転送できました!
コマンドプロンプトからの日付取得と編集は少し調べましたが……。
このブログでは、今後も技術の「よろず相談窓口」で相談を受けた内容や、誕生したワザをご紹介していけたらな、と思っています。
これからも是非チェックいただき、宜しければフォローをお願いします。
それでは、また!