跳到主要内容

SEMP API版本

本节提供了 SEMP API 最新版本的概述,包括其支持和不支持的功能,以及在引入新功能时确保版本兼容性所采取的方法.

当前版本

当前的 SEMP API 版本是 v2.此 SEMP 版本尚未支持所有事件代理命令——目前此版本支持大多数消息 VPN 范围内的配置命令.对于尚未在 SEMP v2 中支持的命令,您可以继续使用传统 SEMP API.

有关 SEMP API 版本可能发生更改的方式和时间的信息,请参阅下面的未来版本和兼容性部分.

当 SEMP v2 和传统 SEMP/CLI 同时请求对同一对象进行并发更改时,传统 SEMP/CLI 的更改可能会在与 SEMP v2 请求相关的各个更改之间应用.对象的最终状态可能是传统 SEMP/CLI 和 SEMP v2 请求更改的混合,或者 SEMP v2 请求可能会失败并返回错误.如果可能,我们建议您避免同时使用传统 SEMP/CLI 和 SEMP v2 对同一对象进行并发更改.

SEMP v2与SolOS版本映射

以下表格列出了 SolOS 版本及其对应的 SEMP v2 版本.

SolOS 版本SEMP 版本
10.10.12.44
10.10.02.43
10.9.12.42
10.8.12.41
10.8.02.40
10.7.12.40
10.7.02.39
10.6.12.39
10.6.02.38
10.5.12.38
10.5.02.37
10.4.12.36
10.4.02.35
10.3.12.34
10.3.02.33
10.2.12.32
10.2.02.31
10.1.12.30
10.1.02.29
10.0.12.28
10.0.02.27
9.13.12.26
9.13.02.26
9.12.12.25
9.12.02.24

未来版本和兼容性

SEMP v2 API 正在逐步发布.每次发布都会增加更多的命令和功能.请参阅规范文件以查看当前支持的功能.要获取规范,请参阅 SEMP API 参考.

对于尚未在 SEMP v2 中支持的命令和操作,请使用传统 SEMP API.

为了确保 SEMP API 为客户端提供稳定的 API,在引入新功能和功能时将遵循以下政策.新功能和功能将作为新的事件代理加载的一部分发布.

  • 在给定的 SEMP 主要版本内,Solace 仅会进行兼容性更改或紧急更改.
  • 如果新功能或功能需要不兼容更改,则将发布新的主要版本的 SEMP API.
  • 对于旧版本的 SEMP API,Solace 将遵循传统 SEMP 支持计划.

这意味着使用旧版 SEMP 规范生成的客户端库将继续与较新的事件代理加载一起工作.然而,从新架构生成的客户端库可能会包含对接口的更改以支持新功能.因此,不能保证使用较新 SEMP 规范生成的客户端库将保持相同的编译时方法签名.

兼容性更改锚点

以下更改被视为向后兼容,并且不需要进行主要 SEMP 版本更改:

  • 添加新资源.
  • 向资源添加新属性.
  • 移动或重命名现有资源.旧 URI 将被标记为弃用,但在下一个主要版本的 SEMP 之前仍然有效.
  • 移动或重命名现有属性.旧属性名称将被标记为弃用,但在下一个主要版本的 SEMP 之前,旧属性和新属性都将有效.
  • 更改返回错误代码.错误代码值及其含义将永远不会更改.然而,随着时间的推移,Solace 可能会引入新的错误代码,这些错误代码将针对给定的方法/URI 组合返回.在相同条件下,Solace 将努力返回相同的错误代码.当条件发生变化时(例如,由于添加新功能),可能会返回较新的错误代码.因此,客户端应用程序应编写为在接收到它们不理解的错误代码时采取合理的行动.
  • 添加、改变或删除监控 API 中非标识属性的枚举值.

不兼容更改锚点

以下更改不向后兼容.要进行这些更改,将发布新的主要版本的 SEMP:

  • 删除现有 URI.
  • 删除现有属性.
  • 删除现有查询参数.
  • 更改默认属性值.SEMP 通过 POST 和 PUT 向用户公开属性的默认值.因此,默认值的更改不是向后兼容的更改,因为用户如果依赖旧的默认值,将会经历不同的行为.
  • 添加限制属性属性(即,使现有属性成为 "必需"、"只读"、"仅写" 或 "需要禁用")通常是一个不向后兼容的更改.

紧急更改锚点

紧急更改可能不是兼容性更改,但由于安全漏洞或违反规范而是必需的.