数据表服务
提供许多用于从数据表 (特定于数据表形状) 中导入或获取数据的内置服务。它们是:
服务
说明
AddDataTableEntry (TAGS tags, VALUES values)
传入 VALUES,可选 tags。布尔型返回可指示成功或失败。
AddDataTableEntries
添加多个数据表条目。
AddOrUpdateDataTableEntry (TAGS tags, VALUES values)
传入 VALUES,可选 tags。对于数据表中新条目或已更新条目的 streamID,将返回字符串值。如果存在行,则会更新此行;否则,添加一行。
AddOrUpdateDataTableEntries
添加或更新多个数据表条目。如果存在行,则会更新此行;否则,添加一行。主键必须匹配,才能进行更新。
AssignDataTableEntries
替换现有数据表条目。
DeleteDataTableEntry (STRING keyvalue)
基于键值删除单个条目。布尔型返回可指示成功或失败。
* 
要删除条目,则需要主键。
DeleteDataTableEntries
根据信息表输入参数中提供的第一行的值,删除与其相匹配的多个条目。例如,如果数据表包含一个名为 Int01 的字段,且有三个条目已将 Int01 设置为 10。执行操作时,如果将 10 指定为删除条件,则 DeleteDataTableEntries 会删除所有三个条目。
* 
如果信息表输入参数中提供了多行值,则会发生错误,所示消息指示 "Invalid Number of values provided to DeleteDataTableEntries in thingName"
FindDataTableEntries
仅搜索索引,因此可能比 QueryDataTableEntries 服务更快。
* 
如果数据表的配置中定义了多个索引,则用于搜索的索引将根据您在传入 FindDataTableEntries 的 Values 参数中指定为要搜索字段的内容进行加权。例如,如果您具有四个属性 (整数、布尔型、字符串和文本) 并已创建了两个索引 (一个根据布尔值和字符串,另一个根据文本),如果您仅指定要搜索的文本属性的值,该索引的权重将大于布尔型/字符串索引,因为您提供了一个在该索引中搜索字符串的值。
* 
FindDataTableEntries 仅接受一个信息表输入参数。如果未提供输入参数或提供多个输入参数,则不会返回任何结果。
GetDataTableEntries (NUMBER maxItems)
返回最新的条目,最大数目为所请求的最大项数。
GetDataTableEntry (STRING keyvalue)
返回其中一行为匹配条目的信息表。
GetFieldNames
返回与此数据表相关联的字段名称列表。
PurgeDataTableEntries
移除此数据表的所有条目。布尔型返回可指示成功或失败。
QueryDataTableEntries (NUMBER maxItems, STRING queryExpression, TAGS tags, VALUES query)
返回与请求参数相匹配的记录信息表。
* 
QueryDataTableEntries 仅接受一个信息表输入参数。
如果未提供输入参数,则 QueryDataTableEntries 会返回数据表的所有行。
如果提供了多个输入参数,则仅返回与第一个输入匹配的行,并放弃其他输入。此时,请使用服务的查询输入参数。
SearchDataTableEntries
返回与搜索查询参数相匹配的所有数据表条目。searchExpression 是该服务的键,仅包括针对“字符串”和“文本”字段的全文搜索。以下筛选器可用于 searchExpression+ (加号)、区分大小写、? (问号)、 % (百分号)、ANDOR
UpdateDataTableEntry (TAGS tags, VALUES values)
传入 values,可选 tags。布尔型返回可指示成功或失败。如果行存在,则会更新此行。
在数据表搜索中定义区分大小写
通过使用查询参数中的筛选器,您可在数据表搜索中定义区分大小写。
例如,使用包括以下条目的 SearchDataTableEntries 服务:
可以为 query 参数定义筛选器,以使得返回的结果区分大小写。例如:
{"filters":{"type":"EQ", "fieldName":"Field1","isCaseSensitive":true, "value":"AA"}}
使用上述查询,将返回以下结果:
在使用相同服务的另一示例中,将在查询参数中使用以下筛选器:
{"filters":{"type":"EQ", "fieldName":"Field1","isCaseSensitive":true, "value":"aa"}}
将返回以下结果:
这对您有帮助吗?