AD_Watcher
AD_Watcherは、フォルダを監視し、ファイルを検知したらClaris FileMaker上のスクリプトを実行するプログラムです。
FileMaker Serverにへの通知にはスクリプト実行リクエストが含まれており、通知と連動したサーバ上での様々なアクションを実装できます。
AD_connector と組合わせる事で、Claris FileMakerプラットホームでのDXが加速します
On this page
AD_Appsを入手
AD_Appsは製品をお申込みの後、ダウンロードページから入手できます。
(製品のお申込み・ダウンロードべージを開くには会員登録(無料)が必要です。)
動作シナリオ例
- 指定したフォルダにCSVデータが書き込まれます。
- AD_WatacherはフォルダにCSVデータが配置されたのを感知しますが、このCSVファイルが 完全に書き終えるまで待機します。
- 書込みが完了したら、AD_WatacherはFileMakerServerに対し通知します。この時、該当CSVファイル名と実行スクリプト名を引数としてDataAPI※に対しCurlします。k
- 実行スクリプトは、当該CSVデータをFileMaker内に取込ます。
- 実行スクリプトによって、取込が完了した当該CSVデータは削除されます。
- 実行スクリプトは受け取ったCSVデータを処理します。
※DataAPIに対してはGetメソッドによるCURLのみなのでDataAPIのデータ消費量はBearer認証用のToken取得のみですのでごくわずかです。
インストール手順
ファイルの配置場所
ダウンロードしたファイルは" Cドライブ直下"に置きます。(※他の場所に置く場合は各設定ファイルを修正してください。)
ファイル配置イメージ
C:\AD_Apps\ └─windows\ ├─ad_watcher │ AD_Watcher.exe Windowsサービスに登録するプログラム │ AD_Watcher.xml 【要確認1】サービス開始時コマンド設定ファイル │ DB_COM.fmp12 FileMakerサンプルファイル(FileMaker Serverでホストして下さい。) │ fWatch2DataAPI.exe 実行ファイル本体 │ fWatch2DataAPI.json 【要確認2】実行設定ファイル(フォルダ、FMSアドレス、スクリプト、TLS) │ install_service.bat インストールバッチ │ uninstall_service.bat アンインストールバッチ
【要確認1】AD_Watcher.xml
AD_Watcher.xmlをテキストエディタで開き、実際の配置場所とパス設定が正しいか確認してください。
<service> <id>AD_Watcher.service</id><!-- Windows ID 一意なものを指定すればOK --> <name>AD_Watcher</name><!-- Windowsサービス名 --> <description>AD_Watcher APサーバー用のサービスです</description><!-- Windowsサービス説明 --> <workingdirectory>C:\AD_Apps\windows\ad_watcher</workingdirectory><!--実行ディレクトリ --> <executable>C:\AD_Apps\windows\ad_watcher\fWatch2DataAPI.exe</executable><!-- fWatch2DataAPI.exeのパス --> <arguments>C:\AD_Apps\windows\ad_watcher\fWatch2DataAPI.json</arguments><!-- fWatch2DataAPI.jsonのパス --> <logmode>rotate</logmode> </service>
【要確認2】fWatch2DataAPI.json
fWatch2DataAPI.jsonをテキストエディタで開き、実際の配置場所とパス設定が正しいか確認してください。
※以下は添付のサンプル「DB_COM.fmp12」を対象とした場合の設定です。スクリプトやアカウントは「DB_COM.fmp12」を参照してください。
{ "FMSpath" : "C:/Program Files/FileMaker/FileMaker Server/Data/Documents/", FileMaker ServerのDocuments/ "Watchpath": "TESTDIR/",FileMaker ServerのDocuments/以下に配置した監視フォルダ名 "fm_host" : "https://127.0.0.1",FileMaker Serverのアドレス、localの場合は127.0.0.1 "fm_ssl" : "False",アクセスにSSL認証設定がある場合 "fm_script" : "apiDataSet",実行するスクリプト名 "fm_database" : "db_com",FMSでホストされているファイル名 "fm_layout" : "r_dataTx",対象テーブル名 "fm_user" : "dataapi",DataAPI用アクセスアカウント "fm_password" : "dataapi@pass",DataAPI用アクセスパスワード "fm_pkcs12" : "",アクセスにSSL認証設定がある認証ファイルパス "fm_pkcs12_password" : ""アクセスにSSL認証設定がある場合認証ファイルのパスワード }
fWatch2DataAPI.jsonをテキストエディタで開き、実際の配置場所とパス設定が正しいか確認してください。
インストール
install_service.batをWクリックで実行するか、C:\AD_Apps\windows\ad_watcherまで移動して「>AD_Watcher.exe install」コマンドを実行します。
サービスを起動/再起動
サービスの一覧から「AD_Watcher」を探しサービスを開始します。
何らかの原因でサービスが動作していない場合もここで再起動すれば正常に戻ります。
もし、サービスが正常に起動しない場合は設定ファイルを見直し、最初からやり直してください。
アンインストール
uninstall_service.batをWクリックで実行するか、C:\AD_Apps\windows\ad_watcherまで移動して「>AD_Watcher.exe uninstall」コマンドを実行します。
動作確認
指定したフォルダにCSVデータファイルなどを置いてみて正しく動作するか確認してみます。
EX:C:/FileMaker/FileMaker Server/Data/Documents/TESTDIR/
EX:C:/FileMaker/FileMaker Server/Data/Documents/TESTDIR/
トラブルシューティング1
【その1】起動しないとき
「AD_Watcher.err.log」を確認すると下記のようにエラー内容が判明します。
Traceback (most recent call last): File "fWatch2DataAPI.py", line 234, inFile "watchdog\observers\api.py", line 262, in start File "watchdog\utils\__init__.py", line 93, in start File "watchdog\observers\polling.py", line 76, in on_thread_start File "watchdog\observers\polling.py", line 72, in File "watchdog\utils\dirsnapshot.py", line 247, in __init__ FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。: 'C:/FileMaker/FileMaker Server/Data/Documents/TESTDIR/'
トラブルシューティング2
【その2】DataAPIなどのリクエスト設定が間違っている
「AD_Watcher.err.log」を確認すると下記のようにエラー内容が判明します。
以下の場合、fWatch2DataAPI.jsonファイルのfm_layut設定に問題があるようです。
INFO:fWatch2DataAPI:[Created]C:/Program Files/FileMaker/FileMaker Server/Data/Documents/DWHTMP/ADMADMISSION_IP_20231104101344.csv
INFO:fWatch2DataAPI:[DataAPI:start]C:/Program Files/FileMaker/FileMaker Server/Data/Documents/DWHTMP/ADMADMISSION_IP_20231104101344.csv
INFO:fWatch2DataAPI:[DataAPI:param]{"path":"DWHTMP/","filename":"ADMADMISSION_IP_20231104101344.csv","script":"apiDemo"}
urllib3\connectionpool.py:1045: InsecureRequestWarning: Unverified HTTPS request is being made to host '127.0.0.1'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#ssl-warnings
INFO:fWatch2DataAPI:[DataAPI:token]a23d8bedf0920481e48b8a8caa171756bde6bac197432c9e04
urllib3\connectionpool.py:1045: InsecureRequestWarning: Unverified HTTPS request is being made to host '127.0.0.1'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#ssl-warnings
INFO:fWatch2DataAPI:[DataAPI:request]{"messages":[{"code":"105","message":"Layout is missing"}],"response":{}}
urllib3\connectionpool.py:1045: InsecureRequestWarning: Unverified HTTPS request is being made to host '127.0.0.1'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#ssl-warnings
fWatch2DataAPI:[DataAPI:result]{"response":{},"messages":[{"code":"0","message":"OK"}]}