

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

# 在公式表达式中使用变量
<a name="expression-variables"></a>

变量表示公式表达式中的 AWS IoT SiteWise 资产属性。使用变量在表达式中输入来自其他资产属性的值，以便您可以处理来自常量属性（[属性](attributes.md)）、原始数据流（[测量](measurements.md)）和其他公式属性的数据。

变量可以表示来自同一资产模型或关联子资产模型的资产属性。只有指标公式才能输入子资产模型中的变量。

您可以在控制台和 API 中使用不同的名称来识别变量。
+ **AWS IoT SiteWise 控制台**-在表达式中使用资产属性名称作为变量。
+ **AWS IoT SiteWise API (AWS CLI, AWS SDKs)**-使用[ExpressionVariable](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ExpressionVariable.html)结构定义变量，该结构需要变量名和对资产属性的引用。变量名称可包含大小写字母、数字和下划线。然后，使用变量名在表达式中引用资产属性。

变量名称区分大小写。

有关更多信息，请参阅[定义转换](transforms.md)和[定义指标](metrics.md)。

## 使用变量来引用属性
<a name="variable-values"></a>

变量的*值*定义了它所引用的属性。 AWS IoT SiteWise 提供了不同的方式来实现这一目的。
+ **按属性 ID：**您可以指定属性的唯一 ID（UUID）来对其进行标识。
+ **按名称：**如果该属性属于同一资产模型，则可以在属性 ID 字段中指定其名称。
+ **按路径：**变量值可以通过其*路径*来引用属性。有关更多信息，请参阅 [使用路径来引用自定义复合模型属性](custom-composite-models.md#property-paths)。

**注意**  
 AWS IoT SiteWise 控制台不支持变量。它们由 AWS IoT SiteWise API 使用，包括 AWS Command Line Interface AWS CLI) 和 AWS SDKs。

 您在响应中收到的变量 AWS IoT SiteWise 包含有关该值的完整信息，包括 ID 和路径。

 但是，当您将变量传递到时 AWS IoT SiteWise （例如，在 “创建” 或 “更新” 调用中），您只需要指定其中一个即可。例如，如果您指定路径，则无需提供 ID。