startMedicalTranscriptionJob method
- required LanguageCode languageCode,
- required Media media,
- required String medicalTranscriptionJobName,
- required String outputBucketName,
- required Specialty specialty,
- required Type type,
- MediaFormat? mediaFormat,
- int? mediaSampleRateHertz,
- String? outputEncryptionKMSKeyId,
- String? outputKey,
- MedicalTranscriptionSetting? settings,
Starts a batch job to transcribe medical speech to text.
May throw BadRequestException. May throw LimitExceededException. May throw InternalFailureException. May throw ConflictException.
Parameter languageCode
:
The language code for the language spoken in the input media file. US
English (en-US) is the valid value for medical transcription jobs. Any
other value you enter for language code results in a
BadRequestException
error.
Parameter medicalTranscriptionJobName
:
The name of the medical transcription job. You can't use the strings
".
" or "..
" by themselves as the job name. The
name must also be unique within an AWS account. If you try to create a
medical transcription job with the same name as a previous medical
transcription job, you get a ConflictException
error.
Parameter outputBucketName
:
The Amazon S3 location where the transcription is stored.
You must set OutputBucketName
for Amazon Transcribe Medical
to store the transcription results. Your transcript appears in the S3
location you specify. When you call the GetMedicalTranscriptionJob,
the operation returns this location in the TranscriptFileUri
field. The S3 bucket must have permissions that allow Amazon Transcribe
Medical to put files in the bucket. For more information, see Permissions
Required for IAM User Roles.
You can specify an AWS Key Management Service (KMS) key to encrypt the
output of your transcription using the
OutputEncryptionKMSKeyId
parameter. If you don't specify a
KMS key, Amazon Transcribe Medical uses the default Amazon S3 key for
server-side encryption of transcripts that are placed in your S3 bucket.
Parameter specialty
:
The medical specialty of any clinician speaking in the input media.
Parameter type
:
The type of speech in the input audio. CONVERSATION
refers to
conversations between two or more speakers, e.g., a conversations between
doctors and patients. DICTATION
refers to single-speaker
dictated speech, e.g., for clinical notes.
Parameter mediaFormat
:
The audio format of the input media file.
Parameter mediaSampleRateHertz
:
The sample rate, in Hertz, of the audio track in the input media file.
If you do not specify the media sample rate, Amazon Transcribe Medical
determines the sample rate. If you specify the sample rate, it must match
the rate detected by Amazon Transcribe Medical. In most cases, you should
leave the MediaSampleRateHertz
field blank and let Amazon
Transcribe Medical determine the sample rate.
Parameter outputEncryptionKMSKeyId
:
The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key
used to encrypt the output of the transcription job. The user calling the
StartMedicalTranscriptionJob operation must have permission to use
the specified KMS key.
You use either of the following to identify a KMS key in the current account:
- KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab"
- KMS Key Alias: "alias/ExampleAlias"
- Amazon Resource Name (ARN) of a KMS key in the current account or another account: "arn:aws:kms:region:account ID:key/1234abcd-12ab-34cd-56ef-1234567890ab"
- ARN of a KMS Key Alias: "arn:aws:kms:region:account ID:alias/ExampleAlias"
If you specify a KMS key to encrypt your output, you must also specify an
output location in the OutputBucketName
parameter.
Parameter outputKey
:
You can specify a location in an Amazon S3 bucket to store the output of
your medical transcription job.
If you don't specify an output key, Amazon Transcribe Medical stores the output of your transcription job in the Amazon S3 bucket you specified. By default, the object key is "your-transcription-job-name.json".
You can use output keys to specify the Amazon S3 prefix and file name of the transcription output. For example, specifying the Amazon S3 prefix, "folder1/folder2/", as an output key would lead to the output being stored as "folder1/folder2/your-transcription-job-name.json". If you specify "my-other-job-name.json" as the output key, the object key is changed to "my-other-job-name.json". You can use an output key to change both the prefix and the file name, for example "folder/my-other-job-name.json".
If you specify an output key, you must also specify an S3 bucket in the
OutputBucketName
parameter.
Parameter settings
:
Optional settings for the medical transcription job.
Implementation
Future<StartMedicalTranscriptionJobResponse> startMedicalTranscriptionJob({
required LanguageCode languageCode,
required Media media,
required String medicalTranscriptionJobName,
required String outputBucketName,
required Specialty specialty,
required Type type,
MediaFormat? mediaFormat,
int? mediaSampleRateHertz,
String? outputEncryptionKMSKeyId,
String? outputKey,
MedicalTranscriptionSetting? settings,
}) async {
ArgumentError.checkNotNull(languageCode, 'languageCode');
ArgumentError.checkNotNull(media, 'media');
ArgumentError.checkNotNull(
medicalTranscriptionJobName, 'medicalTranscriptionJobName');
_s.validateStringLength(
'medicalTranscriptionJobName',
medicalTranscriptionJobName,
1,
200,
isRequired: true,
);
ArgumentError.checkNotNull(outputBucketName, 'outputBucketName');
_s.validateStringLength(
'outputBucketName',
outputBucketName,
0,
64,
isRequired: true,
);
ArgumentError.checkNotNull(specialty, 'specialty');
ArgumentError.checkNotNull(type, 'type');
_s.validateNumRange(
'mediaSampleRateHertz',
mediaSampleRateHertz,
8000,
48000,
);
_s.validateStringLength(
'outputEncryptionKMSKeyId',
outputEncryptionKMSKeyId,
1,
2048,
);
_s.validateStringLength(
'outputKey',
outputKey,
1,
1024,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'Transcribe.StartMedicalTranscriptionJob'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'LanguageCode': languageCode.toValue(),
'Media': media,
'MedicalTranscriptionJobName': medicalTranscriptionJobName,
'OutputBucketName': outputBucketName,
'Specialty': specialty.toValue(),
'Type': type.toValue(),
if (mediaFormat != null) 'MediaFormat': mediaFormat.toValue(),
if (mediaSampleRateHertz != null)
'MediaSampleRateHertz': mediaSampleRateHertz,
if (outputEncryptionKMSKeyId != null)
'OutputEncryptionKMSKeyId': outputEncryptionKMSKeyId,
if (outputKey != null) 'OutputKey': outputKey,
if (settings != null) 'Settings': settings,
},
);
return StartMedicalTranscriptionJobResponse.fromJson(jsonResponse.body);
}