AWS::Personalize::Solution - AWS CloudFormation

AWS::Personalize::Solution

Important

By default, all new solutions use automatic training. With automatic training, you incur training costs while your solution is active. To avoid unnecessary costs, when you are finished you can update the solution to turn off automatic training. For information about training costs, see Amazon Personalize pricing.

An object that provides information about a solution. A solution includes the custom recipe, customized parameters, and trained models (Solution Versions) that Amazon Personalize uses to generate recommendations.

After you create a solution, you can’t change its configuration. If you need to make changes, you can clone the solution with the Amazon Personalize console or create a new one.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::Personalize::Solution", "Properties" : { "DatasetGroupArn" : String, "EventType" : String, "Name" : String, "PerformAutoML" : Boolean, "PerformHPO" : Boolean, "RecipeArn" : String, "SolutionConfig" : SolutionConfig } }

YAML

Type: AWS::Personalize::Solution Properties: DatasetGroupArn: String EventType: String Name: String PerformAutoML: Boolean PerformHPO: Boolean RecipeArn: String SolutionConfig: SolutionConfig

Properties

DatasetGroupArn

The Amazon Resource Name (ARN) of the dataset group that provides the training data.

Required: Yes

Type: String

Pattern: arn:([a-z\d-]+):personalize:.*:.*:.+

Maximum: 256

Update requires: Replacement

EventType

The event type (for example, 'click' or 'like') that is used for training the model. If no eventType is provided, Amazon Personalize uses all interactions for training with equal weight regardless of type.

Required: No

Type: String

Maximum: 256

Update requires: Replacement

Name

The name of the solution.

Required: Yes

Type: String

Pattern: ^[a-zA-Z0-9][a-zA-Z0-9\-_]*

Minimum: 1

Maximum: 63

Update requires: Replacement

PerformAutoML
Important

We don't recommend enabling automated machine learning. Instead, match your use case to the available Amazon Personalize recipes. For more information, see Determining your use case.

When true, Amazon Personalize performs a search for the best USER_PERSONALIZATION recipe from the list specified in the solution configuration (recipeArn must not be specified). When false (the default), Amazon Personalize uses recipeArn for training.

Required: No

Type: Boolean

Update requires: Replacement

PerformHPO

Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is false.

Required: No

Type: Boolean

Update requires: Replacement

RecipeArn

The ARN of the recipe used to create the solution. This is required when performAutoML is false.

Required: No

Type: String

Pattern: arn:([a-z\d-]+):personalize:.*:.*:.+

Maximum: 256

Update requires: Replacement

SolutionConfig

Describes the configuration properties for the solution.

Required: No

Type: SolutionConfig

Update requires: Replacement

Return values

Ref

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the name of the resource.

For more information about using the Ref function, see Ref.

Fn::GetAtt

The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.

SolutionArn

The Amazon Resource Name (ARN) of the solution.

Examples

Creating a solution

The following example creates an Amazon Personalize solution with the User-Personalization recipe and an event value threshold.

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MySolution": { "Type": "AWS::Personalize::Solution", "Properties": { "Name": "my-solution-name", "DatasetGroupArn": "arn:aws:personalize:us-west-2:123456789012:dataset-group/my-dataset-group-name", "RecipeArn": "arn:aws:personalize:::recipe/aws-user-personalization", "SolutionConfig": { "EventValueThreshold" : ".05" } } } } }

YAML

AWSTemplateFormatVersion: 2010-09-09 Resources: MySolution: Type: 'AWS::Personalize::Solution' Properties: Name: my-solution-name DatasetGroupArn: >- arn:aws:personalize:us-west-2:123456789012:dataset-group/my-dataset-group-name RecipeArn: 'arn:aws:personalize:::recipe/aws-user-personalization' SolutionConfig: EventValueThreshold: '.05'