

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

# 创建自定义 Amazon Connect Customer Profiles 计算的属性定义
<a name="customerprofiles-calculated-attributes-creating-definition"></a>

使用客户配置文件 [CreateCalculatedAttributeDefinition](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateCalculatedAttributeDefinition.html)API，您可以根据自定义对象类型以编程方式创建自己的计算属性。

在本主题中，我们将演示如何使用自定义 JSON 文件创建计算的属性。

## 步骤 1：创建 JSON 文件
<a name="step1-calculate-attribute-api"></a>

使用以下内容创建 JSON 文件：

```
{
"DomainName": "your-domain-name", 
   "CalculatedAttributeName": "your-calculated-attribute-name",
   "UseHistoricalData": true,
   "DisplayName": "your-display-name",
   "Description": "your-description",
   "AttributeDetails": {
"Attributes": [
         {
            "Name": "your-attribute-name"
         }
       ],
       "Expression": "{your-object-type.your-attribute-name}"
   },
    "Statistic": "your-statistic",
    "Conditions": {
       "Range": {
        "ValueRange"
        {
            "Start": your-range-start
            "End": your-range-end
        },
        "TimestampSource": "{your-object-type.your-timestamp-source}",          
        "Unit": "days"
        },
        "ObjectCount":  your-object-count,
        "Threshold": {
           "Value": "your-threshold-value",
           "Operator": "your-threshold-operator"
        }
   }  
}
```

要使用您自己的值自定义 JSON，请遵循以下准则：
+ **Attributes**：其中应包含要用于计算的属性的对象类型的字段名称。支持此列表中引用的两个属性。
+ **Expression**：支持在不同属性之间执行的基本数学表达式。如果您只有一个属性，则此字段应为 `{ObjectTypeName.AttributeName}`，否则，如果您心中有一个数学表达式，则此字段应同时包含这两个属性。
+ **统计数据**：这是您调用其中一个实际执行聚合操作 APIs 的计算时执行的操作。大多数都是不言自明的，但我们为那些并非不言自明的添加了解释。

  **支持的统计数据**
  + `FIRST_OCCURRENCE` 返回在最早摄取的对象的表达式中指定的属性。
  + `LAST_OCCURRENCE` 返回在最新摄取的对象的表达式中指定的属性。
  + `COUNT` 返回来自选定数据的计数。
  + `SUM` 返回来自选定数据的总和。
  + `MINIMUM` 返回来自选定数据的最小值。
  + `MAXIMUM` 返回来自选定数据的最大值。
  + `AVERAGE` 返回来自选定数据的平均值。
  + `MAX_OCCURRENCE` 返回表达式中指定的最常出现的值。
+ **射程**:
  + 单位：目前仅支持 DAYS 单位。
  + ValueRange：在 “开始” 或 “结束” 字段中 ValueRange指定正数以表示从多少天前开始，并指定负数表示从未来多少天开始。
  + TimestampSource：一个表达式，用于指定 JSON 对象中应从中解析日期的字段。表达式应遵循\$1 “\$1的结构ObjectTypeName。 <Location of timestamp field in JSON pointer format>\$1\$1”。例如；如果您的对象类型为 MyType ，源 JSON 为`{"generatedAt": {"timestamp": "1737587945945"}}`，则 TimestampSource应为`"{MyType.generatedAt.timestamp}"`。
+ **ObjectCount**：表示计算的属性计算应基于多少个对象。
+ **Threshold**：比如，如果您想知道它是否大于某个值，而不是确切计算的属性值，则可以使用阈值。

  阈值可以是任何字符串，并且支持以下阈值运算符。
  + `GREATER_THAN`
  + `LESS_THAN`
  + `EQUAL_TO`
  + `NOT_EQUAL_TO`
+ UseHistoricalData：计算中是否应包括在创建计算属性之前提取的历史数据。

## 第 2 步：调用 CreateCalculatedAttributeDefinition API
<a name="step2-calculated-attribute-api"></a>

使用您的值创建并自定义 JSON 文件后，调用 [CreateCalculatedAttributeDefinition](https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateCalculatedAttributeDefinition.html)API，如以下示例所示：

```
aws customer-profiles create-calculated-attribute-definition --cli-input-json file:///custom_calculated_attribute_cli.json --region region_name
```

还可使用以下端点：

```
https://profile.your-region.amazonaws.com/domains/your-domain-name/calculated-attributes
```