

亚马逊 Monitron 不再向新客户开放。现有客户可以继续正常使用该服务。如需了解与 Amazon Monitron 类似的功能，请参阅我们的[博客文章](https://aws.amazon.com/blogs/machine-learning/maintain-access-and-consider-alternatives-for-amazon-monitron)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 了解 v2 数据导出架构
<a name="data-export-schema-v2"></a>

 每个测量数据、其相应的推理结果、网关connect/disconnect, and sensor connect/disconnect事件都以 JSON 格式导出为一个 Kinesis 数据流记录。

**Topics**
+ [v2 架构格式](#data-export-schema-format-v2)
+ [v2 架构参数](#data-export-schema-parameters-v2)

## v2 架构格式
<a name="data-export-schema-format-v2"></a>

```
{
    "timestamp": "string",
    "eventId": "string",
    "version": "2.0",
    "accountId": "string",
    "projectName": "string",
    "projectId": "string",
    "eventType": "measurement|gatewayConnected|gatewayDisconnected|sensorConnected|sensorDisconnected|assetStateTransition",
    // measurement
    "eventPayload": {
        "siteName": "string",
        "assetName": "string",
        "positionName": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "serialNumber": "string",
        "make": "string",
        "model": "string",
        "assetPositionURL": "string",
        "sensor": {
            "physicalId": "string",
            "rssi": number
        },
        "gateway": {
            "physicalId": "string"
        },
        "sequenceNo": number,
        "features": {
            "acceleration": {
                "band0To6000Hz": {
                    "xAxis": {
                        "rms": number
                    },
                    "yAxis": {
                        "rms": number
                    },
                    "zAxis": {
                        "rms": number
                    }
                },
                "band10To1000Hz": {
                    "totalVibration": {
                        "absMax": number,
                        "absMin": number,
                        "crestFactor": number,
                        "rms": number
                    },
                    "xAxis": {
                        "rms": number
                    },
                    "yAxis": {
                        "rms": number
                    },
                    "zAxis": {
                        "rms": number
                    }
                }
            },
            "velocity": {
                "band10To1000Hz": {
                    "totalVibration": {
                        "absMax": number,
                        "absMin": number,
                        "crestFactor": number,
                        "rms": number
                    },
                    "xAxis": {
                        "rms": number
                    },
                    "yAxis": {
                        "rms": number
                    },
                    "zAxis": {
                        "rms": number
                    }
                }
            },
            "temperature": number
        }
        "models": {
            "temperatureML": {
                "previousPersistentClassificationOutput": "string",
                "persistentClassificationOutput": "string",
                "pointwiseClassificationOutput": "string"
            },
            "vibrationISO": {
                "isoClass": "string",
                "mutedThreshold": "string",
                "previousPersistentClassificationOutput": "string",
                "persistentClassificationOutput": "string",
                "pointwiseClassificationOutput": "string"
            },
            "vibrationML": {
                "previousPersistentClassificationOutput": "string",
                "persistentClassificationOutput": "string",
                "pointwiseClassificationOutput": "string"
            }
        },
        "assetPositionId": "string"
    }
    
    // sensorConnected
    "eventPayload": {
        "siteName": "string",
        "assetName": "string",
        "positionName": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "serialNumber": "string",
        "make": "string",
        "model": "string",
        "assetPositionURL": "string",
        "sensor": {
            "physicalId": "string"
        },
        "assetPositionId": "string"
    }
    
    // sensorDisconnected
    "eventPayload": {
        "siteName": "string",
        "assetName": "string",
        "positionName": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "serialNumber": "string",
        "make": "string",
        "model": "string",
        "assetPositionURL": "string",
        "sensor": {
            "physicalId": "string"
        },
        "assetPositionId": "string"
    }
    
    // gatewayConnected
    "eventPayload": {
        "siteName": "string",
        "gatewayName": "string",
        "gatewayListURL": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "gateway": {
            "physicalId": "string"
        }
    }
    
    // gatewayDisconnected
    "eventPayload": {
        "siteName": "string",
        "gatewayName": "string",
        "gatewayListURL": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "gateway": {
            "physicalId": "string"
        }
    }
    
    // assetStateTransition
    "eventPayload": {
        "siteName": "string",
        "assetName": "string",
        "positionName": "string",
        "companyName": "string",
        "geoLocation": {
            "latitude": number,
            "longitude": number
        },
        "address": "string",
        "serialNumber": "string",
        "make": "string",
        "model": "string",
        "assetPositionURL": "string",
        "sensor": {
            "physicalId": "string"
        },
        "assetTransitionType": "measurement|userInput",
        "assetState": {
            "newState": "string",
            "previousState": "string"
        },
        "closureCode": {
            "failureMode": "string",
            "failureCause": "string",
            "actionTaken": "string",
            "resolvedModels": list<"string">
        },
        "assetPositionId": "string"
    }
}
```

## v2 架构参数
<a name="data-export-schema-parameters-v2"></a>

 Amazon Monitron Kinesis 数据导出架构 v2 包含以下架构参数。其中一些参数是对 v1 的更新，另一些参数是 v2 所独有的。例如，`siteName` 在 v1 中是一级参数。在 v2 中，它是二级参数，可以在 `eventPayload` 实体下找到。

timestamp  
+ Amazon Monitron 服务接收测量数据时的时间戳（UTC 格式）
+ 类型：字符串
+ 图案： yyyy-mm-ddHH: mm: ss.sss

eventId  
+ 为每个测量数据分配的唯一数据导出事件 ID。可用于对收到的 Kinesis 流记录进行重复数据删除。
+ 类型：字符串

版本  
+ 架构版本
+ 类型：字符串
+ 值：1.0 或 2.0

accountId  
+ 你的 Monitron 项目的 12 位数 AWS 账户 ID
+ 类型：字符串

projectName  
应用程序和控制台中显示的项目名称。  
类型：字符串

projectId  
您的 Amazon Monitron 项目的唯一 ID。  
类型：字符串

eventType  
+ 当前事件流。每个事件类型都有一个专用 `eventPayload` 格式。
+ 类型：字符串
+ 可能的值：`measurement`、`gatewayConnected`、`gatewayDisconnected`、`sensorConnected`、`sensorDisconnected`、`assetStateTransition`。

**`eventType: measurement`**

eventPayload.features.acceleration.band0To6000Hz.xAxis.rms  
+ 在 0–6000 Hz 频带内观测到的 x 轴上加速度的均方根
+ 类型：数字
+ 单位：m/s^2

eventPayload.features.acceleration.band0To6000Hz.yAxis.rms  
+ 在 0–6000 Hz 频带内观测到的 y 轴上加速度的均方根
+ 类型：数字
+ 单位：m/s^2

eventPayload.features.acceleration.band0To6000Hz.zAxis.rms  
+ 在 0–6000 Hz 频带内观测到的 z 轴上加速度的均方根
+ 类型：数字
+ 单位：m/s^2

eventPayload.features.acceleration.band10To1000Hz.resultantVector.absMax  
+ 在 10–1000 Hz 频带内观测到的绝对最大加速度
+ 类型：数字
+ 单位：m/s^2

eventPayload.features.acceleration.band10To1000Hz.resultantVector.absMin  
+ 在 10–1000 Hz 频带内观测到的绝对最小加速度
+ 类型：数字
+ 单位：m/s^2

eventPayload.features.acceleration.band10To1000Hz.resultantVector.crestFactor  
+ 在 10–1000 Hz 频带内观测到的加速度波峰因数
+ 类型：数字

eventPayload.features.acceleration.band10To1000Hz.resultantVector.rms  
+ 在 10–1000 Hz 频带内观测到的加速度的均方根
+ 类型：数字
+ m/s^2

eventPayload.features.acceleration.band10To1000Hz.xAxis.rms  
+ 在 10–1000 Hz 频带内观测到的 x 轴上加速度的均方根
+ 类型：数字
+ m/s^2

eventPayload.features.acceleration.band10To1000Hz.yAxis.rms  
+ 在 10–1000 Hz 频带内观测到的 y 轴上加速度的均方根
+ 类型：数字
+ m/s^2

eventPayload.features.acceleration.band10To1000Hz.zAxis.rms  
+ 在 10–1000 Hz 频带内观测到的 z 轴上加速度的均方根
+ 类型：数字
+ m/s^2

eventPayload.features.temperature  
+ 观测到的温度
+ 类型：数字
+ °c/degc

eventPayload.features.velocity.band10To1000Hz.resultantVector.absMax  
+ 在 10–1000 Hz 频带内观测到的绝对最大速度
+ 类型：数字
+ mm/s

eventPayload.features.velocity.band10To1000Hz.resultantVector.absMin  
+ 在 10–1000 Hz 频带内观测到的绝对最小速度
+ 类型：数字
+ mm/s

eventPayload.features.velocity.band10To1000Hz.resultantVector.crestFactor  
+ 在 10–1000 Hz 频带内观测到的速度波峰因数
+ 类型：数字

eventPayload.features.velocity.band10To1000Hz.resultantVector.rms  
+ 在 10–1000 Hz 频带内观测到的速度的均方根
+ 类型：数字
+ mm/s

eventPayload.features.velocity.band10To1000Hz.xAxis.rms  
+ 在 10–1000 Hz 频带内观测到的 x 轴上速度的均方根
+ 类型：数字
+ mm/s

eventPayload.features.velocity.band10To1000Hz.yAxis.rms  
+ 在 10–1000 Hz 频带内观测到的 y 轴上速度的均方根
+ 类型：数字
+ mm/s

eventPayload.features.velocity.band10To1000Hz.zAxis.rms  
+ 在 10–1000 Hz 频带内观测到的 z 轴上速度的均方根
+ 类型：数字
+ mm/s

eventPayload.sequenceNo  
+ 测量数据序列号
+ 类型：数字

事件负载。 assetPositionId  
+ 发送测量结果的传感器位置的标识符。
+ 类型：字符串

Eventpayload.company  
+ 使用该资产的公司的名称。
+ 类型：字符串

Eventpayload.geoLocation.  
+ 网站实际位置的纬度。
+ 类型：数字

eventpayload.geolocation.Long  
+ 网站实际位置的经度。
+ 类型：数字

EventPayload.addr  
+ 网站的地址。
+ 类型：字符串

Eventpayload.serialNum  
+ 资产的序列号。
+ 类型：字符串

eventpayload.make  
+ 资产的品牌。
+ 类型：字符串

eventPayload.model  
+ 资产的模型。
+ 类型：字符串

`eventType: sensorConnected`

siteName  
+ 应用程序中显示的站点名称
+ 类型：字符串

assetName  
+ 应用程序中显示的资产名称
+ 类型：字符串

positionName  
+ 应用程序中显示的传感器位置名称
+ 类型：字符串

assetPositionURL  
+ 应用程序中显示的传感器 URL
+ 类型：字符串

physicalID  
+ 发出测量数据的传感器的物理 ID
+ 类型：字符串

事件负载。 assetPositionId  
+ 状态发生变化的传感器位置的标识符。
+ 类型：字符串

Eventpayload.company  
+ 使用该资产的公司的名称。
+ 类型：字符串

Eventpayload.geoLocation.  
+ 网站实际位置的纬度。
+ 类型：数字

eventpayload.geolocation.Long  
+ 网站实际位置的经度。
+ 类型：数字

EventPayload.addr  
+ 网站的地址。
+ 类型：字符串

Eventpayload.serialNum  
+ 资产的序列号。
+ 类型：字符串

eventpayload.make  
+ 资产的品牌。
+ 类型：字符串

eventPayload.model  
+ 资产的模型。
+ 类型：字符串

`eventType: sensorDisconnected`

siteName  
+ 应用程序中显示的站点名称
+ 类型：字符串

assetName  
+ 应用程序中显示的资产名称
+ 类型：字符串

positionName  
+ 应用程序中显示的传感器位置名称
+ 类型：字符串

assetPositionURL  
+ 应用程序中显示的传感器 URL
+ 类型：字符串

physicalID  
+ 发出测量数据的传感器的物理 ID
+ 类型：字符串

事件负载。 assetPositionId  
+ 状态发生变化的传感器位置的标识符。
+ 类型：字符串

Eventpayload.company  
+ 使用该资产的公司的名称。
+ 类型：字符串

Eventpayload.geoLocation.  
+ 网站实际位置的纬度。
+ 类型：数字

eventpayload.geolocation.Long  
+ 网站实际位置的经度。
+ 类型：数字

EventPayload.addr  
+ 网站的地址。
+ 类型：字符串

Eventpayload.serialNum  
+ 资产的序列号。
+ 类型：字符串

eventpayload.make  
+ 资产的品牌。
+ 类型：字符串

eventPayload.model  
+ 资产的模型。
+ 类型：字符串

 `eventType: gatewayConnected` 

eventPayload.siteName  
+ 应用程序中显示的站点名称
+ 类型：字符串

eventPayload.gatewayName  
+ 应用程序中显示的网关的名称
+ 类型：字符串

eventPayload.gatewayListURL  
+ 应用程序中显示的网关 URL
+ 类型：字符串

eventPayload.gateway.physicalID  
+ 刚刚连接的网关（用于向 Amazon Monitron 服务传输数据）的物理 ID
+ 类型：字符串

Eventpayload.company  
+ 使用该资产的公司的名称。
+ 类型：字符串

Eventpayload.geoLocation.  
+ 网站实际位置的纬度。
+ 类型：数字

eventpayload.geolocation.Long  
+ 网站实际位置的经度。
+ 类型：数字

EventPayload.addr  
+ 网站的地址。
+ 类型：字符串

`eventType: gatewayDisconnected`

siteName  
+ 应用程序中显示的站点名称
+ 类型：字符串

gatewayName  
+ 应用程序中显示的网关的名称
+ 类型：字符串

gatewayListURL  
+ 应用程序中显示的网关 URL
+ 类型：字符串

physicalID  
+ 刚刚连接的网关（用于向 Amazon Monitron 服务传输数据）的物理 ID
+ 类型：字符串

Eventpayload.company  
+ 使用该资产的公司的名称。
+ 类型：字符串

Eventpayload.geoLocation.  
+ 网站实际位置的纬度。
+ 类型：数字

eventpayload.geolocation.Long  
+ 网站实际位置的经度。
+ 类型：数字

EventPayload.addr  
+ 网站的地址。
+ 类型：字符串

`eventType: assetStateTransition`

eventPayload.siteName  
+ 应用程序中显示的站点名称
+ 类型：字符串

eventPayload.assetName  
+ 应用程序中显示的资产名称
+ 类型：字符串

eventPayload.positionName  
+ 应用程序中显示的传感器位置名称
+ 类型：字符串

eventPayload.assetPositionURL  
+ 应用程序中显示的传感器 URL
+ 类型：字符串

eventPayload.sensor.physicalID  
+ 发出测量数据的传感器的物理 ID
+ 类型：字符串

事件负载。 assetTransitionType  
+ 资产状态转换背后的原因
+ 类型：字符串
+ 可能的值：`measurement` 或 `userInput`

eventPayload.assetState.newState  
+ 资产的新状态
+ 类型：字符串

eventPayload.assetState.previousState  
+ 资产的先前状态
+ 类型：字符串

eventPayload.closureCode.failureMode  
+ 用户在确认此故障时选择的故障模式
+ 类型：字符串
+ 可能的值：`NO_ISSUE` \| `BLOCKAGE` \| `CAVITATION` \| `CORROSION` \| `DEPOSIT` \| `IMBALANCE` \| `LUBRICATION` \| `MISALIGNMENT` \| `OTHER` \| `RESONANCE` \| `ROTATING_LOOSENESS` \| `STRUCTURAL_LOOSENESS` \| `TRANSMITTED_FAULT` \| `UNDETERMINED` 

eventPayload.closureCode.failureCause  
+ 用户确认故障时在应用程序下拉菜单中选择的故障原因。
+ 类型：字符串
+ 可能的值：`ADMINISTRATION` \| `DESIGN` \| `FABRICATION` \| `MAINTENANCE` \| `OPERATION` \| `OTHER` \| `QUALITY` \| `UNDETERMINED` \| `WEAR` 

eventPayload.closureCode.actionTaken  
+ 关闭此异常时执行的操作，由用户在应用程序下拉菜单中选择。
+ 类型：字符串
+ 可能的值：`ADJUST` \| `CLEAN` \| `LUBRICATE` \| `MODIFY` \| `NO_ACTION` \| `OTHER` \| `OVERHAUL` \| `REPLACE` 

eventPayload.closureCode.resolvedModels  
+ 指出了问题的一组模型。
+ 类型：字符串列表
+ 可能的值：`vibrationISO` \| `vibrationML` \| `temperatureML` 

事件负载。 assetPositionId  
+ 状态发生变化的资产头寸的标识符。
+ 类型：字符串

models.temperatureM persistentClassificationOutput  
+ 基于机器学习的温度模型的持续分类输出
+ 类型：数字
+ 有效值：`UNKNOWN | HEALTHY | WARNING | ALARM`

models.temperatureM pointwiseClassificationOutput  
+ 基于机器学习的温度模型的逐点分类输出
+ 类型：字符串
+ 有效值：`UNKNOWN | INITIALIZING | HEALTHY | WARNING | ALARM`

models.vibrationISO.isoClass  
+ 基于 ISO 的振动模型使用的 ISO 20816 等级（用于测量和评估机器振动的标准）
+ 类型：字符串
+ 有效值：`CLASS1 | CLASS2 | CLASS3 | CLASS4`

models.vibrationISO.mutedThreshold  
+ 将基于 ISO 的振动模型发出的通知静音的阈值
+ 类型：字符串
+ 有效值：`WARNING | ALARM`

models.vibrationis persistentClassificationOutput  
+ 基于 ISO 的振动模型的持续分类输出
+ 类型：字符串
+ 有效值：`UNKNOWN | HEALTHY | WARNING | ALARM`

models.vibrationis pointwiseClassificationOutput  
+ 基于 ISO 的振动模型的逐点分类输出
+ 类型：字符串
+ 有效值：`UNKNOWN | HEALTHY | WARNING | ALARM | MUTED_WARNING | MUTED_ALARM`

models.vibrationM persistentClassificationOutput  
+ 基于机器学习的振动模型的持续分类输出
+ 类型：字符串
+ 有效值：`UNKNOWN | HEALTHY | WARNING | ALARM`

models.vibrationM pointwiseClassificationOutput  
+ 基于机器学习的振动模型的逐点分类输出
+ 类型：字符串
+ 有效值：`UNKNOWN | INITIALIZING | HEALTHY | WARNING | ALARM`

assetState.newState  
+ 处理测量数据后的机器状态
+ 类型：字符串
+ 有效值：`UNKNOWN | HEALTHY | NEEDS_MAINTENANCE | WARNING | ALARM`

assetState.previousState  
+ 处理测量数据前的机器状态
+ 类型：字符串
+ 有效值：`UNKNOWN | HEALTHY | NEEDS_MAINTENANCE | WARNING | ALARM`

Eventpayload.company  
+ 使用该资产的公司的名称。
+ 类型：字符串

Eventpayload.geoLocation.  
+ 网站实际位置的纬度。
+ 类型：数字

eventpayload.geolocation.Long  
+ 网站实际位置的经度。
+ 类型：数字

EventPayload.addr  
+ 网站的地址。
+ 类型：字符串

Eventpayload.serialNum  
+ 资产的序列号。
+ 类型：字符串

eventpayload.make  
+ 资产的品牌。
+ 类型：字符串

eventPayload.model  
+ 资产的模型。
+ 类型：字符串