質問
HULFT Squareで作成したCSVファイルのファイル名に、以下のような形で日付を付与してAmazon S3に保存したいです。
例)
HULFT Squareでの作成ファイル名:XXX.csv
Amazon S3への保存ファイル名 :XXX_yyyymmdd.csv
HULFT Squareでファイルを作成した後に、ファイル名を変更することは可能でしょうか。
回答
[現在日時]および[日時フォーマッティング]ロジックを使用し、日付を付与したファイル名でCSVファイルを保存し直していただくことで、ご要望の設定が可能となります。
以下にスクリプトの実装例をご紹介いたします。あくまで一例となりますので、お客様のご要件に合わせて適宜ご調整ください。
■処理概要
HULFT Squareで作成したCSVファイルをもとに、「元のファイル名_yyyymmdd.csv」のファイルを生成する。
例)処理前のCSVファイル名:inputdata.csv
処理後のCSVファイル名:inputdata_yyyymmdd.csv
■スクリプトの実装手順
1.利用するスクリプトに、挿入したい日付を格納するためのスクリプト変数(文字列型)とHULFT Squareで作成したファイル名を格納するためのスクリプト変数(文字列型)をそれぞれ作成します。
例)挿入したい日付を格納するためのスクリプト変数 :date
HULFT Squareで作成したファイル名を格納するためのスクリプト変数:filename
2.入力元となるデータとして、「CSVファイル読み取り処理」を配置します。
3.マッピングにて、マッピングキャンバスに[現在日時]と[日時フォーマッティング]ロジックを配置します。
4.[日時フォーマッティング]ロジックのプロパティにて、日時のフォーマットを指定します。
例)yyyyMMdd ※月の部分は小文字ではなく、大文字のMで指定してください。
5.[現在日時]→[日時フォーマッティング]→出力先のスクリプト変数(date)となるようにマッピングを行います。
6.マッピングキャンバスに[右文字列]と[左文字列]ロジックを配置します。
7.[右文字列]ロジックのプロパティにて、元のファイル名(拡張子を含む)の文字数を指定します。
例)HULFT Squareで作成したCSVファイル名が「inputdata.csv」の場合は、
全文字数の「13」を入力
8.[左文字列]ロジックのプロパティにて、元のファイル名(拡張子を含まない)の文字数を指定します。
例)HULFT Squareで作成したCSVファイル名が「inputdata.csv」の場合は、
拡張子「.csv」を含まない文字数の「9」を入力
9.入力元のコンポーネント変数(filePath)→[右文字列]→[左文字列]→出力先のスクリプト変数(filename)となるようにマッピングを行います。
10.「CSVファイル書き込み処理」にて、「必須設定」の「ファイル」に、生成するファイル名としてスクリプト変数を指定します。
例:「元のファイル名_20250117(本日の日付).csv」としたい場合、「${filename}_${date}.csv」
11.スクリプトを実行することで、日付が含まれたファイル名でファイルが生成されます。
生成されたファイルを、後続のファイル/フォルダ書き込み処理にてAmazon S3へ保存してください。
図1.マッピングの設定例
図2.「CSVファイル書き込み処理」の設定例
コメント
0件のコメント
記事コメントは受け付けていません。