createRecommender method
Creates a recommender with the recipe (a Domain dataset group use case) you specify. You create recommenders for a Domain dataset group and specify the recommender's Amazon Resource Name (ARN) when you make a GetRecommendations request.
Minimum recommendation requests per second
When you create a recommender, you can configure the recommender's minimum
recommendation requests per second. The minimum recommendation requests
per second (minRecommendationRequestsPerSecond) specifies the
baseline recommendation request throughput provisioned by Amazon
Personalize. The default minRecommendationRequestsPerSecond is
1. A recommendation request is a single
GetRecommendations operation. Request throughput is measured
in requests per second and Amazon Personalize uses your requests per
second to derive your requests per hour and the price of your recommender
usage.
If your requests per second increases beyond
minRecommendationRequestsPerSecond, Amazon Personalize
auto-scales the provisioned capacity up and down, but never below
minRecommendationRequestsPerSecond. There's a short time
delay while the capacity is increased that might cause loss of requests.
Your bill is the greater of either the minimum requests per hour (based on
minRecommendationRequestsPerSecond) or the actual number of requests. The
actual request throughput used is calculated as the average
requests/second within a one-hour window. We recommend starting with the
default minRecommendationRequestsPerSecond, track your usage
using Amazon CloudWatch metrics, and then increase the
minRecommendationRequestsPerSecond as necessary.
Status
A recommender can be in one of the following states:
- CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
- STOP PENDING > STOP IN_PROGRESS > INACTIVE > START PENDING > START IN_PROGRESS > ACTIVE
- 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 datasetGroupArn :
The Amazon Resource Name (ARN) of the destination domain dataset group for
the recommender.
Parameter name :
The name of the recommender.
Parameter recipeArn :
The Amazon Resource Name (ARN) of the recipe that the recommender will
use. For a recommender, a recipe is a Domain dataset group use case. Only
Domain dataset group use cases can be used to create a recommender. For
information about use cases see Choosing
recommender use cases.
Parameter recommenderConfig :
The configuration details of the recommender.
Parameter tags :
A list of tags
to apply to the recommender.
Implementation
Future<CreateRecommenderResponse> createRecommender({
required String datasetGroupArn,
required String name,
required String recipeArn,
RecommenderConfig? recommenderConfig,
List<Tag>? tags,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AmazonPersonalize.CreateRecommender'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'datasetGroupArn': datasetGroupArn,
'name': name,
'recipeArn': recipeArn,
if (recommenderConfig != null) 'recommenderConfig': recommenderConfig,
if (tags != null) 'tags': tags,
},
);
return CreateRecommenderResponse.fromJson(jsonResponse.body);
}