导出审计数据
ExportAuditData 服务用于从离线 (存档) 数据或在线数据导出审计消息的本地化版本。此服务可构建已存档和在线数据的本地化审计消息。此服务采用信息库名称、目标路径、目标文件名称、开始日期和结束日期,并将所有条目从在线或离线存储导出至给定目标路径下的 zip 文件 (使用给定的目标文件名称)。导出按审计日期进行排序。服务及其输入如下:

ExportAuditData(locale[String], targetRepositoryName[THINGNAME],
targetPath[STRING],
targetFileName[STRING],
startDate(dateTime),
endDate(dateTime))
下表列出了输入参数、对其进行了简要介绍并显示了其 ThingWorx 基本类型:
参数
说明
基本类型
locale
导出数据时所用语言的双字母缩写。例如,英语的缩写为 "en",法语的缩写为 "fr"。
STRING
targetRepositoryName
“文件信息库”事物的名称,其中输出文件包含应存储的本地化审计条目。
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)、一小时的数据 (从 18:50:03.00019: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 应用程序或可执行程序。在示例中,源是 IntegrationTesting
id - 生成审计消息的应用程序 GUID。GUID 实际上是由 ThingWorx 为应用程序生成的应用程序密钥。
message - 审计消息的文本。
user - 生成审计消息时,运行应用程序的用户的登录名。
timestamp - 在时间段内,生成审计消息的日期和时间。
导出后在线数据会发生什么情况?
只要满足以下条件,在线数据会在导出后保留在在线存储中:
在线数据的时长小于审计子系统 DaysOnline 参数的指定天数。默认情况下,此设置为 60 天。
在线审计数据表行数少于为其指定的最大行数 (审计子系统 maxEntriesOnlineAuditData 参数)。默认值为 500000 行。
导出操作会调用 ArchiveAuditHistory 服务,可将审计数据从在线存储复制到 AuditArchiveFileRepository 以进行计划的导出,且在这两个条件为 true 时使数据保持在线状态。如果任一条件不为 true (数据超出天数或表的行数超过最大行数),则在线数据会在导出过程中存档到离线存储,然后从在线存储中移除。