

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

# 更新解決方案以變更其自動訓練組態
<a name="updating-solution"></a>

建立解決方案之後，您可以變更其自動訓練組態及其事件組態：
+ 您可以開啟或關閉自動訓練，也可以變更訓練頻率。
  + 如果您開啟自動訓練，第一個自動訓練會在解決方案更新完成後一小時內開始。如果您在一小時內手動建立解決方案版本，解決方案會略過第一個自動訓練。
  + 如果您修改解決方案的訓練頻率，訓練排程會重設，新的解決方案版本會在一小時內開始訓練。解決方案版本建立會以新的頻率繼續，其中第 1 天是您更新解決方案的那一天。
+ 您可以更新解決方案事件組態。如果解決方案已指定事件組態，則新事件組態將取代原始事件組態。如需最佳化事件組態解決方案的詳細資訊，請參閱 [使用事件組態最佳化解決方案](optimizing-solution-events-config.md)。

您可以使用 Amazon Personalize 主控台 AWS Command Line Interface或 AWS SDKs更新解決方案。解決方案更新可能需要幾分鐘的時間。更新進行中時，您可以為解決方案建立解決方案版本，但無法刪除解決方案。在更新完成之前，解決方案會使用先前的組態。如需自動訓練的詳細資訊，請參閱 [設定自動訓練](solution-config-auto-training.md)。

**Topics**
+ [更新解決方案 （主控台）](#update-solution-console)
+ [更新解決方案 (AWS CLI)](#update-solution-cli)
+ [更新解決方案AWS SDKs)](#update-solution-sdk)

## 更新解決方案 （主控台）
<a name="update-solution-console"></a>

 若要在 主控台中更新解決方案，請導覽至解決方案，選擇更新，然後指定要使用的新組態。

**設定解決方案**

1. 在 [https://console.aws.amazon.com/personalize/home](https://console.aws.amazon.com/personalize/home)：// 開啟 Amazon Personalize 主控台，並登入您的帳戶。

1. 在**資料集群組**頁面上，選擇您的資料集群組。

1. 在導覽窗格中，選擇**自訂資源**，然後選擇**解決方案和配方**。

1. 選擇您的解決方案，然後選擇右上角的**更新**。

1. 在**自動訓練**中，修改解決方案是否使用自動訓練。如果自動訓練已開啟，您可以變更 `Automatic training frequency`。預設訓練頻率為每 7 天一次。

1. 選擇**更新解決方案**。您可以在解決方案的詳細資訊頁面上找到解決方案更新的狀態。

## 更新解決方案 (AWS CLI)
<a name="update-solution-cli"></a>

若要使用 更新解決方案 AWS Command Line Interface，請使用 `update-solution`命令。此命令使用 [UpdateSolution](API_UpdateSolution.md) API 操作。下列程式碼說明如何更新解決方案，以使用訓練頻率為 5 天的自動訓練。若要關閉自動訓練，請指定`--no-perform-auto-training`並省略 `solution-update-config`。

預設訓練頻率為每 7 天一次。表達式的`rate(value unit)`格式必須是 。針對 值，指定介於 1 到 30 之間的數字。針對 單位，指定 `day`或 `days`。

```
aws personalize update-solution \
--solution-arn solution ARN \
--perform-auto-training \
--solution-update-config "{\"autoTrainingConfig\": {\"schedulingExpression\": \"rate(5 days)\"}}"
```

若要取得更新狀態，請使用 `describe-solution`命令 （使用 [DescribeSolution](API_DescribeSolution.md) API 操作），並在 中尋找更新狀態`latestSolutionUpdate`。

## 更新解決方案AWS SDKs)
<a name="update-solution-sdk"></a>

若要使用 AWS SDKs 更新解決方案，請使用 [UpdateSolution](API_UpdateSolution.md) API 操作。下列程式碼說明如何使用適用於 Python (Boto3) 的 SDK 來更新解決方案，以使用訓練頻率為 5 天的自動訓練。程式碼會取得 [DescribeSolution](API_DescribeSolution.md) API 操作的更新狀態。

預設訓練頻率為每 7 天一次。表達式的`rate(value unit)`格式必須是 。針對 值，指定介於 1 到 30 之間的數字。針對 單位，指定 `day`或 `days`。

```
import boto3

personalize = boto3.client('personalize')

update_solution_response = personalize.update_solution(
    solutionArn='SOLUTION ARN',
    performAutoTraining=True,
    solutionUpdateConfig={
        "autoTrainingConfig": {
            "schedulingExpression": "rate(5 days)"
        }
    }
)
describe_solution_response = personalize.describe_solution(
    solutionArn='SOLUTION ARN'
)
update_status = describe_solution_response["solution"]["latestSolutionUpdate"]["status"]
print(f"Update status: {update_status}")
```