[ aws . personalize ]
Creates a campaign that deploys 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.
Status
A campaign can be in one of the following states:
CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
DELETE PENDING > DELETE IN_PROGRESS
To get the campaign status, call DescribeCampaign .
Note
Wait until the
status
of the campaign isACTIVE
before asking the campaign for recommendations.
Related APIs
See also: AWS API Documentation
See ‘aws help’ for descriptions of global parameters.
create-campaign
--name <value>
--solution-version-arn <value>
[--min-provisioned-tps <value>]
[--campaign-config <value>]
[--tags <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)
Specifies the exploration configuration hyperparameters, including
explorationWeight
andexplorationItemAgeCutOff
, you want to use to configure the amount of item exploration Amazon Personalize uses when recommending items. ProvideitemExplorationConfig
data only if your solution uses the User-Personalization recipe.key -> (string)
value -> (string)
Shorthand Syntax:
itemExplorationConfig={KeyName1=string,KeyName2=string}
JSON Syntax:
{
"itemExplorationConfig": {"string": "string"
...}
}
--tags
(list)
A list of tags to apply to the campaign.
(structure)
The optional metadata that you apply to resources to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. For more information see Tagging Personalize resources .
tagKey -> (string)
One part of a key-value pair that makes up a tag. A key is a general label that acts like a category for more specific tag values.
tagValue -> (string)
The optional part of a key-value pair that makes up a tag. A value acts as a descriptor within a tag category (key).
Shorthand Syntax:
tagKey=string,tagValue=string ...
JSON Syntax:
[
{
"tagKey": "string",
"tagValue": "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.