Exportation des données d'audit
Pour les deux implémentations du sous-système d'audit, utilisez le service ExportAuditData pour exporter une version localisée des messages d'audit, que ce soit depuis les données hors ligne (archivées) ou les données en ligne. Ce service génère des messages d'audit localisés à partir des données hors ligne et en ligne. Ce service prend en entrée des paramètres régionaux, un nom de référentiel, un chemin cible, un nom de fichier cible, une date de début et une date de fin. Lorsqu'il est appelé, le service exporte toutes les entrées correspondantes du stockage hors ligne dans un fichier zip au chemin cible donné, à l'aide du nom de fichier cible défini. L'exportation est triée par date d'audit.
* 
Si l'implémentation de type Persistance directe est active, vous pouvez également exporter les données d'audit en ligne à partir de la base de données, à l'aide du service ExportOnlineAuditData. Ce service dispose d'une option query permettant de filtrer et de trier les données exportées.
Vous trouverez ci-après le service ExportAuditData 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
Abréviation du nom de la langue dans laquelle les résultats doivent être renvoyés (STRING). Par exemple, fr pour le français ou zh_CN pour le chinois (Chine). Pour obtenir la liste des langues prises en charge par ThingWorx, consultez la rubrique Langues prises en charge.
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_02-03_one_hour", 2020-02-03 18:50:03.000, 2020-02-03 19:50:03.000)
Dans cet exemple, un fichier d'exportation des données en anglais nommé /auditExport/export_02-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
2020-02-03 18:50:03.000 (date et heure spécifiques)
2020-02-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 : 2020-02–03), qui regroupent les données consignées pendant une heure (de 18:50:03.000 à 19:50:03.000)
null
2020-02-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 (2020-02-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é.
2020-02-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.
En fonction de l'implémentation active, le fichier export_02-03_one_hour.zip contiendra l'un ou l'autre des fichiers suivants :
Persistance directe : AuditArchiveDirectPersistence/export/export_02-03_one_hour.json.
Table de données : AuditArchive/export/export_02-03_one_hour.json.
Voici un exemple de JSON dans le fichier d'exportation lorsque l'implémentation de type Persistance directe est active :

{
"rows": [ {
"auditCategory": "System",
"application": "ThingWorxCore",
"sourceType": "Subsystem",
"id": "1002",
"source": "AuditSubsystem",
"message": "Updated Subsystem \"AuditSubsystem\"",
"user": "Administrator",
"timestamp": 1582194488947
}]
}
Voici un exemple de JSON dans le fichier d'exportation lorsque l'implémentation de type Table de données est active :

{
"rows": [
{
"auditCategory": "Modeling",
"sourceType": "ModelTagVocabulary",
"source": "IntegrationTesting",
"id": "12345678-0123-4567-8901-123457890123",
"message": "Created ModelTagVocabulary \"IntegrationTesting\"",
"user": "Administrator",
"timestamp": 1580773803
},
...
...
]
}
Notez que le format des id diffère entre les deux implémentations et que le fichier d'exportation de l'implémentation de type Persistance directe contient une propriété supplémentaire appelée application. La table ci-après décrit les propriétés des fichiers d'exportation, avec des remarques explicitant les différences :
Propriété
Implémentation ?
Description
auditCategory
Les deux
Nom de la catégorie du message d'audit. Les exemples ci-dessus présentent des catégories différentes :
Persistance directe : catégorie System
Table de données : catégorie Modeling
Pour plus d'informations sur les catégories d'audit, consultez la rubrique Catégories d'audit.
application
Persistance directe uniquement
Nom de l'application qui a généré le message d'audit. Dans l'exemple de persistance directe ci-dessus, les messages d'audit sont générés par l'application ThingWorx Platform de base. La valeur est donc définie sur ThingworxCore.
sourceType
Les deux
Type associé à l'application qui a généré ce message d'audit (source). Les exemples ci-dessus présentent des types de source différents, qui reflètent la propriété auditCategory pour les deux implémentations et la propriété application pour la persistance directe :
Persistance directe : Subsystem
Table de données : ModelTagVocabulary
source
Les deux
Application ThingWorx ou fichier exécutable qui a généré ce message d'audit. Les exemples ci-dessus illustrent différentes applications ThingWorx :
Dans l'exemple d'implémentation de type Persistance directe, la source est Audit Subsystem.
Dans l'exemple d'implémentation de type Table de données, la source est IntegrationTesting.
id
Les deux, avec des différences de format
Implémentation de type Persistance directe : ID de base de données généré automatiquement pour l'application qui a généré le message d'audit.
Implémentation de type Table de données : GUID de l'application qui a généré le message d'audit.
message
Les deux
Texte du message d'audit.
user
Les deux
Nom de connexion de l'utilisateur qui exécutait l'application lorsque le message d'audit a été généré.
timestamp
Les deux
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 ?
Les données en ligne demeurent dans le stockage en ligne après une exportation. Les données peuvent être supprimées manuellement du stockage en ligne en exécutant le service PurgeAuditData ou automatiquement en configurant le service AuditPurgeScheduler.
Est-ce que cela a été utile ?