GetThingPropertyValues
Beschreibung
GetThingPropertyValues ruft Eigenschaftswerte in einem Massenvorgang ab, um die Anzahl der Cache-Aufrufe zu begrenzen, die zum Füllen des Rückgabedatensatzes erforderlich sind. Wenn die angeforderte Eigenschaft nicht im angeforderten Ding vorhanden ist, wird ein leerer Wert zurückgegeben.
Eingaben
Parametername
Beschreibung
BaseType
thingReferences
Eine Infotable, die aus einer Liste von Dingen besteht.
Der erwartete Data Shape für die Infotable ist EntityReference.
INFOTABLE
dataShapeName
Der Name des Data Shape, der die Werte der Eigenschaften kapselt, die von der Abfrage zurückgegeben werden sollen.
Der Data Shape muss im ThingWorx Modell vorhanden sein. Der Data Shape kann eine System- oder eine benutzerdefinierte Entität sein.
DATASHAPENAME
Ausgabe
Parametername
Beschreibung
Basistyp
result
Gibt eine Infotable mit den Werten für Eigenschaften zurück, die im Data Shape für jedes Ding angefordert werden, das in der thingReferences-Eingabe angefordert wird.
Der Data Shape der zurückgegebenen Infotable enthält den Namen des Dings und alle Eigenschaften im Eingabe-Data Shape.
INFOTABLE
Beispiel
In diesem Beispiel werden drei Dinge, ein Data Shape und ein Stream mit unterschiedlichen Eigenschaften definiert.
Entität
Eigenschaften
Thing1
Property1
Thing2
Property1, Property2
Thing3
Property1, Property2, Property3
TestStream
Property1, Property2, Property3
TestDatashape
Property1, Property3, Property4
Nachfolgend finden Sie einen Beispielcode.
// 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 */
});
Die folgende Tabelle zeigt die Ausgabe für die obige Abfrage. Property4 ist leer, da für keines der angeforderten Dinge Property4 definiert war. Property3 ist für Thing1 und Thing2 leer, da Property3 für sie nicht definiert ist.
thingName
Property1
Property3
Property4
Thing1
11
Thing2
21
Thing3
31
33
TestStream
S1
S3
War dies hilfreich?