[ aws . personalize ]



Creates a campaign by deploying a solution version. When a client calls the GetRecommendations and GetPersonalizedRanking APIs, a campaign is specified in the request.

Minimum Provisioned TPS and Auto-Scaling

A transaction is a single GetRecommendations or GetPersonalizedRanking call. Transactions per second (TPS) is the throughput and unit of billing for Amazon Personalize. The minimum provisioned TPS (minProvisionedTPS ) specifies the baseline throughput provisioned by Amazon Personalize, and thus, the minimum billing charge.

If your TPS increases beyond minProvisionedTPS , Amazon Personalize auto-scales the provisioned capacity up and down, but never below minProvisionedTPS . There’s a short time delay while the capacity is increased that might cause loss of transactions.

The actual TPS used is calculated as the average requests/second within a 5-minute window. You pay for maximum of either the minimum provisioned TPS or the actual TPS. We recommend starting with a low minProvisionedTPS , track your usage using Amazon CloudWatch metrics, and then increase the minProvisionedTPS as necessary.


A campaign can be in one of the following states:



To get the campaign status, call DescribeCampaign .


Wait until the status of the campaign is ACTIVE before asking the campaign for recommendations.

Related APIs

  • ListCampaigns

  • DescribeCampaign

  • UpdateCampaign

  • DeleteCampaign

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


--name <value>
--solution-version-arn <value>
[--min-provisioned-tps <value>]
[--campaign-config <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]


--name (string)

A name for the new campaign. The campaign name must be unique within your account.

--solution-version-arn (string)

The Amazon Resource Name (ARN) of the solution version to deploy.

--min-provisioned-tps (integer)

Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon Personalize will support.

--campaign-config (structure)

The configuration details of a campaign.

itemExplorationConfig -> (map)

A string to string map specifying the exploration configuration hyperparameters, including explorationWeight and explorationItemAgeCutOff , you want to use to configure the amount of item exploration Amazon Personalize uses when recommending items. Provide itemExplorationConfig data only if your solution uses the User-Personalization recipe.

key -> (string)

value -> (string)

Shorthand Syntax:


JSON Syntax:

  "itemExplorationConfig": {"string": "string"

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.


campaignArn -> (string)

The Amazon Resource Name (ARN) of the campaign.