エクスポートおよびインポートの追跡
ThingWorx でエンティティやデータをインポートおよびエクスポートする際、その進行状況を追跡できます。
タスクの進行状況ステータス
キャッシュを使用して、送信されたタスクの進捗状況を追跡します。タスクには次のステータスがあります。
ステータス
|
説明
|
登録済み
|
タスクは進捗状況を追跡するキャッシュに送信されています。
|
進行中
|
タスクは現在進行中です。
|
成功
|
タスクは例外が発生することなく完了しました。
|
一部成功
|
タスクは完了しましたが、いくつかのサブタスクではエラー/例外が発生し、完了しませんでした。
|
失敗
|
エラー/例外が発生してタスクが完了せず、中断しています。
|
未登録
|
このタスクはキャッシュ内に見つからず、進行状況ステータスが追跡されていません。
|
エクスポート/インポートタスクの進捗状況の追跡の有効化
この機能を有効にするには、サービス呼び出しに trackTaskProgress=true パラメータを追加します。エクスポート ( > ) およびインポート ( > ) 操作では、関連タスクの追跡は有効になりません。
• エンティティのエクスポートタスクの進捗状況の有効化
次に、エクスポートタスクの進行状況の追跡を有効にするための呼び出し例を示します。
http://localhost:8080/Thingworx/Exporter?repositoryName=SystemRepository&path=/&trackTaskProgress=true
ヘッダーに Accept=application/octet-stream を追加します。
この GET リクエストへの応答で taskID が送信されます。次に応答の例を示します。
"エンティティのエクスポートが処理のため送信されました。タスク - 1493913609284 の完了ステータスをログで確認してください。"
ここで、taskID は 1493913609284 です。この応答からこの taskID を取得し、それを使用してタスクの完了ステータスを追跡する必要があります。
• エンティティのインポートタスクの進捗状況の有効化
次に、エクスポートタスクの進行状況の追跡を有効にするための呼び出し例を示します。
http://localhost:8080/Thingworx/Importer?repositoryName=SystemRepository&path=/&trackTaskProgress=true&exportFileName=AllEntities.twx
この GET リクエストへの応答で taskID が送信されます。次に応答の例を示します。
"エンティティのインポートが処理のため送信されました。タスク - 1493913609285 の完了ステータスをログで確認してください。"
taskID は 1493913609285 です。この応答からこの taskID を取得し、それを使用してタスクの完了ステータスを追跡する必要があります。
追跡を使用したタスク完了ステータスの取得
エクスポート/インポートの GET リクエストの応答で送信された taskID を使用して、そのタスクの進行状況を追跡できます。taskCacheKey=taskID は、その特定のタスクの完了ステータスを追跡するために、サービス呼び出しに必要なパラメータです。
• エクスポート進行状況タスクの追跡
次に、送信済みのタスクの完了ステータスを取得するための追跡の例を示します。
http://localhost:8080/Thingworx/Exporter/cache/?taskCacheKey=1493913609284
キャッシュ内のタスクのステータスに基づき、応答がユーザーに送信されます。上記で説明したタスクの進行状況ステータスのいずれかが応答に含まれています。ユーザーとして、返されたタスクステータスに基づいて定期的に追跡し、最終的に登録済みタスクのステータスを取得できます。
• インポート進行状況タスクの追跡
次に、送信済みのタスクの完了ステータスを取得するための追跡の例を示します。
http://localhost:8080/Thingworx/Importer?taskCacheKey=1493913609285
キャッシュ内のタスクのステータスに基づき、応答がユーザーに送信されます。上記で説明したタスクの進行状況ステータスのいずれかが応答に含まれています。返されたタスクステータスに基づいて定期的に追跡し、最終的に登録済みタスクのステータスを取得できます。