

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

# 摄取外部警报状态 AWS IoT SiteWise
<a name="ingest-external-alarm-state"></a>

外部警报是您在外部评估的警报 AWS IoT SiteWise。当您有一个数据来源报告您想要获取到 AWS IoT SiteWise的警报状态时，您可以使用外部警报。

警报状态属性要求警报状态数据值采用特定的格式。每个数据值都必须是序列化为字符串的 JSON 对象。然后，将序列化的字符串作为字符串值提取。有关更多信息，请参阅 [警报状态属性](industrial-alarms.md#alarm-state-properties)。

**Example 警报状态数据值示例（未序列化）**  

```
{
  "stateName": "Active"
}
```

**Example 警报状态数据值示例（序列化）**  

```
{\"stateName\":\"Active\"}
```

**注意**  
如果您的数据来源无法报告这种格式的数据，或者您无法在采集数据之前将其转换为此格式，则可以选择不使用警报属性。相反，例如，您可以将数据作为具有字符串数据类型的测量属性进行获取。有关更多信息，请参阅[定义来自设备的数据流（测量值）](measurements.md)和[将数据摄取到 AWS IoT SiteWise](industrial-data-ingestion.md)。

# 映射外部警报状态流 AWS IoT SiteWise
<a name="connect-alarm-data-streams"></a>

您可以定义属性别名，将数据流映射到警报状态属性。这有助于您在获取或检索数据时轻松识别警报状态属性。有关属性别名的更多信息，请参阅 [管理数据流 AWS IoT SiteWise](manage-data-streams.md)。

**Topics**
+ [映射外部警报状态流（控制台）](#connect-alarm-data-stream-console)
+ [映射外部警报状态流（AWS CLI）](#connect-alarm-data-stream-cli)

## 映射外部警报状态流（控制台）
<a name="connect-alarm-data-stream-console"></a>

您可以定义属性别名，将数据流映射到警报状态属性。这有助于您在获取或检索数据时轻松识别警报状态属性。有关属性别名的更多信息，请参阅 [管理数据流 AWS IoT SiteWise](manage-data-streams.md)。

您可以使用 AWS IoT SiteWise 控制台为警报状态属性设置别名。

**为警报状态属性设置属性别名（控制台）**

1. <a name="sitewise-open-console"></a>导航至 [AWS IoT SiteWise 控制台](https://console.aws.amazon.com/iotsitewise/)。

1. <a name="sitewise-choose-assets"></a>在导航窗格中，选择**资产**。

1. 选择要为其设置属性别名的资产。
**提示**  <a name="sitewise-expand-asset-hierarchy"></a>
您可以选择箭头图标来展开资产层次结构以查找资产。

1. 选择**编辑**。

1. 滚动到**警报**并展开该部分。

1. 在**外部警报**下，在**属性别名 - *可选***中输入别名。

1. 选择**保存**。

## 映射外部警报状态流（AWS CLI）
<a name="connect-alarm-data-stream-cli"></a>

您可以定义属性别名，将数据流映射到警报状态属性。这有助于您在获取或检索数据时轻松识别警报状态属性。有关属性别名的更多信息，请参阅 [管理数据流 AWS IoT SiteWise](manage-data-streams.md)。

您可以使用 AWS Command Line Interface (AWS CLI) 为警报状态属性设置别名。

您必须知道资产的 `assetId` 和属性的 `propertyId` 才能完成此过程。您还可以使用外部 ID。如果您创建了资产但不知道该资产`assetId`，请使用 [ListAssets](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListAssets.html)API 列出特定模型的所有资产。使用该[DescribeAsset](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html)操作查看资产的属性，包括财产 IDs。

**注意**  
[DescribeAsset](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html)响应包括该资产的复合资产模型列表。每个警报都是一个复合模型。要查找 `propertyId`，请找到警报的复合模型，然后在该复合模型中找到 `AWS/ALARM_STATE` 属性。

有关如何设置属性别名的更多信息，请参阅 [更新资产属性的别名](update-data-streams-method.md)。

# 摄取警报状态数据 AWS IoT SiteWise
<a name="ingest-alarm-state-data"></a>

警报状态属性期望警报状态为序列化的 JSON 字符串。要将警报状态引入外部警报 AWS IoT SiteWise，请将此序列化字符串作为带时间戳的字符串值提取。以下示例演示了活动警报的状态数据值。

```
{\"stateName\":\"Active\"}
```

要标识警报状态属性，您可以指定以下项之一：
+ 您要向其发送数据的警报属性的 `assetId` 和 `propertyId` 。
+ `propertyAlias`，这是一个数据流别名（例如，`/company/windfarm/3/turbine/7/temperature/high`）。要使用此选项，您必须首先设置警报属性的别名。要了解如何为警报状态属性设置属性别名，请参阅 [映射外部警报状态流 AWS IoT SiteWise](connect-alarm-data-streams.md)。

以下 [BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html)API 负载示例，演示了如何格式化外部警报的状态。当风力涡轮机的每分钟转速 (RPM) 读数过高时，此外部警报会报告。

**Example 警报状态数据的 BatchPutAssetPropertyValue 有效负载示例**  

```
{
    "entries": [
      {
        "entryId": "unique entry ID",
        "propertyAlias": "/company/windfarm/3/turbine/7/temperature/high",
        "propertyValues": [
          {
            "value": {
              "stringValue": "{\"stateName\":\"Active\"}"
            },
            "timestamp": {
              "timeInSeconds": 1607550262
            }
          }
        ]
      }
    ]
  }
```
有关如何使用 `BatchPutAssetPropertyValue` API 获取数据的更多信息，请参阅 [使用摄取数据 AWS IoT SiteWise APIs](ingest-api.md)。  
要进一步了解有关采集数据的其他方式，请参阅 [将数据摄取到 AWS IoT SiteWise](industrial-data-ingestion.md)。