GetThingPropertyValues
Description
GetThingPropertyValues récupère les valeurs de propriété en bloc de façon à limiter le nombre d'appels de cache nécessaires pour renseigner le jeu de données renvoyé. Si la propriété demandée ne se trouve pas sur l'objet demandé, une valeur vide est renvoyée.
Entrées
Nom de paramètre
Description
Type de base
thingReferences
Table d'informations constituée d'une liste d'objets.
La forme de données attendue pour la table d'informations est EntityReference.
INFOTABLE
dataShapeName
Nom de la forme de données qui encapsule les valeurs des propriétés que la requête doit renvoyer.
La forme de données doit exister dans le modèle ThingWorx. La forme de données peut être une entité système ou une entité définie par l'utilisateur.
DATASHAPENAME
Sortie
Nom de paramètre
Description
Type de base
result
Renvoie une table d'informations avec les valeurs des propriétés demandées dans la forme de données pour chaque objet demandé dans l'entrée thingReferences.
La forme de données de la table d'informations renvoyée contient le nom de l'objet et toutes les propriétés dans la forme de données d'entrée.
INFOTABLE
Exemple
Dans cet exemple, trois objets, une forme de données et un flux sont définis avec des propriétés différentes.
Entité
Propriétés
Thing1
Property1
Thing2
Property1, Property2
Thing3
Property1, Property2, Property3
TestStream
Property1, Property2, Property3
TestDatashape
Property1, Property3, Property4
Voici un exemple de code.
// Create a thingRef Infotable with the datashape EntityReference
var thingRefInfoTableParams = {
infoTableName : "InfoTable",
dataShapeName : "EntityReference"
};
var thingRef = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(thingRefInfoTableParams);
// populate thingRef InfoTable
var thing1Entry = new Object();
thing1Entry.name = "Thing1"; // STRING
thing1Entry.type = "Thing"; // STRING
var thing2Entry = new Object();
thing2Entry.name = "Thing2"; // STRING
thing2Entry.type = "Thing"; // STRING
var thing3Entry = new Object();
thing3Entry.name = "Thing3"; // STRING
thing3Entry.type = "Thing"; // STRING
var streamEntry = new Object();
streamEntry.name = "TestStream"; // STRING
streamEntry.type = "Thing"; // STRING
thingRef.AddRow(thing1Entry);
thingRef.AddRow(thing2Entry);
thingRef.AddRow(thing3Entry);
thingRef.AddRow(streamEntry);
// result: INFOTABLE dataShape: "RootEntityList"
result = Resources["EntityServices"].GetThingPropertyValues({
thingReferences: thingRef /* INFOTABLE */,
dataShapeName: "TestDatashape" /* DATASHAPENAME */
});
Le tableau suivant présente la sortie de la requête ci-dessus. Property4 est vide, car la propriété Property4 n'était définie dans aucun des objets demandés. Property3 est vide pour Thing1 et Thing2, puisque leur propriété Property3 n'était pas définie.
thingName
Property1
Property3
Property4
Thing1
11
Thing2
21
Thing3
31
33
TestStream
S1
S3
Est-ce que cela a été utile ?