createMedicalVocabulary method

Future<CreateMedicalVocabularyResponse> createMedicalVocabulary({
  1. required LanguageCode languageCode,
  2. required String vocabularyFileUri,
  3. required String vocabularyName,
})

Creates a new custom vocabulary that you can use to change how Amazon Transcribe Medical transcribes your audio file.

May throw BadRequestException. May throw LimitExceededException. May throw InternalFailureException. May throw ConflictException.

Parameter languageCode : The language code for the language used for the entries in your custom vocabulary. The language code of your custom vocabulary must match the language code of your transcription job. US English (en-US) is the only language code available for Amazon Transcribe Medical.

Parameter vocabularyFileUri : The location in Amazon S3 of the text file you use to define your custom vocabulary. The URI must be in the same AWS Region as the resource that you're calling. Enter information about your VocabularyFileUri in the following format:

https://s3.<aws-region>.amazonaws.com/<bucket-name>/<keyprefix>/<objectkey>

The following is an example URI for a vocabulary file that is stored in Amazon S3:

https://s3.us-east-1.amazonaws.com/AWSDOC-EXAMPLE-BUCKET/vocab.txt

For more information about Amazon S3 object names, see Object Keys in the Amazon S3 Developer Guide.

For more information about custom vocabularies, see Medical Custom Vocabularies.

Parameter vocabularyName : The name of the custom vocabulary. This case-sensitive name must be unique within an AWS account. If you try to create a vocabulary with the same name as a previous vocabulary, you get a ConflictException error.

Implementation

Future<CreateMedicalVocabularyResponse> createMedicalVocabulary({
  required LanguageCode languageCode,
  required String vocabularyFileUri,
  required String vocabularyName,
}) async {
  ArgumentError.checkNotNull(languageCode, 'languageCode');
  ArgumentError.checkNotNull(vocabularyFileUri, 'vocabularyFileUri');
  _s.validateStringLength(
    'vocabularyFileUri',
    vocabularyFileUri,
    1,
    2000,
    isRequired: true,
  );
  ArgumentError.checkNotNull(vocabularyName, 'vocabularyName');
  _s.validateStringLength(
    'vocabularyName',
    vocabularyName,
    1,
    200,
    isRequired: true,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'Transcribe.CreateMedicalVocabulary'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'LanguageCode': languageCode.toValue(),
      'VocabularyFileUri': vocabularyFileUri,
      'VocabularyName': vocabularyName,
    },
  );

  return CreateMedicalVocabularyResponse.fromJson(jsonResponse.body);
}