数据表服务
提供许多用于从数据表 (特定于数据表形状) 中导入或获取数据的内置服务。它们是:
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 参数中指定为要搜索字段的内容进行加权。例如,如果您具有四个属性 (整数、布尔型、字符串和文本) 并已创建了两个索引 (一个根据布尔值和字符串,另一个根据文本),如果您仅指定要搜索的文本属性的值,该索引的权重将大于布尔型/字符串索引,因为您提供了一个在该索引中搜索字符串的值。
GetDataTableEntries (NUMBER maxItems) - 使得返回的最新条目数达到所请求项目的最大数量。
GetDataTableEntry (STRING keyvalue) - 将返回其中一行为匹配条目的信息表。
GetFieldNames - 返回与此数据表相关联的字段名称列表。
PurgeDataTableEntries - 移除该数据表的所有条目。布尔型返回可指示成功或失败。
QueryDataTableEntries (NUMBER maxItems, STRING queryExpression, TAGS tags, VALUES query) - 返回与请求参数相匹配的记录信息表。
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"}}
将返回以下结果: