startDataTransformationJob method
Starts an asynchronous data transformation job that converts source files from Amazon Simple Storage Service (Amazon S3) and writes the output to Amazon S3 or AWS HealthLake.
May throw AccessDeniedException.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ThrottlingException.
May throw ValidationException.
Parameter clientToken :
A unique, case-sensitive identifier to ensure that the operation completes
no more than one time. If this token matches a previous request, the
service ignores the request but does not return an error.
Parameter dataAccessRoleArn :
The Amazon Resource Name (ARN) of the AWS Identity and Access Management
(IAM) role that AWS HealthLake assumes to read from and write to the
specified Amazon S3 locations.
Parameter inputDataConfig :
The Amazon S3 location and format of the source files to transform.
Parameter outputDataConfig :
The Amazon S3 output location and AWS Key Management Service (AWS KMS)
encryption configuration.
Parameter profileId :
The unique identifier of the data transformation profile to use for
conversion.
Parameter driftDetectionEnabled :
Specifies whether drift detection is enabled for this job. When enabled,
AWS HealthLake writes a drift report to the output Amazon S3 location
alongside the converted files.
Parameter jobName :
A descriptive name for the data transformation job.
Parameter provenanceEnabled :
Specifies whether FHIR R4 Provenance resource generation is enabled for
this transformation job. When provenance is enabled, the service also
generates related DocumentReference and Device resources. If you don't
specify a value, the default is true. To disable provenance
output, set this parameter to false.
Implementation
Future<StartDataTransformationJobResponse> startDataTransformationJob({
required String clientToken,
required String dataAccessRoleArn,
required TransformationInputDataConfig inputDataConfig,
required TransformationOutputDataConfig outputDataConfig,
required String profileId,
bool? driftDetectionEnabled,
String? jobName,
bool? provenanceEnabled,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.0',
'X-Amz-Target': 'HealthLake.StartDataTransformationJob'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'ClientToken': clientToken,
'DataAccessRoleArn': dataAccessRoleArn,
'InputDataConfig': inputDataConfig,
'OutputDataConfig': outputDataConfig,
'ProfileId': profileId,
if (driftDetectionEnabled != null)
'DriftDetectionEnabled': driftDetectionEnabled,
if (jobName != null) 'JobName': jobName,
if (provenanceEnabled != null) 'ProvenanceEnabled': provenanceEnabled,
},
hostPrefix: 'datatransformation.',
);
return StartDataTransformationJobResponse.fromJson(jsonResponse.body);
}