Exportation des données d'audit
Le service ExportAuditData permet d'exporter une version localisée des messages d'audit, qu'ils proviennent des données (archivées) hors ligne ou des données en ligne. Ce service génère des messages d'audit localisés à partir des données archivées et en ligne. Il prend en entrée un nom de référentiel, un chemin d'accès cible, un nom de fichier cible, une date de début et une date de fin, puis il exporte dans un fichier ZIP toutes les entrées des espaces de stockage en ligne ou hors ligne vers le chemin d'accès cible en attribuant le nom de fichier cible défini. L'exportation est triée par date d'audit. Vous trouverez ci-après le service et ses paramètres d'entrée :

ExportAuditData(locale[String], targetRepositoryName[THINGNAME],
targetPath[STRING],
targetFileName[STRING],
startDate(dateTime),
endDate(dateTime))
Le tableau suivant répertorie et décrit brièvement les paramètres d'entrée, et indique leur type de base ThingWorx associé :
Paramètre
Description
Type de base
locale
Code à deux lettres correspondant à la langue d'exportation des données. Par exemple, "en" pour l'anglais ou "fr" pour le français
STRING
targetRepositoryName
Nom de l'objet de référentiel de fichiers dans lequel le fichier de sortie contenant les entrées d'audit localisées doit être stocké
THINGNAME
targetPath
Emplacement de génération du fichier de sortie
STRING
targetFileName
Nom du fichier de sortie dans lequel les données d'audit localisées doivent être stockées
STRING
startDate
Date et heure de la première entrée d'audit que vous souhaitez exporter. Toutes les entrées d'audit dont l'horodatage est postérieur à cette entrée d'audit et antérieur au paramètre endDate sont exportées.
DATETIME
endDate
Date et heure de la dernière entrée d'audit que vous souhaitez exporter. Toutes les entrées d'audit dont l'horodatage est antérieur à cette entrée d'audit et postérieur au paramètre startDate sont exportées.
DATETIME
Vous trouverez ci-après un exemple d'appel de ce service :

AuditSubsystem.ExportAuditData("en", myExportRepository, "/auditExport/",
"export_11-03_one_hour", 2017-11-03 18:50:03.000, 2017-11-03 19:50:03.000)
Dans cet exemple, un fichier d'exportation des données en anglais nommé /auditExport/export_11-03_one_hour.zip sera créé dans myExportRepository. Le fichier contiendra tous les messages d'audit en ligne et hors ligne, correspondant aux dates de début et de fin spécifiées. La taille du fichier dépendra de la quantité de données collectées pour la période indiquée. Le tableau suivant affiche le contenu de l'exportation, en fonction des dates de début et de fin :
Date de début
Date de fin
Contenu de l'exportation
2017-11-03 18:50:03.000 (date et heure spécifiques)
2017-11-03 19:50:03.000 (date et heure spécifiques)
Toutes les données en ligne et hors ligne correspondant aux dates de début et de fin définies (dans cet exemple, la même date : 2017–11–03), qui regroupent les données consignées pendant une heure (de 18:50:03.000 à 19:50:03.000)
null
2017-11-03 19:50:03.000 (date et heure spécifiques)
Toutes les données en ligne et toute donnée hors ligne antérieures à la date et l'heure définies (2017-11-03 19:50:03.000). La date de début étant définie sur null, l'exportation risque de contenir une grande quantité de données d'audit, en fonction de la date à laquelle la consignation des données hors ligne a commencé.
2017-11-03 18:50:03.000 (date et heure spécifiques)
null
Toutes les données en ligne et toute donnée hors ligne entre les dates et heures de début et actuelles, qui, pour cette dernière, est spécifiée en définissant la date de fin sur null.
null
null
TOUTES les données d'audit, qu'elles soient en ligne ou hors ligne. Ce cas de figure n'est pas recommandé, l'opération pouvant nécessiter énormément de temps.
Suite de l'exemple : le fichier export_11-03_one_hour.zip contient le fichier AuditArchives/export/export_11-03_one_hour.json. Vous trouverez ci-après un exemple du fichier JSON de l'exportation :

{
"rows": [
{
"auditCategory": "Modeling",
"sourceType": "ModelTagVocabulary",
"source": "IntegrationTesting",
"id": "12345678-0123-4567-8901-123457890123",
"message": "Created ModelTagVocabulary \"IntegrationTesting\"",
"user": "Administrator",
"timestamp": 1490029001679
},
...
...
]
}
Dans cet exemple, les informations renvoyées incluent les données suivantes :
auditCategory : nom de la catégorie du message d'audit. Dans l'exemple ci-dessus, il s'agit de la catégorie Modeling. Pour plus d'informations sur les catégories d'audit, consultez la rubrique Catégories d'audit.
sourceType : type associé à l'application qui a généré ce message d'audit (source).
source : application ThingWorx ou fichier exécutable qui a généré ce message d'audit. Dans l'exemple, la source est IntegrationTesting.
id : GUID de l'application qui a généré le message d'audit. Il s'agit en réalité d'une clé d'application générée par ThingWorx pour l'application.
message : texte du message d'audit.
user : nom de connexion de l'utilisateur qui exécutait l'application lorsque le message d'audit a été généré.
timestamp : date et heure auxquelles le message d'audit a été généré.
Qu'advient-il des données en ligne après une exportation ?
A l'issue d'une exportation, les données en ligne sont conservées dans l'espace de stockage en ligne tant que les conditions suivantes sont réunies :
L'âge des données en ligne est inférieur au nombre de jours spécifiés pour le paramètre DaysOnline du sous-système d'audit. Par défaut, ce paramètre est de 60 jours.
Le nombre de lignes de la table des données d'audit en ligne est inférieur au nombre maximal spécifié pour celle-ci (paramètre maxEntriesOnlineAuditData du sous-système d'audit). La valeur par défaut est de 500 000 lignes.
Lors de l'opération d'exportation, le service ArchiveAuditHistory est appelé. Il copie les données d'audit de l'espace de stockage en ligne vers le référentiel AuditArchiveFileRepository pour l'exportation planifiée et les maintient en ligne si les deux conditions sont remplies. Si l'une des conditions n'est pas remplie (l'âge des données est supérieur au nombre de jours ou le nombre de lignes de la table est supérieur au maximum autorisé), les données en ligne sont supprimées de l'espace de stockage en ligne après leur archivage dans l'espace de stockage hors ligne lors de l'exportation.