CreateFlywheelCommand

A flywheel is an Amazon Web Services resource that orchestrates the ongoing training of a model for custom classification or custom entity recognition. You can create a flywheel to start with an existing trained model, or Comprehend can create and train a new model.

When you create the flywheel, Comprehend creates a data lake in your account. The data lake holds the training data and test data for all versions of the model.

To use a flywheel with an existing trained model, you specify the active model version. Comprehend copies the model's training data and test data into the flywheel's data lake.

To use the flywheel with a new model, you need to provide a dataset for training data (and optional test data) when you create the flywheel.

For more information about flywheels, see Flywheel overview  in the Amazon Comprehend Developer Guide.

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { ComprehendClient, CreateFlywheelCommand } from "@aws-sdk/client-comprehend"; // ES Modules import
// const { ComprehendClient, CreateFlywheelCommand } = require("@aws-sdk/client-comprehend"); // CommonJS import
const client = new ComprehendClient(config);
const input = { // CreateFlywheelRequest
  FlywheelName: "STRING_VALUE", // required
  ActiveModelArn: "STRING_VALUE",
  DataAccessRoleArn: "STRING_VALUE", // required
  TaskConfig: { // TaskConfig
    LanguageCode: "en" || "es" || "fr" || "de" || "it" || "pt" || "ar" || "hi" || "ja" || "ko" || "zh" || "zh-TW", // required
    DocumentClassificationConfig: { // DocumentClassificationConfig
      Mode: "MULTI_CLASS" || "MULTI_LABEL", // required
      Labels: [ // LabelsList
        "STRING_VALUE",
      ],
    },
    EntityRecognitionConfig: { // EntityRecognitionConfig
      EntityTypes: [ // EntityTypesList // required
        { // EntityTypesListItem
          Type: "STRING_VALUE", // required
        },
      ],
    },
  },
  ModelType: "DOCUMENT_CLASSIFIER" || "ENTITY_RECOGNIZER",
  DataLakeS3Uri: "STRING_VALUE", // required
  DataSecurityConfig: { // DataSecurityConfig
    ModelKmsKeyId: "STRING_VALUE",
    VolumeKmsKeyId: "STRING_VALUE",
    DataLakeKmsKeyId: "STRING_VALUE",
    VpcConfig: { // VpcConfig
      SecurityGroupIds: [ // SecurityGroupIds // required
        "STRING_VALUE",
      ],
      Subnets: [ // Subnets // required
        "STRING_VALUE",
      ],
    },
  },
  ClientRequestToken: "STRING_VALUE",
  Tags: [ // TagList
    { // Tag
      Key: "STRING_VALUE", // required
      Value: "STRING_VALUE",
    },
  ],
};
const command = new CreateFlywheelCommand(input);
const response = await client.send(command);
// { // CreateFlywheelResponse
//   FlywheelArn: "STRING_VALUE",
//   ActiveModelArn: "STRING_VALUE",
// };

CreateFlywheelCommand Input

See CreateFlywheelCommandInput for more details

Parameter
Type
Description
DataAccessRoleArn
Required
string | undefined

The Amazon Resource Name (ARN) of the IAM role that grants Amazon Comprehend the permissions required to access the flywheel data in the data lake.

DataLakeS3Uri
Required
string | undefined

Enter the S3 location for the data lake. You can specify a new S3 bucket or a new folder of an existing S3 bucket. The flywheel creates the data lake at this location.

FlywheelName
Required
string | undefined

Name for the flywheel.

ActiveModelArn
string | undefined

To associate an existing model with the flywheel, specify the Amazon Resource Number (ARN) of the model version. Do not set TaskConfig or ModelType if you specify an ActiveModelArn.

ClientRequestToken
string | undefined

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

DataSecurityConfig
DataSecurityConfig | undefined

Data security configurations.

ModelType
ModelType | undefined

The model type. You need to set ModelType if you are creating a flywheel for a new model.

Tags
Tag[] | undefined

The tags to associate with this flywheel.

TaskConfig
TaskConfig | undefined

Configuration about the model associated with the flywheel. You need to set TaskConfig if you are creating a flywheel for a new model.

CreateFlywheelCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
ActiveModelArn
string | undefined

The Amazon Resource Number (ARN) of the active model version.

FlywheelArn
string | undefined

The Amazon Resource Number (ARN) of the flywheel.

Throws

Name
Fault
Details
InternalServerException
server

An internal server error occurred. Retry your request.

InvalidRequestException
client

The request is invalid.

KmsKeyValidationException
client

The KMS customer managed key (CMK) entered cannot be validated. Verify the key and re-enter it.

ResourceInUseException
client

The specified resource name is already in use. Use a different name and try your request again.

ResourceLimitExceededException
client

The maximum number of resources per account has been exceeded. Review the resources, and then try your request again.

ResourceNotFoundException
client

The specified resource ARN was not found. Check the ARN and try your request again.

ResourceUnavailableException
client

The specified resource is not available. Check the resource and try your request again.

TooManyRequestsException
client

The number of requests exceeds the limit. Resubmit your request later.

TooManyTagsException
client

The request contains more tags than can be associated with a resource (50 tags per resource). The maximum number of tags includes both existing tags and those included in your current request.

UnsupportedLanguageException
client

Amazon Comprehend can't process the language of the input text. For a list of supported languages, Supported languages  in the Comprehend Developer Guide.

ComprehendServiceException
Base exception class for all service exceptions from Comprehend service.