GetThingPropertyValues
Описание
GetThingPropertyValues выполняет массовую загрузку значений свойств, чтобы ограничить число вызовов кэша, необходимых для заполнения возвращаемого набора данных. Если запрошенное свойство не находится в запрошенной вещи, возвращается пустое значение.
Входные данные
Имя параметра
Описание
Базовый тип
thingReferences
Таблица данных, состоящая из списка вещей.
Для таблицы данных ожидается структура данных EntityReference.
INFOTABLE
dataShapeName
Наименование структуры данных, в которой инкапсулируются значения свойств, возвращаемых запросом.
Структура данных должна существовать в модели ThingWorx. Структура данных может быть системной или пользовательской сущностью.
DATASHAPENAME
Вывод
Имя параметра
Описание
Базовый тип
result
Возвращает таблицу данных со значениями свойств, запрошенных в структуре данных для каждой вещи, запрошенной во входных данных thingReferences.
Структура данных возвращаемой таблицы данных будет содержать наименование вещи и все свойства во входной структуре данных.
INFOTABLE
Пример
В этом примере три вещи, структура данных и поток определяются с разными свойствами.
Сущность
Свойства
Thing1
Property1
Thing2
Property1, Property2
Thing3
Property1, Property2, Property3
TestStream
Property1, Property2, Property3
TestDatashape
Property1, Property3, Property4
Ниже приведен пример кода.
// 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 */
});
В следующей таблице показаны выходные данные для приведенного выше запроса. Property4 является пустым, так как ни в одной из запрошенных вещей не определено Property4. Property3 является пустым для вещей Thing1 и Thing2, поскольку в них не было определено Property3.
thingName
Property1
Property3
Property4
Thing1
11
Thing2
21
Thing3
31
33
TestStream
S1
S3
Было ли это полезно?