オンライン監査データのエクスポート
直接永続実装がアクティブな場合、オンラインデータストアから監査メッセージのローカライズバージョンをエクスポートするには、ExportOnlineAuditData サービスを使用します。ExportOnlineAuditData サービスは直接永続実装でのみ使用可能なので、データストアは、ThingWorx Platform の永続化プロバイダとして設定されている、PostgreSQL または MS SQL のいずれかのデータベースとなります。
ExportOnlineAuditData サービスはオンラインデータからローカライズされた監査メッセージを作成します。このサービスは、ロケール、リポジトリ名、ターゲットパス、ターゲットファイル名、開始日、終了日をとります。ロケールは、監査メッセージの翻訳に使用されます。このサービスが呼び出されると、オンラインストレージ内の指定された基準と一致する監査エントリを、指定されたターゲットファイル名を使用して、指定されたターゲットパスにある ZIP ファイルにエクスポートします。エクスポートは監査日によって並べ替えられています。このサービスとその入力は以下のようになります:

ExportOnlineAuditData(locale[STRING],
targetRepositoryName[THINGNAME],
targetPath[STRING],
targetFileName[STRING],
startDate[DATETIME],
endDate[DATETIME],
query[QUERY])
以下の表に、入力パラメータ、各パラメータの簡単な説明、その ThingWorx ベースタイプを示します。
パラメータ
説明
ベースタイプ
locale
結果を返す言語の省略名 (STRING). たとえば、フランス語は fr、中国語 (中国) は zh_CN です。ThingWorx でサポートされているロケールの一覧については、サポートされているロケールを参照してください。
STRING
targetRepositoryName
ローカライズされた監査エントリが含まれている出力ファイルの保存先となるファイルリポジトリ Thing の名前。
THINGNAME
targetPath
出力ファイルの書き込み先となる場所。
STRING
targetFileName
ローカライズされた監査データを保存する出力ファイルの名前。
STRING
startDate
エクスポートする最初の監査エントリの日時。最初にエクスポートされた監査エントリの日時以降かつ endDate 以前のタイムスタンプが付いたすべての監査エントリがエクスポートされます。
DATETIME
endDate
エクスポートする最後の監査エントリの日時。最後にエクスポートされた監査エントリの日時以前かつ startDate 以降のタイムスタンプが付いたすべての監査エントリがエクスポートされます。
DATETIME
query
監査データのフィルタと並べ替えに使用される JSON フォーマットのクエリー。このパラメータにはデフォルト値はありません。例については、以下のオンライン監査データのエクスポートの例のセクションを参照してください。
オンライン監査データのエクスポートの例
このサービスの呼び出し例を以下に示します。

AuditSubsystem.ExportOnlineAuditData("en", myExportRepository, "/auditExport/",
"export_02-03_one_hour", 2020-02-03 18:50:03.000, 2020-02-03 19:50:03.000,
{
"filters": {
"type": "OR",
"filters": [{
"type": "EQ",
"fieldName": "user",
"value": "Administrator",
"isCaseSensitive": false
},
{
"type": "Between",
"fieldName": "timestamp",
"from": 1570195753953,
"to": 1570195753961
},
{
"type": "IN",
"fieldName": "source",
"values": ["test_tt", "test"],
"isCaseSensitive": false
},}
]
},
"sorts": [
{
"fieldName": "source",
"isAscending": true,
"isCaseSensitive": true
},
{
"fieldName": "timestamp",
"isAscending": true,
"isCaseSensitive": true
}
]
})
この例では、myExportRepository 内にある /auditExport/export_02-03_one_hour.zip に英語のエクスポートを作成します。指定されている開始日と終了日に基づいて、すべてのオンライン監査メッセージがコンテンツに含まれます。エクスポートされる ZIP ファイルのサイズは、開始日から終了日までの間に収集されたデータの量によって異なります。以下の表に、開始日と終了日に基づいた、エクスポートのコンテンツを示します。
開始日
終了日
エクスポートのコンテンツ
2020-02-03 18:50:03.000 (特定の日時)
2020-02-03 19:50:03.000 (特定の日時)
開始日時から終了日時までのすべてのオンラインデータ。この例では、開始日時と終了日時は日付が同じ (2020–02–03) であり、1 時間分のデータ (18:50:03.000 から 19:50:03.000) がエクスポートされます。
null
2020-02-03 19:50:03.000 (特定の日時)
終了日時 (2020-02-03 19:50:03.000) よりも古いすべてのオンラインデータ。開始日を null に設定した場合、データベースストレージ内の監査メッセージの量とオンラインデータの保持基準によっては、大量の監査データがエクスポートに含まれることがあります。
2020-02-03 18:50:03.000 (特定の日時)
null
開始日時から現在日時 (終了日を null に設定することによって指定) までのすべてのオンラインデータ。
null
null
すべてのオンライン監査データ。これには非常に長い時間がかかることがあるので、推奨されません。
引き続きこの例について説明すると、export_02-03_one_hour.zip ファイルによって AuditArchiveDirectPersistence/export/export_02-03_one_hour.json という名前のアーカイブファイルが作成されます。
エクスポートファイル AuditArchiveDirectPersistence/export/export_02-03_one_hour.json 内の JSON の例を以下に示します。

{
"rows":[
{
"auditCategory":"Modeling",
"application":"ThingWorxCore",
"sourceType":"Thing",
"id":"4164",
"source":"ExampleThing",
"message":"Created Thing \"ExampleThing\"",
"user":"ExampleUser",
"timestamp":1580773803
},
...
...
]
}
この直接永続の例で返される情報には以下の詳細が含まれています。
プロパティ
説明
auditCategory
監査メッセージのカテゴリの名前。上の例では、これは Modeling カテゴリです。監査カテゴリの詳細については、監査カテゴリを参照してください。
application
この監査メッセージを生成したアプリケーションの名前。コア ThingWorx Platform によって生成された監査メッセージでは、この値は ThingworxCore に設定されています。
sourceType
この監査メッセージを生成したアプリケーション (Thing) に関連付けられているタイプ。
source
この監査メッセージを生成した ThingWorx アプリケーションまたは実行ファイル。この例では、source は ExampleThing です。
id
これは監査エントリに自動生成された一意の識別子です。この例では、id4164 です。
message
監査メッセージのテキスト。
user
この監査メッセージが生成されたときにアプリケーションを実行していたユーザーのログイン名。
timestamp
エポック時間での、この監査メッセージが生成された日時。
エクスポートの後でオンラインデータはどうなるか?
オンラインデータはエクスポートの後もオンラインストレージに残ります。データは、ArchiveAuditHistory サービスを実行することによってオンラインストレージから手動で削除することも、AuditArchiveScheduler を設定することによって自動的に削除することもできます。
これは役に立ちましたか?