GetThingPropertyValues
说明
GetThingPropertyValues 批量检索属性值,以限制填充返回数据集所需的缓存调用次数。如果请求的属性不在所请求的事物上,则会返回一个空值。
输入
参数名称
说明
基本类型
thingReferences
由事物列表组成的信息表。
信息表的预期数据形状为 EntityReference
INFOTABLE
dataShapeName
数据形状名称,其中数据形状用于封装查询所返回的属性值。
数据形状必须存在于 ThingWorx 模型中。数据形状可以是系统实体或用户定义的实体。
DATASHAPENAME
输出
参数名称
说明
基本类型
result
返回一个信息表,其中包含针对在 thingReferences 输入中请求的每个事物,在数据形状中请求的属性值。
返回信息表的数据形状,其中将包含事物名称和输入数据形状中的所有属性。
INFOTABLE
示例
在本示例中,使用不同属性定义了三个事物、一个数据形状和一个流。
实体
属性
Thing1
Property1
Thing2
Property1Property2
Thing3
Property1Property2Property3
TestStream
Property1Property2Property3
TestDatashape
Property1Property3Property4
以下是一个示例代码。
// 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 为空,因为所请求的事物均未定义 Property4Thing1Thing2Property3 为空,因为这两者均未定义 Property3
thingName
Property1
Property3
Property4
Thing1
11
Thing2
21
Thing3
31
33
TestStream
S1
S3
这对您有帮助吗?