create_campaign

Personalize.Client.create_campaign(**kwargs)

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 is ACTIVE before asking the campaign for recommendations.

Related APIs

See also: AWS API Documentation

Request Syntax

response = client.create_campaign(
    name='string',
    solutionVersionArn='string',
    minProvisionedTPS=123,
    campaignConfig={
        'itemExplorationConfig': {
            'string': 'string'
        }
    },
    tags=[
        {
            'tagKey': 'string',
            'tagValue': 'string'
        },
    ]
)
Parameters
  • name (string) --

    [REQUIRED]

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

  • solutionVersionArn (string) --

    [REQUIRED]

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

  • minProvisionedTPS (integer) -- Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon Personalize will support.
  • campaignConfig (dict) --

    The configuration details of a campaign.

    • itemExplorationConfig (dict) --

      Specifies 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.

      • (string) --
        • (string) --
  • tags (list) --

    A list of tags to apply to the campaign.

    • (dict) --

      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) -- [REQUIRED]

        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) -- [REQUIRED]

        The optional part of a key-value pair that makes up a tag. A value acts as a descriptor within a tag category (key).

Return type

dict

Returns

Response Syntax

{
    'campaignArn': 'string'
}

Response Structure

  • (dict) --

    • campaignArn (string) --

      The Amazon Resource Name (ARN) of the campaign.

Exceptions

  • Personalize.Client.exceptions.InvalidInputException
  • Personalize.Client.exceptions.ResourceNotFoundException
  • Personalize.Client.exceptions.ResourceAlreadyExistsException
  • Personalize.Client.exceptions.LimitExceededException
  • Personalize.Client.exceptions.ResourceInUseException
  • Personalize.Client.exceptions.TooManyTagsException