

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

# BatchPutAssetPropertyValue API
<a name="ingest-api-batch-putasset"></a>

使用 [BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html) 操作上传数据。通过此操作，您可以一次上传多个数据条目，以从多个设备收集数据并在单个请求中全部发送。

**重要**  
该[BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html)操作受以下配额限制：  
每个请求最多 10 个[条目](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html#API_BatchPutAssetPropertyValue_RequestSyntax)。
每个条目最多 10 个[属性值](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_PutAssetPropertyValueEntry.html#iotsitewise-Type-PutAssetPropertyValueEntry-propertyValues)（TQV 数据点）。
AWS IoT SiteWise 拒绝任何时间戳超过过去 7 天或将来 10 分钟以上的数据。
 有关这些配额的更多信息，请参阅 *AWS IoT SiteWise API 参考[BatchPutAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_BatchPutAssetPropertyValue.html)*中的。

要标识资产属性，请指定以下项之一：
+ 向其发送数据的资产属性的 `assetId` 和 `propertyId`。
+ `propertyAlias`，这是一个数据流别名（例如，`/company/windfarm/3/turbine/7/temperature`）。要使用此选项，您必须首先设置资产属性的别名。要设置属性别名，请参阅[管理数据流 AWS IoT SiteWise](manage-data-streams.md)。

以下示例演示了如何从存储在 JSON 文件中的负载发送风力涡轮机的温度和每分钟转数 (RPM) 读数。

```
aws iotsitewise batch-put-asset-property-value --cli-input-json file://batch-put-payload.json
```

中的示例负载`batch-put-payload.json`包含以下内容。

```
{
  "enablePartialEntryProcessing": true,      
  "entries": [
    {
      "entryId": "{{unique entry ID}}",
      "propertyAlias": "/company/windfarm/3/turbine/7/temperature",
      "propertyValues": [
        {
          "value": {
            "integerValue": 38
          },
          "timestamp": {
            "timeInSeconds": 1575691200
          }
        }
      ]
    },
    {
      "entryId": "{{unique entry ID}}",
      "propertyAlias": "/company/windfarm/3/turbine/7/rpm",
      "propertyValues": [
        {
          "value": {
            "doubleValue": 15.09
          },
          "timestamp": {
            "timeInSeconds": 1575691200
          },
          "quality": "GOOD"
        }
      ]
    },
    {
  "entryId": "unique entry ID",
      "propertyAlias": "/company/windfarm/3/turbine/7/rpm",
      "propertyValues": [
        {
  "value": {
  "nullValue":{"valueType": "D"}
          },
          "timestamp": {
  "timeInSeconds": 1575691200
          },
          "quality": "BAD"
        }
      ]
    }
  ]
}
```

指定`enablePartialEntryProcessing`为`true`允许提取所有不会导致失败的值。默认行为是 `false`。如果值无效，则整个条目将无法读取。

负载中的每个条目都包含一个 `entryId`，您可以将其定义为任何唯一的字符串。如果任何请求条目失败，则每个错误都将包含相应请求的 `entryId`，以便您知道要重试的请求。

列表中的每个结构都`propertyValues`是一个 timestamp-quality-value (TQV) 结构，其中包含 a `value` `timestamp`、a 和（可选）。`quality`
+ `value` – 包含下列字段之一的结构，具体取决于要设置的属性的类型：
  + `booleanValue`
  + `doubleValue`
  + `integerValue`
  + `stringValue`
  + `nullValue`
+ `nullValue`— 一种结构，其中的以下字段表示属性值的类型，值为 Null，质量为`BAD`或`UNCERTAIN`。
  + `valueType`— {“B”、“D”、“S”、“I”} 的枚举
+ `timestamp` – 包含当前 Unix 纪元时间（以秒为单位）的结构，`timeInSeconds`如果您有时间精确的数据，也可以在`timestamp`结构中设置`offsetInNanos`密钥。 AWS IoT SiteWise 拒绝任何时间戳在过去超过 7 天或将来超过 10 分钟的数据点。
+ `quality` –（可选）以下质量字符串之一：
  + `GOOD` –（默认）数据不受任何问题的影响。
  + `BAD` – 数据受传感器故障等问题的影响。
  + `UNCERTAIN` – 数据受传感器不准确等问题的影响。

  有关如何在计算中 AWS IoT SiteWise 处理数据质量的更多信息，请参阅[公式表达式中的数据质量](expression-tutorials.md#data-quality)。