

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

# CreateSolution
<a name="API_CreateSolution"></a>

**重要**  
默认情况下，所有新解决方案都使用自动训练。如果使用自动训练，则在解决方案处于活动状态时，就会产生训练费用。为避免产生不必要的费用，在完成后，可以[更新解决方案](https://docs.aws.amazon.com/personalize/latest/dg/API_UpdateSolution.html)以关闭自动训练。有关训练费用的信息，请参阅 [Amazon Personalize 定价](https://aws.amazon.com/personalize/pricing/)。

创建用于训练模型的配置（创建解决方案版本）。此配置包括用于模型训练的配方和可选的训练配置，例如训练中使用的列和特征转换参数。有关配置解决方案的更多信息，请参阅[创建和配置解决方案](https://docs.aws.amazon.com/personalize/latest/dg/customizing-solution-config.html)。

 默认情况下，新解决方案使用自动训练，每 7 天创建一个解决方案版本。您可以更改训练频率。解决方案处于活动状态后，自动解决方案版本创建会在一小时内开始。如果您在一小时内手动创建解决方案版本，则解决方案会跳过第一次自动训练。有关更多信息，请参阅[配置自动训练](https://docs.aws.amazon.com/personalize/latest/dg/solution-config-auto-training.html)。

 要关闭自动训练，请将 `performAutoTraining` 设置为 false。如果您关闭自动训练，则必须通过调用[CreateSolutionVersion](https://docs.aws.amazon.com/personalize/latest/dg/API_CreateSolutionVersion.html)操作来手动创建解决方案版本。

训练开始后，您可以通过 [ListSolutionVersions](https://docs.aws.amazon.com/personalize/latest/dg/API_ListSolutionVersions.html)API 操作获取解决方案版本的 Amazon 资源名称 (ARN)。要获取其状态，请使用[DescribeSolutionVersion](https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeSolutionVersion.html)。

训练完成后，您可以通过调用来评估模型精度[GetSolutionMetrics](https://docs.aws.amazon.com/personalize/latest/dg/API_GetSolutionMetrics.html)。如果您对解决方案版本感到满意，则使用进行部署[CreateCampaign](https://docs.aws.amazon.com/personalize/latest/dg/API_CreateCampaign.html)。该活动通过 [GetRecommendations](https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html)API 向客户提供推荐。

**注意**  
Amazon Personalize 目前不支持配置用于解决方案超参数优化的 `hpoObjective`。

 **状态** 

解决方案可处于以下几种状态之一：
+ CREATE PENDING > CREATE IN\_PROGRESS > ACTIVE - 或 - CREATE FAILED
+ DELETE PENDING > DELETE IN\_PROGRESS

要获取解决方案的状态，请致电[DescribeSolution](https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeSolution.html)。如果您使用手动训练，则在调用 `CreateSolutionVersion` 之前，状态必须为 ACTIVE。

**相关 APIs**
+  [UpdateSolution](https://docs.aws.amazon.com/personalize/latest/dg/API_UpdateSolution.html) 
+  [ListSolutions](https://docs.aws.amazon.com/personalize/latest/dg/API_ListSolutions.html) 
+  [CreateSolutionVersion](https://docs.aws.amazon.com/personalize/latest/dg/API_CreateSolutionVersion.html) 
+  [DescribeSolution](https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeSolution.html) 
+  [DeleteSolution](https://docs.aws.amazon.com/personalize/latest/dg/API_DeleteSolution.html) 
+  [ListSolutionVersions](https://docs.aws.amazon.com/personalize/latest/dg/API_ListSolutionVersions.html) 
+  [DescribeSolutionVersion](https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeSolutionVersion.html) 

## 请求语法
<a name="API_CreateSolution_RequestSyntax"></a>

```
{
   "datasetGroupArn": "{{string}}",
   "eventType": "{{string}}",
   "name": "{{string}}",
   "performAutoML": {{boolean}},
   "performAutoTraining": {{boolean}},
   "performHPO": {{boolean}},
   "performIncrementalUpdate": {{boolean}},
   "recipeArn": "{{string}}",
   "solutionConfig": { 
      "algorithmHyperParameters": { 
         "{{string}}" : "{{string}}" 
      },
      "autoMLConfig": { 
         "metricName": "{{string}}",
         "recipeList": [ "{{string}}" ]
      },
      "autoTrainingConfig": { 
         "schedulingExpression": "{{string}}"
      },
      "eventsConfig": { 
         "eventParametersList": [ 
            { 
               "eventType": "{{string}}",
               "eventValueThreshold": {{number}},
               "weight": {{number}}
            }
         ]
      },
      "eventValueThreshold": "{{string}}",
      "featureTransformationParameters": { 
         "{{string}}" : "{{string}}" 
      },
      "hpoConfig": { 
         "algorithmHyperParameterRanges": { 
            "categoricalHyperParameterRanges": [ 
               { 
                  "name": "{{string}}",
                  "values": [ "{{string}}" ]
               }
            ],
            "continuousHyperParameterRanges": [ 
               { 
                  "maxValue": {{number}},
                  "minValue": {{number}},
                  "name": "{{string}}"
               }
            ],
            "integerHyperParameterRanges": [ 
               { 
                  "maxValue": {{number}},
                  "minValue": {{number}},
                  "name": "{{string}}"
               }
            ]
         },
         "hpoObjective": { 
            "metricName": "{{string}}",
            "metricRegex": "{{string}}",
            "type": "{{string}}"
         },
         "hpoResourceConfig": { 
            "maxNumberOfTrainingJobs": "{{string}}",
            "maxParallelTrainingJobs": "{{string}}"
         }
      },
      "optimizationObjective": { 
         "itemAttribute": "{{string}}",
         "objectiveSensitivity": "{{string}}"
      },
      "trainingDataConfig": { 
         "excludedDatasetColumns": { 
            "{{string}}" : [ "{{string}}" ]
         },
         "includedDatasetColumns": { 
            "{{string}}" : [ "{{string}}" ]
         }
      }
   },
   "tags": [ 
      { 
         "tagKey": "{{string}}",
         "tagValue": "{{string}}"
      }
   ]
}
```

## 请求参数
<a name="API_CreateSolution_RequestParameters"></a>

请求接受采用 JSON 格式的以下数据。

 ** [datasetGroupArn](#API_CreateSolution_RequestSyntax) **   <a name="personalize-CreateSolution-request-datasetGroupArn"></a>
提供训练数据的数据集组的 Amazon 资源名称 (ARN)。  
类型：字符串  
长度约束：最大长度为 256。  
模式：`arn:([a-z\d-]+):personalize:.*:.*:.+`  
是否必需：是

 ** [eventType](#API_CreateSolution_RequestSyntax) **   <a name="personalize-CreateSolution-request-eventType"></a>
当您有多个事件类型（使用 `EVENT_TYPE` 架构字段）时，此参数指定使用哪种事件类型（例如，“单击”或“点赞”）来训练模型。  
如果没有提供 `eventType`，则 Amazon Personalize 将使用所有交互进行同等权重的训练，而不考虑类型。  
类型：字符串  
长度约束：最大长度为 256。  
必需：否

 ** [name](#API_CreateSolution_RequestSyntax) **   <a name="personalize-CreateSolution-request-name"></a>
解决方案的名称。  
类型：字符串  
长度限制：最小长度为 1。最大长度为 63。  
模式：`^[a-zA-Z0-9][a-zA-Z0-9\-_]*`  
是否必需：是

 ** [performAutoML](#API_CreateSolution_RequestSyntax) **   <a name="personalize-CreateSolution-request-performAutoML"></a>
我们建议不要启用自动机器学习。相反，请将您的使用案例与可用的 Amazon Personalize 配方匹配。有关更多信息，请参阅[选择配方](https://docs.aws.amazon.com/personalize/latest/dg/working-with-predefined-recipes.html)。
是否执行自动机器学习 (AutoML)。默认值为 `false`。对于这种情况，您必须指定 `recipeArn`。  
设置为 `true` 时，Amazon Personalize 会分析您的训练数据并选择最佳 USER\_PERSONALIZATION 食谱和超参数。在这种情况下，必须省略 `recipeArn`。Amazon Personalize 通过使用不同的超参数值来运行测试，以确定最佳食谱。与选择特定食谱相比，AutoML 可以延长训练过程。  
类型：布尔值  
必需：否

 ** [performAutoTraining](#API_CreateSolution_RequestSyntax) **   <a name="personalize-CreateSolution-request-performAutoTraining"></a>
解决方案是否使用自动训练来创建新的解决方案版本（经过训练的模型）。默认设置为 `True`，解决方案每 7 天自动创建新的解决方案版本。在解决方案配置过程中，您可以在 `AutoTrainingConfig` 中指定 `schedulingExpression` 来更改训练频率。有关自动训练的更多信息，请参阅[配置自动训练](https://docs.aws.amazon.com/personalize/latest/dg/solution-config-auto-training.html)。  
 解决方案处于活动状态后，自动解决方案版本创建会在一小时内开始。如果您在一小时内手动创建解决方案版本，则解决方案会跳过第一次自动训练。  
 训练开始后，您可以通过 [ListSolutionVersions](https://docs.aws.amazon.com/personalize/latest/dg/API_ListSolutionVersions.html)API 操作获取解决方案版本的 Amazon 资源名称 (ARN)。要获取其状态，请使用[DescribeSolutionVersion](https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeSolutionVersion.html)。  
类型：布尔值  
必需：否

 ** [performHPO](#API_CreateSolution_RequestSyntax) **   <a name="personalize-CreateSolution-request-performHPO"></a>
是否对指定或所选食谱执行超参数优化 (HPO)。默认值为 `false`。  
执行 AutoML 时，此参数始终为 `true`，您不应将其设置为 `false`。  
类型：布尔值  
必需：否

 ** [performIncrementalUpdate](#API_CreateSolution_RequestSyntax) **   <a name="personalize-CreateSolution-request-performIncrementalUpdate"></a>
是否对模型执行增量训练更新。启用后，它允许模型更频繁地从新数据中学习，而无需进行全面的再训练，从而实现近乎实时的个性化。只有使用语义相似度配方的解决方案才支持此参数。  
类型：布尔值  
必需：否

 ** [recipeArn](#API_CreateSolution_RequestSyntax) **   <a name="personalize-CreateSolution-request-recipeArn"></a>
用于模型训练的配方的 Amazon 资源名称 (ARN)。当 `performAutoML` 为 false 时，这是必需的。有关不同的 Amazon Personalize 食谱及其信息 ARNs，请参阅[选择食谱](https://docs.aws.amazon.com/personalize/latest/dg/working-with-predefined-recipes.html)。  
类型：字符串  
长度约束：最大长度为 256。  
模式：`arn:([a-z\d-]+):personalize:.*:.*:.+`  
必需：否

 ** [solutionConfig](#API_CreateSolution_RequestSyntax) **   <a name="personalize-CreateSolution-request-solutionConfig"></a>
解决方案的配置属性。将 `performAutoML` 设置为 true 时，Amazon Personalize 仅评估解决方案配置的 `autoMLConfig` 部分。  
Amazon Personalize 目前不支持配置 `hpoObjective`。
类型：[SolutionConfig](API_SolutionConfig.md) 对象  
必需：否

 ** [tags](#API_CreateSolution_RequestSyntax) **   <a name="personalize-CreateSolution-request-tags"></a>
要应用于解决方案的[标签](https://docs.aws.amazon.com/personalize/latest/dg/tagging-resources.html)列表。  
类型：[Tag](API_Tag.md) 对象数组  
数组成员：最少 0 个物品。最多 200 项。  
必需：否

## 响应语法
<a name="API_CreateSolution_ResponseSyntax"></a>

```
{
   "solutionArn": "string"
}
```

## 响应元素
<a name="API_CreateSolution_ResponseElements"></a>

如果此操作成功，则该服务将会发送回 HTTP 200 响应。

服务以 JSON 格式返回以下数据。

 ** [solutionArn](#API_CreateSolution_ResponseSyntax) **   <a name="personalize-CreateSolution-response-solutionArn"></a>
解决方案的 ARN。  
类型：字符串  
长度约束：最大长度为 256。  
模式：`arn:([a-z\d-]+):personalize:.*:.*:.+`

## 错误
<a name="API_CreateSolution_Errors"></a>

 ** InvalidInputException **   
为字段或参数提供有效值。  
HTTP 状态代码：400

 ** LimitExceededException **   
超出每秒请求次数的限制。  
HTTP 状态代码：400

 ** ResourceAlreadyExistsException **   
指定资源已经存在。  
HTTP 状态代码：400

 ** ResourceInUseException **   
指定的资源正在使用中。  
HTTP 状态代码：400

 ** ResourceNotFoundException **   
找不到指定的资源。  
HTTP 状态代码：400

 ** TooManyTagsException **   
您已超出您可以应用到此资源的最大标签数量。  
HTTP 状态代码：400

## 另请参阅
<a name="API_CreateSolution_SeeAlso"></a>

有关以特定语言之一使用此 API 的更多信息 AWS SDKs，请参阅以下内容：
+  [AWS 命令行界面 V2](https://docs.aws.amazon.com/goto/cli2/personalize-2018-05-22/CreateSolution) 
+  [AWS 适用于.NET 的 SDK V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/personalize-2018-05-22/CreateSolution) 
+  [AWS 适用于 C\+\+ 的 SDK](https://docs.aws.amazon.com/goto/SdkForCpp/personalize-2018-05-22/CreateSolution) 
+  [AWS 适用于 Go v2 的 SDK](https://docs.aws.amazon.com/goto/SdkForGoV2/personalize-2018-05-22/CreateSolution) 
+  [AWS 适用于 Java 的 SDK V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/personalize-2018-05-22/CreateSolution) 
+  [AWS JavaScript V3 版软件开发工具包](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/personalize-2018-05-22/CreateSolution) 
+  [AWS 适用于 Kotlin 的 SDK](https://docs.aws.amazon.com/goto/SdkForKotlin/personalize-2018-05-22/CreateSolution) 
+  [AWS 适用于 PHP 的 SDK V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/personalize-2018-05-22/CreateSolution) 
+  [AWS Python 软件开发工具包](https://docs.aws.amazon.com/goto/boto3/personalize-2018-05-22/CreateSolution) 
+  [AWS 适用于 Ruby V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForRubyV3/personalize-2018-05-22/CreateSolution) 