Exportación de datos de auditoría
Para ambas implementaciones del subsistema de auditoría, utilice el servicio ExportAuditData para exportar una versión localizada de los mensajes de auditoría, ya sea desde los datos fuera de línea (archivados) o desde los datos en línea. Este servicio crea los mensajes de auditoría localizados a partir de los datos fuera de línea y los datos en línea. Este servicio toma una configuración regional, un nombre de almacén, una ruta de destino, un nombre de fichero de destino, una fecha de inicio y una fecha de fin. Cuando se invoca, el servicio exporta todas las entradas coincidentes desde el almacenamiento fuera de línea a un fichero zip en la ruta de destino proporcionada, utilizando el nombre de fichero de destino dado. La exportación se ordena por fecha de auditoría.
* 
Si la implementación de persistencia directa está activa, también se pueden exportar los datos de auditoría en línea desde la base de datos mediante el servicio ExportOnlineAuditData. Este servicio tiene una opción query que se puede utilizar para filtrar y clasificar los datos exportados.
El servicio ExportAuditData y sus entradas son los siguientes:

ExportAuditData(locale[String],
targetRepositoryName[THINGNAME],
targetPath[STRING],
targetFileName[STRING],
startDate(dateTime),
endDate(dateTime))
En la siguiente tabla se enumeran y se describen brevemente los parámetros de entrada, y se describe su tipo base de ThingWorx:
Parámetro
Descripción
Tipo base
locale
La abreviatura del nombre del idioma en el que se deben devolver los resultados. (STRING). Por ejemplo, fr para francés o zh_CN para chino (China). Para obtener una lista de configuraciones regionales que ThingWorx soporta, consulte Configuraciones regionales soportadas.
STRING
targetRepositoryName
El nombre de la cosa de almacén de ficheros donde se debe almacenar el fichero de salida que contiene las entradas de auditoría localizadas.
THINGNAME
targetPath
La ubicación en la que se debe escribir el fichero de salida.
STRING
targetFileName
El nombre del fichero de salida en el que se deben almacenar los datos de auditoría localizados.
STRING
startDate
La fecha y hora de la primera entrada de auditoría que desee exportar. Se exportan todas las entradas con una fecha y hora posteriores a esta entrada de auditoría y anteriores a endDate.
DATETIME
endDate
La fecha y hora de la última entrada de auditoría que desee exportar. Se exportan todas las entradas con una fecha y hora anteriores a esta entrada de auditoría y posteriores a startDate.
DATETIME
Este es un ejemplo de una llamada a este servicio:

AuditSubsystem.ExportAuditData("en", myExportRepository, "/auditExport/",
"export_02-03_one_hour", 2020-02-03 18:50:03.000, 2020-02-03 19:50:03.000)
En este ejemplo se creará una exportación en inglés en myExportRepository en /auditExport/export_02-03_one_hour.zip. En el contenido se incluirán todos los mensajes de auditoría, tanto en línea como fuera de línea, en función de las fechas de inicio y finalización especificadas. El tamaño del fichero ZIP exportado depende de la cantidad de datos recopilada entre las fechas de inicio y finalización. En la tabla siguiente se muestra el contenido de la exportación en función de las fechas de inicio y finalización:
Fecha de inicio
Fecha de fin
Contenido de la exportación
2020-02-03 18:50:03.000 (fecha y hora específicas)
2020-02-03 19:50:03.000 (fecha y hora específicas)
Todos los datos en línea y fuera de línea desde la fecha de inicio hasta la fecha de finalización, que en este ejemplo, son la misma fecha (2020-02–03), y los datos de una hora (desde las 18:50:03.000 hasta las 19:50:03.000.
null
2020-02-03 19:50:03.000 (fecha y hora específicas)
Todos los datos en línea y los datos fuera de línea anteriores a la fecha y hora de finalización (2020-02-03 19:50:03.000). Con la fecha de inicio definida en null, la exportación puede contener un gran volumen de datos de auditoría, según la fecha real en la que se hayan empezado a conservar los datos fuera de línea.
2020-02-03 18:50:03.000 (fecha y hora específicas)
null
Todos los datos en línea y los datos fuera de línea entre la fecha y hora de inicio y la fecha y hora actual, que se especifica definiendo la fecha de finalización en null.
null
null
Todos los datos de auditoría, tanto en línea como fuera de línea. No se recomienda, ya que puede tardar mucho tiempo.
En función de la implementación activa, el fichero export_02-03_one_hour. zip contendrá cualquiera de los siguientes ficheros:
Persistencia directa: AuditArchiveDirectPersistence/export/export_02-03_one_hour.json.
Tabla de datos: AuditArchive/export/export_02-03_one_hour.json.
A continuación, se muestra un ejemplo de JSON en el fichero de exportación cuando la implementación de persistencia directa está activa.:

{
"rows": [ {
"auditCategory": "System",
"application": "ThingWorxCore",
"sourceType": "Subsystem",
"id": "1002",
"source": "AuditSubsystem",
"message": "Updated Subsystem \"AuditSubsystem\"",
"user": "Administrator",
"timestamp": 1582194488947
}]
}
A continuación, se muestra un ejemplo de JSON en el fichero de exportación cuando la implementación de tabla de datos está activa:

{
"rows": [
{
"auditCategory": "Modeling",
"sourceType": "ModelTagVocabulary",
"source": "IntegrationTesting",
"id": "12345678-0123-4567-8901-123457890123",
"message": "Created ModelTagVocabulary \"IntegrationTesting\"",
"user": "Administrator",
"timestamp": 1580773803
},
...
...
]
}
Se debe tener en cuenta que el formato de id difiere entre las dos implementaciones y que el fichero de exportación de persistencia directa contiene una propiedad adicional denominada application. En la siguiente tabla se describen las propiedades de los ficheros de exportación, con notas acerca de estas diferencias:
Propiedad
¿Implementación?
Descripción
auditCategory
Ambas
El nombre de la categoría del mensaje de auditoría. En los ejemplos anteriores se muestran distintas categorías:
Persistencia directa: categoría System
Tabla de datos: categoría Modeling
Para obtener información acerca de las categorías de auditoría, consulte Categorías de auditoría.
application
Solo persistencia directa
El nombre de la aplicación que ha generado el mensaje de auditoría. En el ejemplo de persistencia directa anterior, los mensajes de auditoría los genera la instancia básica de ThingWorx Platform, por lo que el valor se define en ThingworxCore.
sourceType
Ambas
El tipo asociado a la aplicación que ha generado este mensaje de auditoría (source). En los ejemplos anteriores se muestran distintos tipos de origen, que reflejan el elemento auditCategory para ambas implementaciones y application para la persistencia directa.
Persistencia directa: Subsystem
Tabla de datos: ModelTagVocabulary
source
Ambas
La aplicación o el fichero ejecutable de ThingWorx que ha generado este mensaje de auditoría. En los ejemplos anteriores se muestran distintas aplicaciones de ThingWorx:
En el ejemplo de persistencia directa, el origen es Audit Subsystem.
En el ejemplo de la tabla de datos, el origen es IntegrationTesting.
id
Ambos, con diferencias de formato
Implementación de persistencia directa: el ID de base de datos generado automáticamente para la application que ha generado el mensaje de auditoría.
Implementación de tabla de datos: el GUID de la aplicación que ha generado el mensaje de auditoría.
message
Ambas
El texto del mensaje de auditoría.
user
Ambas
El nombre de conexión del usuario que estaba ejecutando la aplicación cuando se ha generado el mensaje de auditoría.
timestamp
Ambas
En tiempo de época, la fecha y hora en que se ha generado el mensaje de auditoría.
¿Qué ocurre con los datos en línea después de una exportación?
Los datos en línea permanecen en el almacenamiento en línea después de una exportación. Los datos se pueden borrar manualmente del almacenamiento en línea mediante la ejecución del servicio PurgeAuditData o, automáticamente, mediante la configuración de la API AuditPurgeScheduler.
¿Fue esto útil?