如何在联邦Fiware Orion集群中保留dateExpires属性
解决Fiware Orion 4联邦集群dateExpires属性同步丢失问题
核心原因
dateExpires是Orion的系统级元数据属性,不属于普通实体属性范畴,默认订阅配置不会自动包含这类元数据,这就是同步时该属性丢失的原因。Orion 4本身支持该属性的联邦传输,只需调整订阅配置即可实现。
解决方案:调整订阅的metadata参数
修改订阅请求,在notification.metadata中显式指定包含dateExpires,或者用["*"]包含所有元数据。以下是修改后的curl命令:
curl --location 'http://ip-cluster-1:1026/v2/subscriptions' \ --header 'Content-Type: application/json' \ --data '{ "description": "Forward all entity updates with dateExpires to another Orion", "subject": { "entities": [{"idPattern": ".*"}], "condition": {"attrs": []} }, "notification": { "http": {"url": "http://ip-cluster-2:1026/v2/op/notify"}, "attrs": [], "metadata": ["dateExpires"], "throttling": 0 } }'
如果需要同步所有元数据(包括其他系统属性),可将metadata设为["*"]。
验证步骤
- 在源集群创建或更新带有
dateExpires的实体; - 检查目标集群中对应实体的属性,确认
dateExpires已同步; - 若仍未生效,查看源集群Orion日志,确认通知payload中是否携带了
dateExpires字段,排查传输环节的问题。
额外注意
确保两个集群的Orion 4是最新小版本,避免因旧版本已知bug导致属性丢失。
内容的提问来源于stack exchange,提问作者Fabio Henrique Cabrini
相关产品推荐
相关产品推荐

