監査データのエクスポート
オフライン (アーカイブされた) データからかオンラインデータからかを問わず、監査メッセージのローカライズバージョンをエクスポートするには、ExportAuditData サービスが使用されます。このサービスはアーカイブデータとオンラインデータからローカライズされた監査メッセージを作成します。このサービスはリポジトリ名、ターゲットパス、ターゲットファイル名、開始日、終了日をとり、オンラインまたはオフラインストレージから、指定されたターゲットパスにある指定されたターゲットファイル名が付いた ZIP ファイルにすべてのエントリをエクスポートします。エクスポートは監査日によって並べ替えられています。このサービスとその入力は以下のようになります:

ExportAuditData(locale[String], targetRepositoryName[THINGNAME],
targetPath[STRING],
targetFileName[STRING],
startDate(dateTime),
endDate(dateTime))
以下の表に、入力パラメータ、各パラメータの簡単な説明、その ThingWorx ベースタイプを示します。
パラメータ
説明
ベースタイプ
locale
データがエクスポートされる言語を表す 2 文字の略語。たとえば、"en" は英語、"fr" はフランス語です。
STRING
targetRepositoryName
ローカライズされた監査エントリが含まれている出力ファイルの保存先となるファイルリポジトリ Thing の名前。
THINGNAME
targetPath
出力ファイルの書き込み先となる場所。
STRING
targetFileName
ローカライズされた監査データを保存する出力ファイルの名前。
STRING
startDate
エクスポートする最初の監査エントリの日時。タイムスタンプがこの監査エントリ以降かつ endDate 以前であるすべての監査エントリがエクスポートされます。
DATETIME
endDate
エクスポートする最後の監査エントリの日時。タイムスタンプがこの監査エントリ以前かつ startDate 以降であるすべての監査エントリがエクスポートされます。
DATETIME
このサービスの呼び出し例を以下に示します。

AuditSubsystem.ExportAuditData("en", myExportRepository, "/auditExport/",
"export_11-03_one_hour", 2017-11-03 18:50:03.000, 2017-11-03 19:50:03.000)
この例では、/auditExport/export_11-03_one_hour.zip にある myExportRepository 内に英語のエクスポートを作成します。指定されている開始日と終了日に基づいて、すべてのオンライン監査メッセージとすべてのオフライン監査メッセージがコンテンツに含まれます。エクスポートされる ZIP ファイルのサイズは、開始日から終了日までの間に収集されたデータの量によって異なります。以下の表に、開始日と終了日に基づいた、エクスポートのコンテンツを示します。
開始日
終了日
エクスポートのコンテンツ
2017-11-03 18:50:03.000 (特定の日時)
2017-11-03 19:50:03.000 (特定の日時)
開始日時から終了日時までのすべてのオンラインデータとオフラインデータ。この例では、開始日時と終了日時は日付が同じ (2017–11–03) であり、1 時間分のデータ (18:50:03.000 から 19:50:03.000) がエクスポートされます。
null
2017-11-03 19:50:03.000 (特定の日時)
終了日時 (2017-11-03 19:50:03.000) よりも古いすべてのオンラインデータとオフラインデータ。開始日を null に設定した場合、オフラインデータの実際の維持開始日によっては、大量の監査データがエクスポートに含まれることがあります。
2017-11-03 18:50:03.000 (特定の日時)
null
開始日時から現在日時 (終了日を null に設定することによって指定) までのすべてのオンラインデータとオフラインデータ。
null
null
すべての監査データ (オンラインおよびオフライン)。これには非常に長い時間がかかることがあるので、推奨されません。
先ほどの例の続きで、export_11-03_one_hour.zip ファイルにはファイル AuditArchives/export/export_11-03_one_hour.json が含まれます。エクスポートに含まれる JSON の例を以下に示します。

{
"rows": [
{
"auditCategory": "Modeling",
"sourceType": "ModelTagVocabulary",
"source": "IntegrationTesting",
"id": "12345678-0123-4567-8901-123457890123",
"message": "Created ModelTagVocabulary \"IntegrationTesting\"",
"user": "Administrator",
"timestamp": 1490029001679
},
...
...
]
}
この例で返される情報には以下の詳細が含まれています。
auditCategory - 監査メッセージのカテゴリの名前。上の例では、これは Modeling カテゴリです。監査カテゴリの詳細については、 監査カテゴリを参照してください。
sourceType - この監査メッセージを生成したアプリケーション (source) に関連付けられているタイプ。
source - この監査メッセージを生成した ThingWorx アプリケーションまたは実行ファイル。この例では、source は IntegrationTesting です。
id - この監査メッセージを生成したアプリケーションの GUID。GUID は、実際には ThingWorx によってそのアプリケーション用に生成されたアプリケーションキーです。
message - 監査メッセージのテキスト。
user - この監査メッセージが生成されたときにアプリケーションを実行していたユーザーのログイン名。
timestamp - エポック時間での、この監査メッセージが生成された日時。
エクスポートの後でオンラインデータはどうなるか?
以下の条件が満たされている場合、オンラインデータはエクスポートの後もオンラインストレージ内に残ります。
監査サブシステムの DaysOnline パラメータで指定されている日数よりもオンラインデータの経過日数が短い。デフォルトでは、この設定は 60 日です。
オンライン監査データテーブル内の行数が、指定されている最大行数 (監査サブシステムの maxEntriesOnlineAuditData パラメータ) よりも少ない。デフォルト値は 500000 行です。
スケジュールされたエクスポートでは、エクスポート操作が ArchiveAuditHistory サービスを呼び出し、このサービスが監査データをオンラインストレージから AuditArchiveFileRepository にコピーして、この両方の条件が満たされている場合にはデータをオンラインのままにします。このどちらか一方でも満たされていない場合 (データが指定された日数より古い、またはテーブル内の行数が最大行数を超えている)、エクスポート中にオンラインデータがオフラインストレージにアーカイブされた後でオンラインデータがオンラインストレージから除去されます。