ファイル取り込みとレプリケーションタスクのファイルリスナ
ファイルリスナをソースとして使用して、ファイル取り込みとレプリケーションタスクでファイルモニタをスケジュールできます。
次のソースタイプを使用したファイル取り込みとレプリケーションタスクでは、ファイルリスナから通知を受け取ったときに実行するタスクをスケジュール設定することができます。
- •ローカルフォルダ
- •Advanced FTP V2
- •Advanced SFTP V2
- •Advanced FTPS V2
- •Amazon S3 V2
- •Microsoft Azure Data Lake Store Gen2
- •Microsoft Azure Data Lake Store V3
- •Microsoft Azure Blob Storage V3
- •Microsoft Fabric OneLake
- •Google Cloud Storage V2
- •Hadoop Distributed File Storage(HDFS) V2
注: ファイル取り込みタスクの設定に関する詳細については、データ取り込みおよびレプリケーションのヘルプを参照してください。
ファイルイベントの信頼性
ファイル取り込みとレプリケーションタスクでファイルリスナをソースとして使用している場合は、新しいファイルが到着したとき、既存のファイルが更新されたとき、またはファイルが削除されたときに、ファイルリスナの構成に基づいてファイルイベントが作成されます。ファイルイベントは、ファイル取り込みとレプリケーションタスクに渡されます。このセクションでは、ファイルリスナおよびファイル取り込みとレプリケーションタスクの間でこれらのファイルイベントを処理する際の信頼性の側面について説明します。
ファイルリスナは、次の条件に基づいてイベントを処理します。
- •Secure Agentが実行されていない場合、または一時的なネットワークの中断があり、ファイルイベントがファイル取り込みとレプリケーションタスクに到達しない場合、ファイルリスナは各ファイルのイベントをキューに登録し、それを次回のファイル取り込みとレプリケーションジョブの通知に含めます。つまり、ファイル取り込みとレプリケーションタスクは、各ファイルに関する通知を少なくとも1回受信します。これにより、ファイルリスナおよびファイル取り込みとレプリケーションタスクの間で少なくとも1回の信頼性が保証されます。
注: 処理されないファイルイベントは、7日間キューに残ります。
- •複数のイベントが発生した場合、ファイルリスナは、各ファイルの最後のイベントのみをファイル取り込みとレプリケーションタスクに通知します。
- •ファイルリスナキューにあるファイルイベントは、次のいずれかの方法でファイル取り込みとレプリケーションタスクに到達します。
- - ファイル取り込みとレプリケーションジョブが完了すると、データ取り込みおよびレプリケーションサービスがファイルリスナにプル要求を行い、キューに登録されたイベントを確認します。イベントが見つかると、サービスはそれらを処理するために新しい取り込みジョブをトリガします。プル要求は、同じ取り込みタスクによって実行される別の同時実行ジョブにすでに割り当てられているファイルの処理をトリガしないため、常に1つの取り込みジョブのみがファイルを処理します。
- - 例えば、Secure Agentが実行されていない状態でデータ取り込みおよびレプリケーションサービスが要求を行った場合など、プロアクティブなプル要求によってイベントが取得されない場合、ファイルリスナは各ファイルの最後のイベントをキューに登録し、それを次回のファイル取り込みとレプリケーションジョブの通知に含めます。
- - ファイル取り込みとレプリケーションタスクを手動で実行して、失敗したイベントを取得することもできます。
- •ファイルイベントの処理が失敗すると、ファイル取り込みとレプリケーションタスクは失敗したイベントの処理を再試行します。失敗したイベントの再試行は、自動的に1回行われ、その後のファイルリスナ通知中に行われます。
- •ステータスが成功または重複となったファイルイベントをファイル取り込みとレプリケーションタスクが自動的に再処理することはありません。
転送ログなどを使用した場合など、エラーが原因でターゲットに正常に転送されなかったファイルについては、手動で特定する必要があります。この問題を解決するには、ファイルを移動するか、手動で変更して、ファイルリスナがファイルを取得できるようにします。例えば、ファイルの最終変更時刻が変更された場合、ファイルリスナは、内容が変更されていなくても、ファイルが更新されたと見なします。
Example 1. 例
ファイルリスナは、ターゲットに転送する15件のファイルイベントを持つファイル取り込みとレプリケーションタスクのソースです。バッチサイズは5です。ファイル取り込みとレプリケーションタスクがトリガされて完了すると、ファイルイベントは次のステータスになります。
- •1番目のバッチ(ファイル1から5)の5件のイベント: 成功
- •2番目のバッチ(ファイル6から10)の5件のイベント: 失敗
- •3番目のバッチ(ファイル11から15)の5件のイベント: 未処理
ファイル取り込みとレプリケーションタスクは、一度に5件の失敗したイベントと未処理のイベントの処理を自動的に再試行します。ファイル取り込みとレプリケーションタスクが完了すると、ファイルイベントは次のステータスになります。
- •1番目のバッチ(ファイル6から10)の5件のイベント: 成功
- •2番目のバッチ(ファイル11から15)の5件のイベント: 失敗
ファイル取り込みとレプリケーションタスクは、一度に5件の失敗したイベントの処理を自動的に再試行します。ファイル取り込みとレプリケーションタスクが完了すると、2番目のバッチ(ファイル11から15)の5件のイベントが失敗します。
ファイル取り込みとレプリケーションタスクを手動で実行して、保留中の5件のイベントを取得することができます。ファイル取り込みとレプリケーションタスクを手動で実行しない場合、ファイルリスナは次のファイル取り込みとレプリケーションジョブの通知に、失敗したイベントを含めます。
ファイルリスナジョブの回復機能
ファイルリスナを実行すると、対応するジョブが作成されます。
ファイルリスナジョブは、次の条件に基づいてSecure Agentの可用性を処理します。
- •新しいバージョンのアプリケーション取り込みとレプリケーションがリリースされると、ファイルリスナは停止し、新しいバージョンで実行を再開します。
- •Secure Agentが使用できない状態になって20分以内にバックアップされた場合、ファイルリスナは再起動後に同じSecure Agent上で実行を再開します。
- •Secure Agentが20分間使用できない場合、ファイルリスナはSecure Agentグループ内で使用可能な実行中のSecure Agent上で再起動します。この動作は、ファイルリスナが終了時刻に達していない場合に適用されます。
- •Secure Agentグループ内でSecure Agentが20分以上使用できない場合、ファイルリスナは応答しない状態のままになります。200分後、ステータスは[停止]に変わります。