读取交易
在 Google Cloud 中与节点交互时的 Matter 是从另一个节点读取属性。 例如来自传感器的温度值。在此类互动中,第一个 必须执行的操作是读取请求操作。
<ph type="x-smartling-placeholder">读取请求操作
方向:发起者 ->目标
在此 Action 中,发起方查询符合以下条件的目标:
- 属性请求:目标的零个或多个属性的列表。 该列表包含零个或多个 路径,这些路径指向目标的 属性。
- 事件请求:指向目标的请求的零个或多个路径的列表 活动。
目标收到读取请求操作后,它会创建一个 报告数据操作(包含请求的信息)。
报告数据操作
方向:定位 ->发起者
在此 Action 中,目标会返回以下内容:
- 属性报告:零个或多个已报告属性的列表 请求的数据。
- 事件报告:包含零个或多个已报告事件的列表。
- 禁止响应:一个用于确定状态 响应。
- 订阅 ID:如果此报告是订阅交易的一部分, 必须包含用于标识订阅交易的整数。
状态响应操作
方向:目标 ->发起者 ->目标
一旦发起程序收到请求的数据,默认情况下,它必须生成 状态响应操作。此操作由发起者发送,用于确认 收到已报告数据。如果设置了“抑制状态响应”标志, 启动器不得发送状态响应操作。
发起者发送状态响应操作或报告数据后, 在已启用“抑制响应”标志的情况下,发起者收到操作后, 读取/报告查询完成。
状态响应操作只包含一个 status 字段,该字段将 确认操作成功或显示失败代码。
读取限制
“读取请求操作”和“报告数据操作”是 仅限 Unicast。此外,这些请求的路径 以一组节点为目标。
状态响应操作仅限 Unicast,不能是 。
订阅交易
<ph type="x-smartling-placeholder">订阅请求操作
方向:发起者 ->目标
除单个读取请求操作外,发起者还可以订阅 定期更新属性或事件因此同一报告数据操作 可以作为定期数据更新产生的结果, 订阅交易。
订阅互动会在两个节点之间创建关系,其中 目标会定期向发起者生成报告数据操作。 发起者为订阅者,目标为发布者。
订阅请求操作包含:
- 最小间隔区间:两次报告之间的最小时间间隔。
- 最大时间间隔上限:两次报告之间的最大时间间隔。
- 属性报告:零个或多个已报告属性的列表 请求的数据。
- 事件报告:包含零个或多个已报告事件的列表。
在订阅请求之后,目标以响应发起者 报告数据操作,包含第一批报告数据:Primed 已发布的数据中所述。
然后,发起者确认报告数据操作并附带状态响应 操作已发送到目标。目标收到状态响应操作后 报告没有错误,则会发送订阅响应操作。
随后,目标会定期发送报告数据操作: 发起者将对这些 Action 做出响应,直到 订阅丢失或被取消。
订阅响应操作
方向:定位 ->发起者
这是针对订阅交易的最后一个操作, 过程。It includes:
- 订阅 ID:用于标识订阅的整数。
- 最小间隔:二者之间确定的最小时间间隔 报告。
- 最大间隔:二者之间最终确定的最长间隔 报告。
订阅限制
- 订阅请求操作和订阅响应操作分别是 仅限 Unicast 的操作。
- 订阅互动中的所有报告数据操作必须具有相同的 订阅 ID。
- 如果订阅方没有收到报告数据操作的最大数量 约定的时间间隔,则订阅将终止。
- 根据上一条规则的结果,发布商可以终止 只需停止发送定期报告数据,即可实现订阅互动 操作。
- 订阅者可通过响应
状态代码为
INACTIVE_SUBSCRIPTION
的报告数据操作。