Skip to content

Event Management

构想

Event Management Service 可管理用户在 MindSphere 中创建的不同类型的事件。用户可利用该服务创建、更新和删除与实体关联的事件。

访问

Event Management 以 REST API 的形式向开发者开放。要访问此服务,您需要具有 Event Management 角色和范围中列出的相应角色。

基础知识

用户可以使用预定义的事件类型,也可以自创模板生成新事件。用户能够过滤、更新或删除事件或事件类型。

信息

有关如何使用此服务的建议,请参见最佳实践

事件

事件分为两种类型:标准事件和自定义事件。这两类事件将从共同的祖先事件中继承以下字段:

  • id
  • correlationId
  • timestamp(必需)
  • entityId(必需)

可以使用以下附加字段:

  • 标准事件
    标准事件创建自预定义事件类型,可使用以下基本属性:
  • description
  • severity
  • code
  • source
  • acknowledged

  • 自定义事件
    自定义事件创建自用户定义的事件类型。事件类型中定义了可用属性。

事件类型

自定义事件创建自用户定义的事件类型。这些事件类型定义了一组自定义字段,这些字段具有自定义事件的属性。

事件类型的每个自定义字段都具有数据类型,可以定义为必需字段和/或可过滤字段。

事件类型可以是全局范围或局部范围,并具有存活期 (TTL)。两者均适用于所有实例化事件。

事件类型可以派生自其它(父)事件类型。最多允许 4 个级别的继承层级。每个事件类型均会继承其祖先事件类型的所有字段。

过滤和排序

可以按除 description 之外的所有已分配基本属性对事件进行过滤和排序。此外,如果将事件类型设置为过滤参数,则可以根据指定为可过滤的所有自定义字段对事件进行过滤和排序。还可以按照所有继承的自定义字段对事件进行过滤和排序。

可以使用 andornot equalscontainsstartsWith 等运算符自定义过滤语法。注意,只能将一个单独的非否定事件类型用作过滤参数。

更新

可以将事件更新。有两种更新事件的方法:PUT 请求可以覆盖事件,而 POST 请求可以创建历史记录。这意味着原始事件将保留在数据库中,创建新事件时使用相同的 entityId 和 correlationId 及不同的 id。

列出事件操作仅返回事件的最新历史记录。查询参数 history 设置为 true 时,将列出事件的完整历史记录。

删除

可以基于自定义过滤器,通过 POST 请求异步删除事件。如果删除了事件历史记录中的最新事件实例,则事件的历史记录将被删除。

功能

Event Management Service 公开其 API 以实现以下任务:

  • 创建事件。
  • 获取单独事件。
  • 列出已过滤和排序的事件。
  • 更新现有事件 (PUT)。
  • 更新事件 (POST) 时创建历史事件。
  • 创建、更新、删除事件类型。
  • 获取单独事件类型。
  • 列出已过滤和排序的事件类型。
  • 根据自定义过滤器异步删除事件。
  • 异步创建事件。

限制

  • API 规范中记录了所有限制和约束条件。有关详细信息,请参见以下各项的定义:

    • 请求参数
    • 查询参数
    • 错误响应
  • 自定义事件类型创建有以下限制:

    • 最大自定义'字段'数量100。
    • 自定义事件类型中所有 STRING 字段 不应超过40。
    • 自定义事件类型中所有 LINK 字段不应超过1。
    • 自定义事件类型中所有 ENUM 字段不应超过3。
    • 每个 ENUM 类型的 ENUM 常量不应超过50。

示例场景

啤酒厂的经理想要跟踪啤酒厂生产线的机器故障。

他使用 Event Management Service 创建了一个事件,但其中有错误代码。

相关链接


Last update: December 1, 2023