Exportación de datos de auditoría
El servicio ExportAuditData se utiliza para exportar una versión localizada de mensajes de auditoría, ya sea desde los datos fuera de línea (archivados) o los datos en línea. Este servicio crea los mensajes de auditoría localizados a partir de los datos archivados y los datos en línea. Este servicio toma un nombre de almacén, una ruta de destino, un nombre de fichero de destino, una fecha de inicio y una fecha de finalización, y exporta todas las entradas de almacenamiento en línea o fuera de línea a un fichero ZIP en la ruta de destino determinada y en el nombre de fichero de destino determinado. La exportación se ordena por fecha de auditoría. El servicio y sus entradas siguen este formato:

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 de dos letras del idioma en que se deben exportar los datos. Por ejemplo, "en" para inglés o "fr" para francés.
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_11-03_one_hour", 2017-11-03 18:50:03.000, 2017-11-03 19:50:03.000)
En este ejemplo se creará una exportación en inglés en myExportRepository en /auditExport/export_11-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
2017-11-03 18:50:03.000 (fecha y hora específicas)
2017-11-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 (2017–11–03), y los datos de una hora (desde las 18:50:03.000 hasta las 19:50:03.000.
null
2017-11-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 (2017-11-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.
2017-11-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.
Siguiendo con el ejemplo, en el fichero export_11 03_one_hour.zip se incluirá el fichero AuditArchives/export/export_11-03_one_hour.json. Este es un ejemplo del JSON en la exportación:

{
"rows": [
{
"auditCategory": "Modeling",
"sourceType": "ModelTagVocabulary",
"source": "IntegrationTesting",
"id": "12345678-0123-4567-8901-123457890123",
"message": "Created ModelTagVocabulary \"IntegrationTesting\"",
"user": "Administrator",
"timestamp": 1490029001679
},
...
...
]
}
En la información que se devuelve para este ejemplo se incluyen los siguientes detalles:
auditCategory: 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.
sourceType: tipo asociado a la aplicación que ha generado este mensaje de auditoría (source).
source: aplicación o fichero ejecutable de ThingWorx que ha generado mensaje de auditoría. En el ejemplo, el origen es IntegrationTesting.
id: GUID de la aplicación que ha generado el mensaje de auditoría. El GUID es, en realidad, una clave de aplicación que ThingWorx genera para la aplicación.
message: texto del mensaje de auditoría.
user: nombre de conexión del usuario que estaba ejecutando la aplicación cuando se había 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, siempre y cuando se cumplan las siguientes condiciones:
La antigüedad de los datos en línea es menor que el número de días especificado para el parámetro DaysOnline del subsistema de auditoría. Por defecto, esta configuración es de 60 días.
La tabla de datos de auditoría en línea tiene menos filas que el número máximo de filas especificado (parámetro maxEntriesOnlineAuditData del subsistema de auditoría). El valor por defecto es 500.000 filas.
La operación de exportación llama al servicio ArchiveAuditHistory, que copia los datos de auditoría del almacenamiento en línea en el AuditArchiveFileRepository para la exportación programada y los deja en línea si ambas condiciones son verdaderas. Si alguna de las dos no es verdadera (los datos son más antiguos que el número de días o la tabla tiene más filas que el número máximo de filas), los datos en línea se quitan del almacenamiento en línea después de archivarse en el almacenamiento fuera de línea durante la exportación.