QueryNamedPropertyHistory
Description
Ce service interroge l'historique des propriétés journalisées en fonction des paramètres d'entrée.
Entrées
Nom de paramètre
Description
Type de base
propertyNames
Table d'informations qui contient une liste des propriétés journalisées de l'objet.
La forme de données attendue pour la table d'informations est EntityList.
INFOTABLE
maxItems
Nombre maximal d'éléments à renvoyer dans le jeu de résultats. La valeur par défaut est 500. Ce paramètre est appliqué à la suite de tous les autres filtres.
NUMBER
startDate
Horodatage après lequel une valeur a été journalisée.
DATETIME
endDate
Horodatage avant lequel une valeur a été journalisée.
DATETIME
quality
Qualité de l'entrée journalisée pour la propriété. Plusieurs valeurs peuvent être séparées par un pipe (|). Les options possibles sont GOOD, BAD et UNKNOWN.
STRING
fillOption
Les options possibles sont Previous et None. Si Previous est demandé, la valeur précédente est reportée si la propriété spécifiée n'a pas de mise à jour tandis que les autres propriétés en ont une. Si None est demandé, aucune valeur n'est reportée si la propriété spécifiée n'a pas de mise à jour tandis que les autres propriétés en ont une.
La valeur par défaut est Previous.
STRING
oldestFirst
Récupérer à partir des enregistrements les plus anciens ou les plus récents. La valeur par défaut est False.
BOOLEAN
query
Critères de requête supplémentaires pour filtrer les données.
Pour plus d'informations, consultez la rubrique Paramètre de requête pour les services de requête.
QUERY
returnedMetadata
Définit les colonnes supplémentaires pouvant être demandées en plus de celles du nom de propriété, de l'horodatage et de la valeur de propriété.
La valeur par défaut est Quality.
STRING
Sortie
Nom de paramètre
Description
Type de base
result
Renvoie une table d'informations qui contient la liste des valeurs historiques des propriétés demandées.
INFOTABLE
Exemple
Dans l'exemple suivant, Thing1 comporte les propriétés Prop1 et Prop2 avec les valeurs entrées dans l'ordre suivant :
Entité
Prop1
Prop2
Thing1
1
2
11
22
Dans la requête suivante, la table d'informations résultante contiendra l'horodatage, Prop1, Prop1_Quality, Prop2 et Prop2_quality :
var params = {
infoTableName : "InfoTable",
dataShapeName : "EntityList"
};
var propertyNamesInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
// EntityList entry object
var prop1 = new Object();
prop1.name = "Prop1"; // STRING [Primary Key]
prop1.description = undefined; // STRING
var prop2 = new Object();
prop2.name = "Prop2"; // STRING [Primary Key]
prop2.description = undefined; // STRING
propertyNamesInfoTable.AddRow(prop1);
propertyNamesInfoTable.AddRow(prop2);

// result: INFOTABLE dataShape: ""
let result = Things["Thing1"].QueryNamedPropertyHistory({
propertyNames: propertyNamesInfoTable,
maxItems: 5,
startDate: new Date(new Date().setFullYear(new Date().getFullYear() - 1)),
endDate: Date.now(),
quality: 'GOOD|BAD',
fillOption: 'Previous',
oldestFirst: false,
query: "{ \"sorts\": [{\"fieldName\": \"Prop1\"}]}",
returnedMetadata: 'Quality'
});
Dans la requête suivante, la table d'informations résultante contiendra l'horodatage, Prop1 et Prop2 :
var params = {
infoTableName : "InfoTable",
dataShapeName : "EntityList"
};
var propertyNamesInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
// EntityList entry object
var prop1 = new Object();
prop1.name = "Prop1"; // STRING [Primary Key]
prop1.description = undefined; // STRING
var prop2 = new Object();
prop2.name = "Prop2"; // STRING [Primary Key]
prop2.description = undefined; // STRING
propertyNamesInfoTable.AddRow(prop1);
propertyNamesInfoTable.AddRow(prop2);

// result: INFOTABLE dataShape: ""
let result = Things["Thing1"].QueryNamedPropertyHistory({
propertyNames: propertyNamesInfoTable,
maxItems: 5,
startDate: new Date(new Date().setFullYear(new Date().getFullYear() - 1)),
endDate: Date.now(),
quality: 'GOOD|BAD',
fillOption: 'None',
oldestFirst: false,
query: "{ \"sorts\": [{\"fieldName\": \"Prop1\"}]}",
returnedMetadata: 'Quality'
});
Est-ce que cela a été utile ?