Exportation des données d'audit en ligne
Lorsque l'implémentation de type Persistance directe est active, utilisez le service ExportOnlineAuditData pour exporter une version localisée des messages d'audit à partir du magasin de données en ligne. Le service ExportOnlineAuditData étant disponible uniquement pour l'implémentation de type Persistance directe, le magasin de données est la base de données configurée en tant que fournisseur de persistance pour ThingWorx Platform, à savoir PostgreSQL ou MS SQL.
Le service ExportOnlineAuditData construit les messages d'audit localisés à partir des données 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. Les paramètres régionaux sont utilisés pour la traduction des messages d'audit. Lorsqu'il est appelé, le service exporte les entrées d'audit correspondant aux critères spécifiés du stockage en 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. Vous trouverez ci-après le service et ses paramètres d'entrée :

ExportOnlineAuditData(locale[STRING],
targetRepositoryName[THINGNAME],
targetPath[STRING],
targetFileName[STRING],
startDate[DATETIME],
endDate[DATETIME],
query[QUERY])
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 à la date et l'heure de la première entrée d'audit exportée et antérieur à la valeur du 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 à la date et l'heure de la dernière entrée d'audit exportée et postérieur à la valeur du paramètre startDate sont exportées.
DATETIME
query
Requête au format JSON pour le filtrage et le tri des données d'audit. Il n'existe pas de valeur par défaut pour ce paramètre. Pour obtenir un exemple, reportez-vous à la section Exemple d'exportation de données d'audit en ligne ci-dessous.
Exemple d'exportation de données d'audit en ligne
Vous trouverez ci-après un exemple d'appel de ce service :

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
}
]
})
Dans cet exemple, un fichier d'exportation des données en anglais nommé /auditExport/export_02-03_one_hour.zip sera créé dans myExportRepository. Il contiendra tous les messages d'audit en ligne, en fonction des 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 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 antérieures à la date et l'heure de fin définies (2020-02-03 19:50:03.000). Lorsque la date de début est définie sur null, l'exportation peut contenir un grand nombre de données d'audit, en fonction de la quantité de messages d'audit dans le stockage de la base de données et de la règle de conservation des données en ligne.
2020-02-03 18:50:03.000 (date et heure spécifiques)
null
Toutes les données en 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 en 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_02-03_one_hour.zip crée un fichier d'archive, nommé AuditArchiveDirectPersistence/export/export_02-03_one_hour.json.
Voici un exemple de JSON dans le fichier d'exportation 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
},
...
...
]
}
Dans cet exemple pour l'implémentation de type Persistance directe, les informations renvoyées incluent les données suivantes :
Propriété
Description
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.
application
Nom de l'application qui a généré le message d'audit. Pour les messages d'audit générés par l'application ThingWorx Platform de base, la valeur est définie sur ThingworxCore.
sourceType
Type associé à l'application qui a généré ce message d'audit (Thing).
source
Application ThingWorx ou fichier exécutable qui a généré ce message d'audit. Dans l'exemple, la source est ExampleThing.
id
Identificateur unique généré automatiquement pour l'entrée d'audit. Dans cet exemple, l'id est 4164.
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 ?
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 ArchiveAuditHistory ou automatiquement en configurant le service AuditArchiveScheduler.
Est-ce que cela a été utile ?