作为本地模型管理固件orion实体的django模型
django-orion-model的Python项目详细描述
django应用程序,将Fiware Orion 上下文代理实体作为django模型对象进行管理。
安装
为了输入,只需使用pip
pip install django_orion_model
用法
只需将django_orion_模型添加到您的设置中即可。py:
INSTALLED_APPS=['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',...'django_orion_model',...]ORION_URL="https://yourorion:1234"ORION_SCOPE="/desiredscope"ORION_EXPIRATION=200//livingtimeoflocalvalues
要定义实体模型,只需在models.py中使用orion entity作为类父定义一个类,并将orion字段用于预期位于上下文代理中的属性。
fromdjango_orion_modelimportOrionEntityiclassWasteManagementStage(OrionEntity):name=OrionCharField("name",max_length=1024,blank=True)description=OrionTextField("description",max_length=1024,blank=True)
Orion Context ContextBroker的可用字段类型:
- orioncharfield
- oriontextfield
- orionfloatfield
- OrionDateTimefield
orion实体有一个默认字段来管理与orion的通信:
- context_broker(foreingkey contextbroker):管理实体的orion context contextbroker
- 服务路径(foreingkey scope):实体所在的服务路径。
- orion_id(charfield):orion中实体的id。
- type(charfield):orion中实体的类型。
- 数据(jsonfield):实体最后已知值的本地存储库。
- updated(arrayfield charfield):自las连接以来orion字段的名称更新。
- 过期(DateTimeField):本地数据被视为过时的时间。
- 状态(字符域):表示通信的预定义文本。期望值:
- 一切都很好而且是最新的
- 脱机设置为禁用与Orion的通信
缺失表示Orion 中不存在实体
- 创建集合以将实体创建到orion中。
- created表示实体已创建,但is值尚未从orion中提取(临时的)
- 挂起写入表示实体正在执行到orion的推送(临时)。
- 挂起读取指示实体正在执行到orion的拉取(临时)。
- await_refresh拉取失败,实体正在等待新的重试机会。
- await_重写推送失败,实体正在等待新的重试机会。
实体行为
实体在创建后、读取orion属性并且到期时间已到、保存到数据库之前和值更新到orion之后,应该从orion中提取值。 设置orion值后,实体应将值推送到orion。
某些状态值强制某些行为:
- 脱机设置为禁用与Orion的通信
- 创建集合以将实体创建到orion中。
该图书馆的部分资金来自Waste4Think proyect基金,该基金已收到欧盟Horizon 2020研究和创新计划根据688995号赠款协议提供的资金。 本文结果的传播仅反映了作者的观点,欧盟委员会对其所含信息的任何使用概不负责。