3.A.2.1. 検出器

Detectorはイベントリスナーと同義語です。残念ながら、特定の条件が発生するのを待ち、Node-REDや OpenRPA自体にメッセージを発します。

このセクションでは、特定のディレクトリのファイル変更に耳を傾け、新しいファイルが作成されたときにイベントを発生させる、FileWatcher Detector の作成方法を学びます。この例では、新しいPDF/.pdf ファイルが 作成されるたびに、ロボットが発火するはずです。

OpenRPAでDetectorを作成する

まず、FileWatcher Detectorを設定する必要があります。

そのためには、まずOpenRPAのリボン内にある「設定」バーをクリックする必要があります。

images/openrpa_workflow_examples_windows_automation_click_settings.png

次に、リボン内の「Detectors」ボタンをクリックします。

images/openrpa_workflow_examples_windows_automation_click_detectors.png

その後、「検出器」リボン内の目的の検出器をクリックするだけです。

この例では、使用するDetectorは FileWatcherDetectorPluginです。Detector’sName– in our caseWindows Automationas well as thePathwhich it will listen to –C:\Usersviere╱Documents╱workflow_example_filesⒸwindows_automation_files,no quotes. Then set theFile Filterto*.pdf– the*is a wildcard for the filename, that’s, any filename will do.

images/openrpa_workflow_examples_windows_automation_detector_configured.png

備考

Detectorが見つからない場合、インストールされていることを確認してください。疑わしい場合は、インストーラー.msiを再度実行し、インストール中に含まれていることを確認するだけです。

備考

ワイルドカード(https://ryanstutorials.net/linuxtutorial/wildcards.php) は、ファイルやディレクトリのセットを定義するパターンを作成するための構成要素のセットです。覚えているように、コマンドラインでファイルやディレクトリを参照するときはいつでも、実際には文字列のパスを参照しています。パスを参照するときは常に、そのパスの中でワイルドカードを使用して、ファイルやディレクトリのセットに変換することもできます。

Node-REDでDetectorノードを設定する。

ここでユーザーは、Node-REDでDetectorノードを設定します。このノードは、DetectorがトリガーされたときにNodeRED メッセージの起点となります。

Node-RED内に新しいフローを作成します。フローはWindows Automation - Workflow Exampleと名付けます。

images/openrpa_workflow_examples_windows_automation_create_new_node_red_flow.png

次に、検出器ノードをワークスペースにドラッグします。

images/openrpa_workflow_examples_windows_automation_drag_detector_node.png

検出器ノードをダブルクリックして、そのプロパティを設定します。ドロップダウン・フィールドに表示される「Detector」を選択します。さらに、このノードに「Filepath Detector」などの名前を付けることもできます。フローを整理するために、そうすることをお勧めします。

images/openrpa_workflow_examples_windows_automation_set_detector_node_properties.png

Node-REDにおけるメッセージ操作

FileWatcher Detector が起動すると、NodeRED メッセージに filepath(作成されたファイルの名前)などの情報が渡されます。

images/openrpa_workflow_examples_windows_automation_set_debug_detector.png

このデータを取得し、ワークフロー起動時の引数としてロボットに渡すことが望まれます。引数は msg.payloadオブジェクトを通してロボットに渡すことを忘れないでください。 OpenRPA ワークフローは他の引数を必要としないので、FileWatcher Detectorノードを直接ロボットノードにプラグインすることが可能です。

OpenRPAのワークフローを呼び出す

ここに、OpenRPAワークフローに変数を渡して実行するロジックがあり、Detectorのポジティブシグナルによって起動されます。

ワークスペースにロボットノードをドラッグします。このノードによって、Windows 自動化ワークフローを呼び出すことができます。

images/openrpa_workflow_examples_windows_automation_connect_function_node_to_robot.png

もう一度言いますが、ノード名をInvoke Windows Automation Workflowと適切に命名することをお勧めします。

ワークフローを実行するロボット (または エージェント)と、実行するワークフローの名前(この例ではWindows Automation)をダブルクリックして指定します。Local Queueの項目は空白のままでも構いません。

images/openrpa_workflow_examples_windows_automation_set_robot_node_properties.png

ここで、ユーザーは画面左上の赤い「Deploy」ボタンをクリックして、作成したフローをデプロイする必要があります。

images/openrpa_workflow_examples_windows_automation_click_deploy_button.png

その後、OpenRPA ワークフロー内でCreate Argument をクリックして新しい引数を定義します。デバッグノードで見たように、渡されるパラメータはfilepathと呼ばれているので、引数も全く同じにする必要があります。引数は入力なので、そのDirectionを Inに設定します。

images/openrpa_workflow_examples_windows_automation_define_pathFile_argument.png

備考

Node-RED の使用を完全に避けたい場合は、先に定義した検出器を含む検出器アクティビティと共に、トライブロックによる無限ループアクティビティ(条件: true=true) を使用することをお勧めします。ユーザーは、Skypeコンタクトに送信されるファイルの固定ファイルパスを 割り当てるために、アクティビティ「Assign」を使用することもできます。ループを使用することで、反復が終了するたびに、ロボットは常に最初に戻り、Detectorがもう一度起動するのを待ち、何か異常が発生した場合には、トライブロックが ワークフローの実行を保証します。