createCampaign method
Minimum Provisioned TPS and Auto-Scaling
When you create an Amazon Personalize campaign, you can specify the
minimum provisioned transactions per second
(minProvisionedTPS) for the campaign. This is the baseline
transaction throughput for the campaign provisioned by Amazon Personalize.
It sets the minimum billing charge for the campaign while it is active. A
transaction is a single GetRecommendations or
GetPersonalizedRanking request. The default
minProvisionedTPS is 1.
If your TPS increases beyond the 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. When your
traffic reduces, capacity returns to the minProvisionedTPS.
You are charged for the the minimum provisioned TPS or, if your requests
exceed the minProvisionedTPS, the actual TPS. The actual TPS
is the total number of recommendation requests you make. We recommend
starting with a low minProvisionedTPS, track your usage using
Amazon CloudWatch metrics, and then increase the
minProvisionedTPS as necessary.
For more information about campaign costs, see Amazon Personalize pricing.
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
Related APIs
May throw InvalidInputException.
May throw LimitExceededException.
May throw ResourceAlreadyExistsException.
May throw ResourceInUseException.
May throw ResourceNotFoundException.
May throw TooManyTagsException.
Parameter name :
A name for the new campaign. The campaign name must be unique within your
account.
Parameter solutionVersionArn :
The Amazon Resource Name (ARN) of the trained model to deploy with the
campaign. To specify the latest solution version of your solution, specify
the ARN of your solution in SolutionArn/$LATEST
format. You must use this format if you set
syncWithLatestSolutionVersion to True in the CampaignConfig.
To deploy a model that isn't the latest solution version of your solution, specify the ARN of the solution version.
For more information about automatic campaign updates, see Enabling automatic campaign updates.
Parameter campaignConfig :
The configuration details of a campaign.
Parameter minProvisionedTPS :
Specifies the requested minimum provisioned transactions (recommendations)
per second that Amazon Personalize will support. A high
minProvisionedTPS will increase your bill. We recommend
starting with 1 for minProvisionedTPS (the default). Track
your usage using Amazon CloudWatch metrics, and increase the
minProvisionedTPS as necessary.
Parameter tags :
A list of tags
to apply to the campaign.
Implementation
Future<CreateCampaignResponse> createCampaign({
required String name,
required String solutionVersionArn,
CampaignConfig? campaignConfig,
int? minProvisionedTPS,
List<Tag>? tags,
}) async {
_s.validateNumRange(
'minProvisionedTPS',
minProvisionedTPS,
1,
1152921504606846976,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AmazonPersonalize.CreateCampaign'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'name': name,
'solutionVersionArn': solutionVersionArn,
if (campaignConfig != null) 'campaignConfig': campaignConfig,
if (minProvisionedTPS != null) 'minProvisionedTPS': minProvisionedTPS,
if (tags != null) 'tags': tags,
},
);
return CreateCampaignResponse.fromJson(jsonResponse.body);
}