Fiware 如何更改默认行为以将每个实体的信息存储在不同的表中

Fiware 如何更改默认行为以将每个实体的信息存储在不同的表中,fiware,fiware-orion,fiware-cygnus,Fiware,Fiware Orion,Fiware Cygnus,我想将Orion和Cygnus配置为将所有数据存储在一个表中。 我知道我应该在HTTP头中配置databe和table的名称,如下所示: dbName=<fiware-service-header> tableName=<fiware-servicePath-header>_<entityId>_<entityType> dbName= 表名=__ 我被告知要问另一个问题。天鹅座使用通知的fiware服务和fiware服务路径头来组成不同后端元

我想将Orion和Cygnus配置为将所有数据存储在一个表中。

我知道我应该在HTTP头中配置databe和table的名称,如下所示:

dbName=<fiware-service-header>
tableName=<fiware-servicePath-header>_<entityId>_<entityType>
dbName=
表名=__

我被告知要问另一个问题。

天鹅座使用通知的
fiware服务
fiware服务路径
头来组成不同后端元素的名称。具体而言:

  • MySQL
    • 数据库称为
    • 表名被称为
      \uu
  • HDFS
    • HDFS路径创建为
      /user//.txt
  • 卡恩
    • 组织称为
    • 包/数据集称为
    • 资源称为
默认情况下,
等于
.
。如问题中所述,这可能导致为每个通知的实体创建MySQL表/HDFS文件夹/CKAN资源

这种默认目的地生成可以通过使用Cygnus的高级功能(基于模式的分组)来改变;顾名思义,该功能基于在数据中查找(配置)模式,以便对显示模式的上下文数据进行分组。例如,该特性允许将某一类型的所有实体存储在一个MySQL表中;或者以前缀开头的某些实体一起存储在HDFS文件中

要激活此功能,请编辑
/usr/cygnus/conf/matching_table.conf
文件,并根据需要添加尽可能多的匹配规则;描述了匹配规则语法。基本上,规则说“一旦基于模式的匹配得到确认,就使用这个新的
和这个新的
”:

||||
因此,“将所有数据存储在名为“my_unique_table”的MySQL表中”规则如下所示:

<any_unique_number>|<entityId>|.*|unique_table|my_
| |。*唯一的|表|我的_
或:

| |..| | |表格|我的|唯一

这两个规则都是有效的,因为MySQL表名是通过连接
创建的;在这种情况下,表名等于“my_”+“unique_table”或“my_unique”+“_table”。

如果我想在表室中输入实体Room1和Room2,请您写一个例子,说明我应该添加什么作为规则?1 | entityType | Room | s | Room抱歉,我仍然不明白逻辑:(因此,如果我有实体类型Televison和实体ID TV1和TV2,我会将规则2添加为:
2 |实体类型| TV | TV
<any_unique_number>|<entityId>|.*|unique_table|my_
<any_unique_number>|<entityId>|.*|_table|my_unique