Exportación de datos de auditoría en línea
Cuando la implementación de persistencia directa está activa, utilice el servicio ExportOnlineAuditData para exportar una versión localizada de los mensajes de auditoría del almacén de datos en línea. Puesto que el servicio ExportOnlineAuditData solo está disponible para la implementación de persistencia directa, el almacén de datos es la base de datos configurada como proveedor de persistencia para ThingWorx Platform, PostgreSQL o MS SQL.
El servicio ExportOnlineAuditData crea los mensajes de auditoría localizados a partir de 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. La configuración regional se utiliza para la traducción de los mensajes de auditoría. Cuando se invoca, el servicio exporta las entradas de auditoría que coinciden con los criterios especificados del almacenamiento en 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. El servicio y sus entradas siguen este formato:

ExportOnlineAuditData(locale[STRING],
targetRepositoryName[THINGNAME],
targetPath[STRING],
targetFileName[STRING],
startDate[DATETIME],
endDate[DATETIME],
query[QUERY])
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 de auditoría con una fecha y hora posterior a la fecha y hora de la primera entrada de auditoría exportada y anterior a endDate.
DATETIME
endDate
La fecha y hora de la última entrada de auditoría que desee exportar. Se exportan todas las entradas de auditoría con una fecha y hora anterior a la fecha y hora de la última entrada de auditoría exportada y posterior a startDate.
DATETIME
query
Una consulta con formato JSON para filtrar y clasificar los datos de auditoría. No hay ningún valor por defecto para este parámetro. Para obtener un ejemplo, consulte la sección Ejemplo de exportación de datos de auditoría en línea, a continuación.
Ejemplo de exportación de datos de auditoría en línea
Este es un ejemplo de una llamada a este servicio:

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
}
]
})
En este ejemplo se crea una exportación en inglés en myExportRepository en /auditExport/export_02-03_one_hour.zip. El contenido será todos los mensajes de auditoría en línea, según las fechas de inicio y fin 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 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 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, en función de la cantidad de mensajes de auditoría del almacenamiento de bases de datos y la directiva de retención de datos en línea.
2020-02-03 18:50:03.000 (fecha y hora específicas)
null
Todos los datos en línea entre la fecha y hora de inicio y la fecha y hora actual, que se especifican definiendo la fecha de finalización en null.
null
null
Todos los datos de auditoría en línea. No se recomienda, ya que puede tardar mucho tiempo.
Continuando con el ejemplo, el fichero export_02-03_one_hour.zip crea un fichero de archivo, denominado AuditArchiveDirectPersistence/export/export_02-03_one_hour.json.
A continuación, se muestra un ejemplo de JSON en el fichero de exportación,AuditArchiveDirectPersistence/export/export_02-03_one_hour.json:

{
"rows":[
{
"auditCategory":"Modeling",
"application":"ThingWorxCore",
"sourceType":"Thing",
"id":"4164",
"source":"ExampleThing",
"message":"Created Thing \"ExampleThing\"",
"user":"ExampleUser",
"timestamp":1580773803
},
...
...
]
}
En la información que se devuelve para este ejemplo de persistencia directa se incluyen los siguientes detalles:
Propiedad
Descripción
auditCategory
El nombre de la categoría del mensaje de auditoría. En el ejemplo anterior, es la categoría Modeling. Para obtener información acerca de las categorías de auditoría, consulte Categorías de auditoría.
application
El nombre de la aplicación que ha generado el mensaje de auditoría. Para los mensajes de auditoría generados por ThingWorx Platform básico, el valor se define en ThingworxCore.
sourceType
El tipo asociado a la aplicación que ha generado este mensaje de auditoría (Thing).
source
La aplicación o el fichero ejecutable de ThingWorx que ha generado este mensaje de auditoría. En el ejemplo, el origen es ExampleThing.
id
Se trata de un identificador único, generado automáticamente para la entrada de auditoría. En este ejemplo, id es 4164.
message
El texto del mensaje de auditoría.
user
El nombre de conexión del usuario que estaba ejecutando la aplicación cuando se ha generado el mensaje de auditoría.
timestamp
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 ArchiveAuditHistory o, automáticamente, mediante la configuración de la API AuditArchiveScheduler.
¿Fue esto útil?