createBatchInferenceJob method
- required BatchInferenceJobInput jobInput,
- required String jobName,
- required BatchInferenceJobOutput jobOutput,
- required String roleArn,
- required String solutionVersionArn,
- BatchInferenceJobConfig? batchInferenceJobConfig,
- BatchInferenceJobMode? batchInferenceJobMode,
- String? filterArn,
- int? numResults,
- List<
Tag> ? tags, - ThemeGenerationConfig? themeGenerationConfig,
Generates batch recommendations based on a list of items or users stored in Amazon S3 and exports the recommendations to an Amazon S3 bucket.
To generate batch recommendations, specify the ARN of a solution version and an Amazon S3 URI for the input and output data. For user personalization, popular items, and personalized ranking solutions, the batch inference job generates a list of recommended items for each user ID in the input file. For related items solutions, the job generates a list of recommended items for each item ID in the input file.
For more information, see Creating a batch inference job .
If you use the Similar-Items recipe, Amazon Personalize can add
descriptive themes to batch recommendations. To generate themes, set the
job's mode to THEME_GENERATION and specify the name of the
field that contains item names in the input data.
For more information about generating themes, see Batch recommendations with themes from Content Generator .
You can't get batch recommendations with the Trending-Now or Next-Best-Action recipes.
May throw InvalidInputException.
May throw LimitExceededException.
May throw ResourceAlreadyExistsException.
May throw ResourceInUseException.
May throw ResourceNotFoundException.
May throw TooManyTagsException.
Parameter jobInput :
The Amazon S3 path that leads to the input file to base your
recommendations on. The input material must be in JSON format.
Parameter jobName :
The name of the batch inference job to create.
Parameter jobOutput :
The path to the Amazon S3 bucket where the job's output will be stored.
Parameter roleArn :
The ARN of the Amazon Identity and Access Management role that has
permissions to read and write to your input and output Amazon S3 buckets
respectively.
Parameter solutionVersionArn :
The Amazon Resource Name (ARN) of the solution version that will be used
to generate the batch inference recommendations.
Parameter batchInferenceJobConfig :
The configuration details of a batch inference job.
Parameter batchInferenceJobMode :
The mode of the batch inference job. To generate descriptive themes for
groups of similar items, set the job mode to
THEME_GENERATION. If you don't want to generate themes, use
the default BATCH_INFERENCE.
When you get batch recommendations with themes, you will incur additional costs. For more information, see Amazon Personalize pricing.
Parameter filterArn :
The ARN of the filter to apply to the batch inference job. For more
information on using filters, see Filtering
batch recommendations.
Parameter numResults :
The number of recommendations to retrieve.
Parameter tags :
A list of tags
to apply to the batch inference job.
Parameter themeGenerationConfig :
For theme generation jobs, specify the name of the column in your Items
dataset that contains each item's name.
Implementation
Future<CreateBatchInferenceJobResponse> createBatchInferenceJob({
required BatchInferenceJobInput jobInput,
required String jobName,
required BatchInferenceJobOutput jobOutput,
required String roleArn,
required String solutionVersionArn,
BatchInferenceJobConfig? batchInferenceJobConfig,
BatchInferenceJobMode? batchInferenceJobMode,
String? filterArn,
int? numResults,
List<Tag>? tags,
ThemeGenerationConfig? themeGenerationConfig,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AmazonPersonalize.CreateBatchInferenceJob'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'jobInput': jobInput,
'jobName': jobName,
'jobOutput': jobOutput,
'roleArn': roleArn,
'solutionVersionArn': solutionVersionArn,
if (batchInferenceJobConfig != null)
'batchInferenceJobConfig': batchInferenceJobConfig,
if (batchInferenceJobMode != null)
'batchInferenceJobMode': batchInferenceJobMode.value,
if (filterArn != null) 'filterArn': filterArn,
if (numResults != null) 'numResults': numResults,
if (tags != null) 'tags': tags,
if (themeGenerationConfig != null)
'themeGenerationConfig': themeGenerationConfig,
},
);
return CreateBatchInferenceJobResponse.fromJson(jsonResponse.body);
}