

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將特徵和記錄新增至特徵群組中
<a name="feature-store-update-feature-group"></a>

您可以使用 Amazon SageMaker Feature Store API 或主控台來更新和描述您的特徵群組，以及將特徵和記錄新增到您的特徵群組。特徵群組是包含資料的物件，而特徵描述資料表中的欄。當您將特徵加入至特徵群組時，您可以有效地將欄加入至資料表中。將新記錄加入至特徵群組時，您正在為與特定記錄識別符關聯的特徵填入值。若要取得有關特徵商店概念的更多資訊，請參閱[功能儲存概念](feature-store-concepts.md)。

將特徵成功新增至特徵群組後，您無法移除這些特徵。您新增的特徵不會將任何資料加入至記錄。您可以將新記錄新增至特徵群組，或使用 [PutRecord](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_PutRecord.html) API 覆寫這些記錄。若要取得有關更新、描述和將記錄放入特徵群組的範例，請參閱[範例程式碼](#feature-store-update-feature-group-example)。

您可以使用主控台將特徵新增至特徵群組。如需如何使用主控台更新特徵群組的詳細資訊，請參閱[從主控台更新特徵群組](feature-store-use-with-studio.md#feature-store-update-feature-group-studio)。

以下各節提供了使用特徵商店 API 將特徵新增至特徵群組的概述，並附上範例。使用 API，您還可以在更新特徵群組後新增或覆寫記錄。

**Topics**
+ [API](#feature-store-update-feature-group-api)
+ [範例程式碼](#feature-store-update-feature-group-example)

## API
<a name="feature-store-update-feature-group-api"></a>

使用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateFeatureGroup.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateFeatureGroup.html) 操作將特徵新增至特徵群組。

您可以透過該 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFeatureGroup.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFeatureGroup.html) 操作查看是否已成功新增特徵。

若要加入或覆寫記錄，請使用此 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_PutRecord.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_PutRecord.html) 操作。

若要查看您對記錄所做的更新，請使用此 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_GetRecord.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_GetRecord.html) 操作。若要查看您對多個記錄所做的更新，請使用此 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_BatchGetRecord.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_BatchGetRecord.html) 操作。您所做的更新可能需要五分鐘後才會顯示。

您可以透過下一節中的範例程式碼，逐步使用 適用於 Python (Boto3) 的 AWS SDK新增特徵和記錄。

## 範例程式碼
<a name="feature-store-update-feature-group-example"></a>

範例程式碼會引導您完成下列程序：

1. 新增特徵至特徵群組

1. 驗證您已成功新增它們

1. 新增記錄至特徵群組

1. 驗證您已成功新增記錄

### 第 1 步：新增特徵至特徵群組
<a name="feature-store-update-feature-group-step-1"></a>

下列程式碼使用此 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateFeatureGroup.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateFeatureGroup.html) 操作將新特徵新增至特徵群組。它假設您已設定 Feature Store 並建立了一個特徵群組。如需有關入門的更多相關資訊，請參閱[功能儲存範例筆記本簡介](feature-store-introduction-notebook.md)。

```
import boto3

sagemaker_client = boto3.client("sagemaker")

sagemaker_client.update_feature_group(
    FeatureGroupName=feature_group_name,
    FeatureAdditions=[
        {"FeatureName": "new-feature-1", "FeatureType": "Integral"},
        {"FeatureName": "new-feature-2", "FeatureType": "Fractional"},
        {"FeatureName": "new-feature-3", "FeatureType": "String"}
    ]
)
```

下列程式碼會使用此 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFeatureGroup.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFeatureGroup.html) 操作來檢查更新的狀態。如果 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFeatureGroup.html#sagemaker-DescribeFeatureGroup-response-LastUpdateStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFeatureGroup.html#sagemaker-DescribeFeatureGroup-response-LastUpdateStatus) 欄位是 `Successful`，表示您已成功新增特徵。

```
sagemaker_client.describe_feature_group(
    FeatureGroupName=feature_group_name
)
```

### 第 2 步：新增記錄至特徵群組
<a name="feature-store-update-feature-group-step-2"></a>

下列程式碼會使用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_PutRecord.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_PutRecord.html) 操作將記錄新增至您已建立的特徵群組。

```
record_identifier_value = 'new_record'

sagemaker_featurestore_runtime_client = boto3.client("sagemaker-featurestore-runtime")

sagemaker_runtime_client.put_record(
    FeatureGroupName=feature_group_name,
    Record=[
        {
            'FeatureName': "record-identifier-feature-name",
            'ValueAsString': record_identifier_value
        },
        {
            'FeatureName': "event-time-feature",
            'ValueAsString': "timestamp-that-feature-store-returns"
        },
        {
            'FeatureName': "new-feature-1", 
            'ValueAsString': "value-as-string"
        },
        {
            'FeatureName': "new-feature-2", 
            'ValueAsString': "value-as-string"
        },
        {
            'FeatureName': "new-feature-3", 
            'ValueAsString': "value-as-string"
        },
    ]
)
```

使用此 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_GetRecord.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_GetRecord.html) 操作可查看特徵群組中的哪些記錄沒有已新增特徵的資料。您可以透過此 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_PutRecord.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_PutRecord.html) 操作覆寫沒有已新增特徵資料的記錄。