ファイルリスナ
ファイルリスナリソースを使用して、ファイルリスナを作成、更新、削除、および実行し、ファイルリスナの関連付けの所有者を、あるユーザーから別のユーザーに変更します。Informatica Intelligent Cloud Servicesは、ファイルリスナを使用して特定のフォルダを監視できます。監視対象のフォルダに新しいファイルが到着したり、フォルダ内のファイルが更新または削除されたりすると、コールバックAPIを使用してInformatica Intelligent Cloud Servicesに通知されます。
filelistenersリソースを使用する際には次のことに注意してください。
- •JSON形式を使用する。
- •次のベースURLを使用する。
<serverUrl>/mftsaas/api/v1/<API name>
- •次の要求ヘッダー形式を使用します。
<METHOD> <serverUrl>/<URI> HTTP/<HTTP version>
Content-Type: application/json
Accept: application/json
IDS-SESSION-ID: <SessionId>
注: HTTPバージョンを自動的に含めるPostmanなどのツールを使用する場合は、URLにHTTPバージョンを入力しないでください。HTTPバージョンがURLに2回出現すると、要求が失敗します。
ファイルリスナを実行して監視するには、次のタスクを完了します。
ファイルリスナの詳細の取得
GET要求を使用してファイルリスナの詳細を表示します。特定のファイルリスナの詳細を表示することも、組織のすべてのファイルリスナの詳細を表示することもできます。
GET要求
特定のファイルリスナの詳細を表示するには、次のURIにファイルリスナIDを含めます。
Get <serverUrl>/mftsaas/api/v1/filelisteners/<filelistener ID>
組織のすべてのファイルリスナの詳細を表示するには、ファイルリスナIDを省略します。
GET応答
ファイルリスナの詳細を要求すると、次のような情報が返されます。
フィールド | タイプ | 説明 |
---|
id | String | ファイルリスナに関連付けられているID番号。 |
name | String | ファイルリスナの名前。 |
description | String | ファイルリスナの説明。 |
status | String | ファイルリスナのステータス。 - - enabled。指定されたフォルダでファイルをリスニングしています。
disabled。指定されたフォルダでファイルをリスニングしていません。 |
agentGroup | Numeric | ファイルリスナの実行に使用されるSecure Agentを含むランタイム環境。 |
type | String | ファイルリスナがリスニングする接続のタイプ。 |
connection | String | ファイルリスナがリスニングする接続。 |
folderPath | String | ファイルリスナがリスニングする接続上にあるフォルダへのパス。 |
filePattern | String | ファイルリスナがリスニングするファイル名パターン。 |
アクション後 | String | ファイルリスナがイベントをリスニングした後にファイルリスナが実行する必要のあるアクションを決定します。 ファイルパターンがインジケータファイルである場合にのみ、アクション後に[削除]を選択することができます。デフォルトは[なし]です。 次の接続タイプは、[アクション後]のオプションをサポートします。 - - ローカルフォルダ
- - Advanced FTP V2
- - Advanced FTPS V2
- - Advanced SFTP V2
- - Azure Data Lake Store Gen2
|
patternType | String | ファイルパターン。 - - wildcard。ファイル名のワイルドカードパターンを使用します。
- - regex。正規表現を使用してファイルパターンを照合します。以下に例を示します。
- - 次の構文を使用すると、名前にout、foo、bazを含むファイルを除くすべてのファイルをリスニングします。^(?!.*(?:out|baz|foo)).*$ à all except
- - 次の構文を使用すると、拡張子がdoc、docx、pdfのすべてのファイルをリスニングします。([a-zA-Z0-9\s_\\.\-\(\):])+(.doc|.docx|.pdf)$ à
- - インジケータファイル。ファイルリスナがリスニングするファイル名を使用します。
|
mandatory | String | ルールの値が必須かどうかを定義します。 |
recursive | String | ルールの値が再帰的かどうかを定義します。 |
type | String | ファイルリスナを実行する頻度(毎日、毎週、または毎月)。 |
timezone | String | 開始時刻と終了時刻のタイムゾーン。 |
startDate | Date/Time | ファイルリスナの実行を開始する日付。 |
endDate | Date/Time | ファイルリスナの実行を終了する日付。 |
runIndefinitely | String | ファイルリスナが無期限に実行されるかどうか。 |
startsAt | Date/Time | ファイルリスナが実行を開始する時刻。 |
endsAt | Date/Time | ファイルリスナが実行を終了する時刻。 |
frequency | Numeric | ファイルリスナがフォルダ内のファイルをチェックする頻度。 |
frequencyUnit | String | ファイルリスナがフォルダ内のファイルをチェックする頻度の単位(秒、分、時間)。 |
listenerEvents | String | ファイルリスナが、登録済みのサービスに通知を送信するタイミングを決定します。各イベントをtrueに設定した場合の応答は次のとおりです。 - - arrive。ファイルリスナがリスニングするフォルダにファイルが到着したときに通知を送信します。
- - update。ファイルリスナがリスニングするフォルダのファイルが更新されたときに通知を送信します。
- - delete。ファイルリスナがリスニングするフォルダのファイルが削除されたときに通知を送信します。
|
stopWhenRulesMet | String | リスナルールに合致するとファイルリスナがフォルダのリスニングを停止するかどうか。次のいずれかの値を設定します。 - - false。ファイルリスナは、登録済みのアプリケーションにイベントを通知して、後続イベントのリスニングを継続します。
- - true。ファイルリスナは、フォルダで最初のファイル削除イベントが発生した時点でそのフォルダのリスニングを停止します。
|
checkFileStability | String | 次のいずれかの値を入力します。 - - false。ファイルリスナは、登録済みのサービスに通知する前に、ファイル全体がフォルダにコピーされたかどうかを確認しません。
- - true。ファイルリスナは、登録済みのサービスに通知する前に、ファイル全体がフォルダにコピーされたかどうかを確認します。
デフォルトはtrueです。 |
stabilityCheckInterval | Time | ファイルリスナがファイルの安定性を確認するために待機する時間(秒単位)。 checkFileStabilityオプションがtrueに設定されている場合にのみ、stabilityCheckIntervalフィールドに値を指定できます。 |
notifyExistingFiles | String | ファイルリスナが初めて実行されたときにすでにリスニング対象フォルダにファイルがあった場合に通知を送信します。 |
excludeFileEventsWhenNotRunning | String | ファイルリスナが実行されていないときに発生するファイルイベントを除外するかどうかを決定します。 |
continueOnError | String | 一時的なネットワークの中断などのエラーが発生した場合に、ファイルリスナを再試行して実行し続けるかどうかを決定します。 |
location | String | ファイルリスナコンポーネントを含むプロジェクトフォルダの場所。 |
createTime | Date/Time | コンポーネントが作成された時刻。 |
lastupdateTime | Date/Time | コンポーネントが最後に更新された時刻。 |
特定のファイルリスナのGET応答の例
IDがeX5qlosUfEHbwvNwGpRwQdのファイルリスナの詳細を表示する要求が成功した場合、次の例のような応答を受け取ります。
{
"id": "eX5qlosUfEHbwvNwGpRwQd",
"name": "FL512087",
"description": "Demo",
"status": "ENABLE",
"agentGroup": "01000025000000000002",
"connection": {
"type": "local",
"name": "",
"connId": ""
},
"rules": [
{
"id": 10052,
"folderPath": "C:\\temp1",
"filePattern": "*.txt",
"postAction": "NONE",
"patternType": "wildcard",
"mandatory": false,
"recursive": false
}
],
"scheduleDefinition": {
"type": "DAILY_WITH_INTERVAL",
"timezone": "IST",
"startDate": "20181227",
"endDate": "20181227",
"runIndefinitely": false,
"startsAt": "1015",
"endsAt": "2355",
"frequency": 15,
"frequencyUnit": "SECONDS"
},
"stopWhenRulesMet": false,
"listenerEvents": {
"arrive": true,
"update": true,
"delete": true
},
"checkFileStability": true,
"stabilityCheckInterval": 10,
"notifyExistingFiles": false,
"excludeFileEventsWhenNotRunning": true,
"continueOnError": true,
"location": {
"folderId": "avVCKODMM0RdSmcNWDnrKi",
"folderName": "New",
"projectId": "3iWWHkLbM2giVppBmJmZgV",
"projectName": "Default"
},
"createTime": "2019-02-12T07:03:49Z",
"lastUpdatedTime": "2019-02-12T07:03:49Z"
}
すべてのファイルリスナを表示する応答の例
ファイルリスナの詳細を表示する要求が成功した場合、次の例のような応答を受け取ります。
{
"listeners": [
{
"id": "8h9hng2kRokf2Db6Xb4pA8",
"name": "dfgdfg",
"description": "",
"status": "ENABLE",
"stopWhenRulesMet": false,
"checkFileStability": false,
"notifyExistingFiles": false,
"excludeFileEventsWhenNotRunning": true,
"continueOnError": true,
"location": {
"projectId": "3iWWHkLbM2giVppBmJmZgV",
"projectName": "Default"
},
"createTime": "2019-01-28T05:31:00Z",
"lastUpdatedTime": "2019-01-28T05:31:00Z"
},
{
"id": "bQdKQmGlFUUgS85AevLkqi",
"name": "FL123",
"description": "xsdfsdfsdf",
"status": "ENABLE",
"stopWhenRulesMet": false,
"checkFileStability": true,
"stabilityCheckInterval": 10,
"notifyExistingFiles": false,
"excludeFileEventsWhenNotRunning": true,
"continueOnError": true,
"location": {
"projectId": "3iWWHkLbM2giVppBmJmZgV",
"projectName": "Default"
},
"createTime": "2019-01-24T05:20:26Z",
"lastUpdatedTime": "2019-01-25T06:52:40Z"
},
{
"id": "eX5qlosUfEHbwvNwGpRwQd",
"name": "FL512087",
"description": "Demo",
"status": "ENABLE",
"stopWhenRulesMet": false,
"checkFileStability": true,
"stabilityCheckInterval": 10,
"notifyExistingFiles": false,
"excludeFileEventsWhenNotRunning": true,
"continueOnError": true,
"location": {
"folderId": "avVCKODMM0RdSmcNWDnrKi",
"folderName": "New",
"projectId": "3iWWHkLbM2giVppBmJmZgV",
"projectName": "Default"
},
"createTime": "2019-02-12T07:03:49Z",
"lastUpdatedTime": "2019-02-12T07:03:49Z"
}
]
}
すべてのファイルリスナを表示する要求が失敗した場合、次の例のような応答を受け取ります。
File Listener not found (403 Forbidden)
{ "responseCode": "NOT_FOUND", "message": "File Listener with id 'eX5qlosUfEHbwvNwGpRwQd1' not found." }
ファイルリスナの作成
POST要求を使用して、ファイルリスナとイベントリスナを作成します。
POST要求
次のURIを使用して、ファイルリスナとイベントリスナを作成します。
POST <serverUrl>/mftsaas/api/v1/filelisteners
POST要求で次のフィールドを使用します。
フィールド | タイプ | 必須 | 説明 |
---|
name | String | ○ | ファイルリスナの名前。 |
description | String | - | ファイルリスナの説明。 |
status | String | ○ | ファイルリスナのステータス。 - - enabled。指定されたフォルダでファイルをリスニングしています。
- - disabled。指定されたフォルダでファイルをリスニングしていません。
|
agentGroup | Numeric | ○ | ファイルリスナの実行に使用されるSecure Agentを含むランタイム環境。 |
connectionType | String | ○ | ファイルリスナがリスニングする接続のタイプ。 |
connection | String | ○ | ファイルリスナがリスニングする接続。 |
folderPath | String | ○ | ファイルリスナがリスニングする接続上にあるフォルダへのパス。 |
filePattern | String | ○ | ファイルリスナがリスニングするファイル名パターン。 |
アクション後 | String | - | ファイルリスナがイベントをリスニングした後にファイルリスナが実行する必要のあるアクションを決定します。 ファイルパターンがインジケータファイルである場合にのみ、アクション後に[削除]を選択することができます。デフォルトは[なし]です。 次の接続タイプは、[アクション後]のオプションをサポートします。 - - ローカルフォルダ
- - Advanced FTP V2
- - Advanced FTPS V2
- - Advanced SFTP V2
- - Azure Data Lake Store Gen2
|
patternType | String | ○ | ファイルパターン。 - - wildcard。ファイル名のワイルドカードパターンを使用します。
- - regex。正規表現を使用してファイルパターンを照合します。以下に例を示します。
- - 次の構文を使用すると、名前にout、foo、bazを含むファイルを除くすべてのファイルをリスニングします。^(?!.*(?:out|baz|foo)).*$ à all except
- - 次の構文を使用すると、拡張子がdoc、docx、pdfのすべてのファイルをリスニングします。([a-zA-Z0-9\s_\\.\-\(\):])+(.doc|.docx|.pdf)$ à
- - インジケータファイル。ファイルリスナがリスニングするファイル名を使用します。
|
mandatory | String | - | ルールの値が必須かどうかを定義します。 |
recursive | String | - | ルールの値が再帰的かどうかを定義します。 |
scheduleDefinition | String | ○ | ファイルリスナを実行する頻度を定義します。 |
type | String | ○ | ファイルリスナを実行する頻度(毎日、毎週、または毎月)。 |
timezone | String | ○ | 開始時刻と終了時刻のタイムゾーン。 |
startDate | Date/Time | ○ | ファイルリスナの実行を開始する日付。 |
endDate | Date/Time | ○ | ファイルリスナの実行を終了する日付。 |
runIndefinitely | String | - | ファイルリスナは無期限に実行されます。 |
startsAt | Date/Time | ○ | ファイルリスナが実行を開始する時刻。 |
endsAt | Date/Time | ○ | ファイルリスナが実行を終了する時刻。 |
frequency | Numeric | ○ | ファイルリスナがフォルダ内のファイルをチェックする頻度。 |
frequencyUnit | String | ○ | ファイルリスナがフォルダ内のファイルをチェックする頻度の単位(秒、分、時間)。 |
listenerEvents | String | ○ | ファイルリスナが、登録済みのサービスに通知を送信するタイミングを決定します。各イベントをtrueに設定した場合の応答は次のとおりです。 - - arrive。ファイルリスナがリスニングするフォルダにファイルが到着したときに通知を送信します。
- - update。ファイルリスナがリスニングするフォルダのファイルが更新されたときに通知を送信します。
- - delete。ファイルリスナがリスニングするフォルダのファイルが削除されたときに通知を送信します。
|
stopWhenRulesMet | String | - | ファイルリスナは、リスナルールに合致するとフォルダのリスニングを停止します。 - - false。ファイルリスナは、登録済みのアプリケーションにイベントを通知して、後続イベントのリスニングを継続します。
- - true。ファイルリスナは、フォルダで最初のファイル削除イベントが発生した時点でそのフォルダのリスニングを停止します。
|
checkFileStability | String | - | ファイルリスナは、登録済みのサービスに通知する前に、ファイル全体がフォルダにコピーされたかどうかを確認します。 |
stabilityCheckInterval | Time | - | ファイルリスナがファイルの安定性を確認するために待機する時間(秒単位)。 checkFileStabilityオプションがtrueに設定されている場合にのみ、stabilityCheckIntervalフィールドに値を指定できます。 |
notifyExistingFiles | String | - | ファイルリスナが初めて実行されたときにすでにリスニング対象フォルダにファイルがあった場合に通知を送信します。 |
excludeFileEventsWhenNotRunning | String | - | ファイルリスナが実行されていないときに発生するファイルイベントを除外するかどうかを決定します。 |
continueOnError | String | - | 一時的なネットワークの中断などのエラーが発生した場合に、ファイルリスナを再試行して実行し続けるかどうかを決定します。 |
emailIds | String | - | ファイルリスナにエラーが発生した場合に通知を送信するための電子メールアドレスのリスト。 リスト内の電子メールアドレスを区切るには、カンマを使用します。 |
location | String | - | ファイルリスナコンポーネントを含むプロジェクトフォルダの場所。 |
POST要求の例
ファイルリスナを作成する際にはこの例を参考にしてください。
POST <serverUrl>/mftsaas/api/v1/filelisteners
Content-Type: application/json
Accept:application/json
Content-Type:application/json
IDS-SESSION-ID:{{IDS-SESSION-ID}}
{
"name": "{{NEWFILELISTENER-NAME}}",
"description": "Demo",
"status": "ENABLE",
"location": {
"folderId": "avVCKODMM0RdSmcNWDnrKi",
"folderName": "New",
"projectId": "3iWWHkLbM2giVppBmJmZgV",
"projectName": "Default"
},
"agentGroup": "01000025000000000002",
"connection": {
"type": "local",
"name": "",
"connId": "",
"local": true
},
"listenerEvents":{
"arrive":true,
"update":true,
"delete":true},
"checkFileStability": true,
"stabilityCheckInterval": 10,
"notifyExistingFiles": false,
"excludeFileEventsWhenNotRunning": true,
"continueOnError": true,
"emailIDs":"test@gmail.com,infa@hotmail.com",
"rules": [
{
"id": 10070,
"folderPath": "C:\\temp1",
"patternType":"wildcard",
"filePattern": "*.txt",
"postAction": "NONE",
"mandatory": false,
"recursive": false
}
],
"scheduleDefinition": {
"type": "DAILY_WITH_INTERVAL",
"timezone": "IST",
"startDate": "20181227",
"endDate": "20181227",
"runIndefinitely": false,
"startsAt": "1015",
"endsAt": "2355",
"frequency": 15,
"frequencyUnit": "SECONDS",
"dayOfMonth": 0
},
"stopWhenRulesMet": false
}
POST応答の例
POST要求が成功した場合、次の例のような応答を受信します。
{
"id": "eX5qlosUfEHbwvNwGpRwQd",
"name": "FL512087",
"description": "Demo",
"status": "ENABLE",
"agentGroup": "01000025000000000002",
"connection": {
"type": "local",
"name": "",
"connId": ""
},
"rules": [
{
"id": 10070,
"folderPath": "C:\\temp1",
"filePattern": "*.txt",
"patternType": "wildcard",
"postAction": "NONE",
"mandatory": false,
"recursive": false
}
],
"scheduleDefinition": {
"type": "DAILY_WITH_INTERVAL",
"timezone": "IST",
"startDate": "20181227",
"endDate": "20181227",
"runIndefinitely": false,
"startsAt": "1015",
"endsAt": "2355",
"frequency": 15,
"frequencyUnit": "SECONDS",
"dayOfMonth": 0
},
"stopWhenRulesMet": false,
"listenerEvents": {
"arrive": true,
"update": true,
"delete": true
},
"checkFileStability": true,
"stabilityCheckInterval": 10,
"notifyExistingFiles": false,
"excludeFileEventsWhenNotRunning": true,
"continueOnError": true,
"emailIDs":"test@gmail.com,infa@hotmail.com",
"location": {
"folderId": "avVCKODMM0RdSmcNWDnrKi",
"folderName": "New",
"projectId": "3iWWHkLbM2giVppBmJmZgV",
"projectName": "Default"
}
}
POST要求の例
イベントリスナを作成する際にはこの例を参考にしてください。
POST <serverUrl>/public/core/v1/filelisteners
Content-Type: application/json
Accept:application/json
Content-Type:application/json
IDS-SESSION-ID:{{IDS-SESSION-ID}}
{
"name": "{{NEWEVENTLISTENER-NAME}}",
"description": "",
"agentGroup": "01000025000000000003",
"sourceType": "Server",
"location": {
"projectId": "1UNDIQkHQYKcNLPdxeR56p",
"projectName": "overRide"
},
"eventProvider": "AS2",
"eventType": "as2_message_receive_failed",
"rules": [
{
"key": "event.userName",
"value": "Suraj",
"operator": "NONE",
"type": "CONTAINS"
},
{
"key": "event.fileName",
"value": "Test",
"operator": "AND",
"type": "STRING_EQUALS"
},
{
"key": "event.fileSize",
"value": "89",
"operator": "OR",
"type": "INTEGER_EQUALS"
}
]
}
POST応答の例
POST要求が成功した場合、次の例のような応答を受信します。
{
"id": "f11rC9Kwa0UlOeg2TIjBks",
"name": "EventFL684930",
"description": "",
"agentGroup": "01000025000000000003",
"sourceType": "Server",
"location": {
"projectId": "1UNDIQkHQYKcNLPdxeR56p",
"projectName": "overRide"
},
"createTime": "2020-04-06T05:25:55Z",
"lastUpdatedTime": "2020-04-06T05:25:55Z",
"eventProvider": "AS2",
"eventType": "as2_message_receive_failed",
"rules": [
{
"key": "event.userName",
"value": "Suraj",
"operator": "NONE",
"type": "CONTAINS"
},
{
"key": "event.fileName",
"value": "Test",
"operator": "AND",
"type": "STRING_EQUALS"
},
{
"key": "event.fileSize",
"value": "89",
"operator": "OR",
"type": "INTEGER_EQUALS"
}
]
}
ファイルリスナの更新
PUT要求を使用してファイルリスナを更新します。
PUT要求
次のURIを使用して既存のファイルリスナを更新します。
PUT <server URL>/mftsaas/api/v1/filelisteners/<filelistener ID>
PUT要求で次のフィールドを使用します。
フィールド | タイプ | 必須 | 説明 |
---|
id | String | ○ | ファイルリスナに関連付けられているID番号。 |
name | String | ○ | ファイルリスナの名前。 |
description | String | - | ファイルリスナの説明。 |
status | String | ○ | ファイルリスナのステータス。 - - enabled。指定されたフォルダでファイルをリスニングしています。
- - disabled。指定されたフォルダでファイルをリスニングしていません。
|
agentGroup | Numeric | ○ | ファイルリスナの実行に使用されるSecure Agentを含むランタイム環境。 |
connectionType | String | ○ | ファイルリスナがリスニングする接続のタイプ。 |
connection | String | ○ | ファイルリスナがリスニングする接続。 |
folderPath | String | ○ | ファイルリスナがリスニングする接続上にあるフォルダへのパス。 |
filePattern | String | ○ | ファイルリスナがリスニングするファイル名パターン。 |
アクション後 | String | - | ファイルリスナがイベントをリスニングした後にファイルリスナが実行する必要のあるアクションを決定します。 ファイルパターンがインジケータファイルである場合にのみ、アクション後に[削除]を選択することができます。デフォルトは[なし]です。 次の接続タイプは、[アクション後]のオプションをサポートします。 - - ローカルフォルダ
- - Advanced FTP V2
- - Advanced FTPS V2
- - Advanced SFTP V2
- - Azure Data Lake Store Gen2
|
patternType | String | ○ | ファイルパターン。 - - wildcard。ファイル名のワイルドカードパターンを使用します。
- - regex。正規表現を使用してファイルパターンを照合します。以下に例を示します。
- - 次の構文を使用すると、名前にout、foo、bazを含むファイルを除くすべてのファイルをリスニングします。^(?!.*(?:out|baz|foo)).*$ à all except
- - 次の構文を使用すると、拡張子がdoc、docx、pdfのすべてのファイルをリスニングします。([a-zA-Z0-9\s_\\.\-\(\):])+(.doc|.docx|.pdf)$ à
|
mandatory | String | - | ルールの値が必須かどうかを定義します。 |
recursive | String | - | ルールの値が再帰的かどうかを定義します。 |
scheduleDefinition | String | ○ | ファイルリスナを実行する頻度を定義します。 |
type | String | ○ | ファイルリスナを実行する頻度(毎日、毎週、または毎月)。 |
timezone | String | ○ | 開始時刻と終了時刻のタイムゾーン。 |
startDate | Date/Time | ○ | ファイルリスナの実行を開始する日付。 |
endDate | Date/Time | ○ | ファイルリスナの実行を終了する日付。 |
runIndefinitely | String | - | ファイルリスナは無期限に実行されます。 |
startsAt | Date/Time | ○ | ファイルリスナが実行を開始する時刻。 |
endsAt | Date/Time | ○ | ファイルリスナが実行を終了する時刻。 |
frequency | Numeric | ○ | ファイルリスナがフォルダ内のファイルをチェックする頻度。 |
frequencyUnit | String | ○ | ファイルリスナがフォルダ内のファイルをチェックする頻度の単位(秒、分、時間)。 |
listenerEvents | String | ○ | ファイルリスナが、登録済みのサービスに通知を送信するタイミングを決定します。各イベントをtrueに設定した場合の応答は次のとおりです。 - - arrive。ファイルリスナがリスニングするフォルダにファイルが到着したときに通知を送信します。
- - update。ファイルリスナがリスニングするフォルダのファイルが更新されたときに通知を送信します。
- - delete。ファイルリスナがリスニングするフォルダのファイルが削除されたときに通知を送信します。
|
stopWhenRulesMet | String | - | ファイルリスナは、リスナルールに合致するとフォルダのリスニングを停止します。 - - false。ファイルリスナは、登録済みのアプリケーションにイベントを通知して、後続イベントのリスニングを継続します。
- - true。ファイルリスナは、フォルダで最初のファイル削除イベントが発生した時点でそのフォルダのリスニングを停止します。
|
checkFileStability | String | - | ファイルリスナは、登録済みのサービスに通知する前に、ファイル全体がフォルダにコピーされたかどうかを確認します。 |
stabilityCheckInterval | Time | - | ファイルリスナがファイルの安定性を確認するために待機する時間(秒単位)。 checkFileStabilityオプションがtrueに設定されている場合にのみ、stabilityCheckIntervalフィールドに値を指定できます。 |
notifyExistingFiles | String | - | ファイルリスナが初めて実行されたときにすでにリスニング対象フォルダにファイルがあった場合に通知を送信します。 |
excludeFileEventsWhenNotRunning | String | - | ファイルリスナが実行されていないときに発生するファイルイベントを除外するかどうかを決定します。 |
continueOnError | String | - | 一時的なネットワークの中断などのエラーが発生した場合に、ファイルリスナを再試行して実行し続けるかどうかを決定します。 |
emailIds | String | - | ファイルリスナにエラーが発生した場合に通知を送信するための電子メールアドレスのリスト。 リスト内の電子メールアドレスを区切るには、カンマを使用します。 |
location | String | - | プロジェクトフォルダの場所。 |
PUT要求の例
ファイルリスナを更新する際にはこの例を参考にしてください。
PUT <serverUrl>/public/core/v1/filelisteners
Content-Type: application/json
Accept:application/json
Content-Type:application/json
IDS-SESSION-ID:{{IDS-SESSION-ID}}
{
"description": "Demo",
"status": "ENABLE",
"location": {
"folderId": "avVCKODMM0RdSmcNWDnrKi",
"folderName": "New",
"projectId": "3iWWHkLbM2giVppBmJmZgV",
"projectName": "Default"
},
"agentGroup": "01000025000000000002",
"connection": {
"type": "local",
"name": "",
"connId": "",
"local": true
},
"listenerEvents":{
"arrive":true,
"update":true,
"delete":true},
"checkFileStability": true,
"stabilityCheckInterval": 10,
"notifyExistingFiles": false,
"excludeFileEventsWhenNotRunning": true,
"continueOnError": true,
"emailIDs":"test@gmail.com,infa@hotmail.com"
"rules": [
{
"id": 10070,
"folderPath": "C:\\temp1",
"patternType":"wildcard",
"filePattern": "*.txt",
"postAction": "NONE",
"mandatory": false,
"recursive": false
}
],
"scheduleDefinition": {
"type": "DAILY_WITH_INTERVAL",
"timezone": "IST",
"startDate": "20181227",
"endDate": "20181227",
"runIndefinitely": false,
"startsAt": "1015",
"endsAt": "2355",
"frequency": 15,
"frequencyUnit": "SECONDS",
"dayOfMonth": 0
},
"stopWhenRulesMet": false
}
PUT応答
ファイルリスナを更新する要求が成功した場合、次の例のような応答を受け取ります。
{
"id": "eX5qlosUfEHbwvNwGpRwQd",
"name": "FL512087",
"description": "Demo",
"status": "ENABLE",
"agentGroup": "01000025000000000002",
"connection": {
"type": "local",
"name": "",
"connId": ""
},
"rules": [
{
"id": 10070,
"folderPath": "C:\\temp1",
"filePattern": "*.txt",
"patternType": "wildcard",
"postAction": "NONE",
"mandatory": false,
"recursive": false
}
],
"scheduleDefinition": {
"type": "DAILY_WITH_INTERVAL",
"timezone": "IST",
"startDate": "20181227",
"endDate": "20181227",
"runIndefinitely": false,
"startsAt": "1015",
"endsAt": "2355",
"frequency": 15,
"frequencyUnit": "SECONDS",
"dayOfMonth": 0
},
"stopWhenRulesMet": false,
"listenerEvents": {
"arrive": true,
"update": true,
"delete": true
},
"checkFileStability": true,
"stabilityCheckInterval": 10,
"notifyExistingFiles": false,
"excludeFileEventsWhenNotRunning": true,
"continueOnError": true,
"emailIDs":"test@gmail.com,infa@hotmail.com"
"location": {
"folderId": "avVCKODMM0RdSmcNWDnrKi",
"folderName": "New",
"projectId": "3iWWHkLbM2giVppBmJmZgV",
"projectName": "Default"
}
}
ファイルリスナを更新する要求が失敗した場合、次の例のようなエラーを受け取ります。
{
"responseCode": "NOT_FOUND",
"message": "File Listener with id 'eX5qlosUfEHbwvNwGpRwQd1' not found."
}
ファイルリスナの削除
DELETE要求を使用してファイルリスナを削除します。
DELETE要求
次のURIを使用してファイルリスナを削除します。
DELETE <server URL>/mftsaas/api/v1/filelisteners/<file listener ID>
DELETE要求で次のフィールドを使用します。
フィールド | タイプ | 説明 |
---|
file listener ID | String | ファイルリスナに関連付けられているID番号。 |
DELETE応答の例
DELETE要求が失敗した場合、次の例のような応答を受信します。
{
"responseCode": "NOT_FOUND",
"message": "Document Artifact with Id = bQdKQmGlFUUgS85AevLkqi3 not found."
}
ファイルリスナの開始
POST要求を使用してファイルリスナジョブを開始します。
POST要求
ファイルリスナを開始するには、次のURIを使用します。
POST <server URL>/mftsaas/api/v1/filelisteners/<file listener ID>/start
要求に次のフィールドを含めます。
フィールド | タイプ | 説明 |
---|
file listener ID | String | ファイルリスナに関連付けられているID番号。 |
POST応答の例
ファイルリスナを開始する要求が成功した場合、次の例のような応答を受け取ります。
{
"status": "STARTED",
"jobId": 1038
}
POSTエラー応答の例
ファイルリスナを開始する要求が失敗した場合、次の例のような応答を受け取ります。
{
"responseCode": "NOT_FOUND",
"message": "File listener not found for ListenerId: bQdKQmGlFUUgS85AevLkqisd"
}
応答: エージェントのダウン(403 Forbidden)
{
"responseCode": "NOT_FOUND", "message": "Agent \"01000008000000000002\" in Agent Group \"01000025000000000002\" is not accessible."}
ファイルリスナの停止
POST要求を使用してファイルリスナジョブを停止します。
POST要求
ファイルリスナを停止するには、次のURIを使用します。
POST <server URL>/mftsaas/api/v1/filelisteners/<file listener ID>/stop
要求に次のフィールドを含めます。
フィールド | タイプ | 説明 |
---|
fileListenerID | String | ファイルリスナに関連付けられているID番号。 |
POST応答の例
ファイルリスナを停止する要求が成功した場合、次の例のような応答を受け取ります。
{
"status": "STOPPED",
"jobId": 1038
}
POST応答の例
ファイルリスナを停止する要求が失敗した場合、次の例のような応答を受け取ります。
{
"responseCode": "NOT_FOUND",
"message": "File listener not found for ListenerId: bQdKQmGlFUUgS85AevLkqisd"
}
応答: エージェントのダウン(403 Forbidden)
{
"responseCode": "NOT_FOUND", "message": "Agent \"01000008000000000002\" in Agent Group \"01000025000000000002\" is not accessible."}
ファイルリスナのステータスの表示
GET要求を使用して、ファイルリスナジョブのステータスを要求します。
GET要求
ファイルリスナのステータスを表示するには、次のURIを使用します。
GET <server URL>/mftsaas/api/v1/filelisteners/job/<Job ID>/status
要求に次のフィールドを含めます。
フィールド | タイプ | 説明 |
---|
Job ID | String | ファイルリスナジョブに関連付けられているID番号。 |
GET応答の例
ファイルリスナジョブのステータスを表示する要求が成功した場合、次の例のような応答を受け取ります。
{
"status": "STOPPED",
"jobId": 1038
}
GET応答の例
ファイルリスナジョブのステータスを表示する要求が失敗した場合、次の例のような応答を受け取ります。
{
"responseCode": "NOT_FOUND",
"message": "File listener not found for TaskId: 1079"
}
ファイルリスナジョブの詳細の取得
GET要求を使用して、ファイルリスナージョブの詳細を表示します。
GET要求
ファイルリスナの詳細を表示するには、次のURIを使用します。
GET <server URL>/mftsaas/api/v1/filelisteners/<Run ID>/activityLog
要求に次のフィールドを含めます。
フィールド | タイプ | 説明 |
---|
実行ID | String | ファイルリスナジョブに関連付けられているID番号。 |
GET応答の例
ファイルリスナジョブの詳細を表示する要求が成功した場合、次の例のような応答が返されます。
{
"instanceName": "FL_1-1006",
"jobId": 1006
"startTime": "2021-02-09T22:38:01Z",
"updateTime": “2021-02-09T22:38:01Z”,
"endTime": “2021-02-09T22:38:01Z”,
"status": “Completed”,
}
応答は、ファイルリスナのステータスによって異なります。
ファイルリスナ関連付けの所有者の変更
ファイルリスナは、タスクフローまたはファイル取り込みタスクに関連付けることができます。ファイルリスナは、ファイル取り込みタスクのソースまたはスケジュール(トリガー)として、およびタスクフローのトリガーとして使用できます。ファイルリスナの関連付けは、ファイルリスナとそれに関連付けられたファイル取り込みタスクまたはタスクフローの間の内部リンクです。ファイルリスナの関連付けの所有者は、ファイル取り込みタスクでソースまたはスケジュールとしてファイルリスナを選択した最後の人、またはファイルリスナをトリガーとしてタスクフローを公開した最後の人です。
ファイルリスナの関連付けを所有するユーザーが組織を離れるときに、ファイルリスナの関連付けの所有者を変更または転送することをお勧めします。例えば、ユーザーAlexがファイル取り込みタスクを作成し、ユーザーBethがファイルリスナを作成し、ユーザーClaraがファイル取り込みタスクのソースまたはスケジュールとしてファイルリスナを選択した場合、Claraがファイルリスナの関連付けの所有者になります。Claraが組織を離れる場合、彼女のユーザーアカウントを削除する前に、彼女に割り当てられたファイルリスナの関連付けを他のユーザーに再割り当てする必要があります。
POST要求
POST要求を使用して、ファイルリスナの関連付けの所有者をあるユーザーから別のユーザーに変更します。
次のURIを使用して、ファイルリスナの関連付けの所有者を変更します。
POST <serverUrl>/mftsaas/api/v1/ChangeCallbackOwnership
POST要求で次のフィールドを使用します。
フィールド | タイプ | 必須 | 説明 |
---|
currentOwner | String | ○ | 現在の所有者のユーザーID。 |
newOwner | String | ○ | 新しい所有者のユーザーID。 |
POST要求の例
このサンプルを参考として使用して、ファイルリスナの関連付けの所有者を変更します。
POST <serverUrl>/mftsaas/api/v1/ChangeCallbackOwnership
Content-Type: application/json
Accept:application/json
Content-Type:application/json
IDS-SESSION-ID:{{IDS-SESSION-ID}}
{
"currentOwner": "{{UserIDwhoLeftTheOrganization}}",
"newOwner": "{{NewUserID}}"
}
POST応答の例
POST要求が成功した場合、次の例のような応答を受信します。
200 OK