ファイルパターン追加手順
本項では、エンジンで処理されるファイルパターンの追加手順を記述します。
1. ファイル名正規表現の作成
追加するデータファイルの正規表現を作成します。
python実行環境にて、ファイルパスの正規表現を作成、確認してください。
なお、ファイルパス正規表現にはraw-data以下のサブフォルダ名も含めた形で作成してください。
- 正規表現確認例
python
>>> import re
>>> filepath = 'breeding_ledger_web/dhi_check_0279693601_20211110_20220124.xls'
>>> regex_str = 'breeding_ledger_web/dhi_check_.*\.xls' <--ファイルパス正規表現
>>> print(re.match( regex_str, filepath ))
<re.Match object; span=(0, 62), match='breeding_ledger_web/dhi_check_0279693601_20211110>
printの結果がNone以外の場合はマッチ
※追加するデータファイルのマッチだけではなく、既存のファイル名にマッチしないことも確認してください。
2. 開発環境データベースへの登録
psqlの起動
(1) GCP(Google Cloud Platform)の管理コンソールで、プロジェクトfarmnote-gene-devを選択
(2) メニューよりSQL(CloudSQL)を選択
(3) インスタンスfngene-dbを選択
(4) 「このインスタンスとの接続」の下部にある、CLOUD SHELL を開くリンクをクリック
(5) しばらくするとブラウザ内にpsql接続用ターミナルが表示されるので、デフォルトで入力されているコマンドをそのままEnter(パスワードは別途ご連絡)
(6) gene DBにgeneユーザーで接続
postgres=> \c gene gene
Password for user gene:(パスワードを入力)
gene=>
※パスワード:は別途ご連絡
process_file_masterへのINSERT
1.で作成した正規表現をprocess_file_masterテーブルにInsertします。
(1) IDの最大値確認
select max(id) from process_file_master;
(2) process_file_masterにINSERT
insert into process_file_master (id, name, disp_pattern, filename_regex, search_type, note) values (
(ID MAX値 +1),
'データファイル種別名',
'管理画面表示用ファイル名パターン("zoetis_submitted/xxxxxxxx_test_cow.csv"等)',
'正規表現文字列(1.で作成した正規表現)',
0 or 1(0:最新のみ 1:過去分含む),
'説明'
);
process_pattern_masterへのINSERT
(1) ファイルパターンリストを表示
gene=> select id,name,search_type, filename_regex from process_file_master order by id;
id | name | search_type | filename_regex
----+-------------------+-------------+-------------------------------------------------
1 | calving_list | 0 | breeding_ledger_web/calving_list_.*\.xls
2 | dhi_check | 0 | breeding_ledger_web/dhi_check_.*\.xls
3 | edit_chardata | 0 | breeding_ledger_web/edit_chardata_.*\.xls
4 | quicklist1 | 0 | breeding_ledger_web/quicklist_.*_ikusei_.*\.xls
5 | quicklist2 | 0 | breeding_ledger_web/quicklist_.*_keisan_.*\.xls
6 | zoetis_direct | 1 | zoetis_direct/Zoetis_.* Dairy Report_.*\.xls
7 | zoetis_submitted1 | 1 | zoetis_submitted/.*_test_cow\.csv
8 | zoetis_submitted2 | 1 | zoetis_web/ReportReliability.*\.csv
9 | zoetis_submitted3 | 1 | zoetis_web/ReportNetMerit.*\.csv
10 | zoetis_submitted4 | 1 | zoetis_web/ReportMatingReport.*\.csv
11 | zoetis_submitted5 | 1 | zoetis_web/ReportCoreTraits.*\.csv
12 | arxiv_final | 0 | arxiv/final.xls
13 | arxiv_preliminary | 0 | arxiv/preliminary.xls
(13 rows)
(2) IDの最大値確認
select max(id) from process_pattern_master;
(3) process_pattern_master
insert into process_pattern_master(id, name, file_ids, note)
values(
(ID MAX値 +1),
'パターンサンプル',
array[1,2,3,4,5,6,7,8,9,10,11], <--使用するファイルパターンIDをarrayで指定
'パターンサンプル説明'
);
3. 動作確認
INSERTしたprocess_pattern_masterのIDを指定してジョブを登録してください。
ジョブの処理結果の確認はエンジン追加手順の動作確認の項目を参照してください
4. 本番環境データベースへの登録
GCP(Google Cloud Platform)の管理コンソールで本番用のプロジェクトIDfarmnote-gene-prodを選択し、開発環境データベースへの登録と同手順で、本番環境データベースに登録してください。