exportJournalToS3 method
- required DateTime exclusiveEndTime,
- required DateTime inclusiveStartTime,
- required String name,
- required String roleArn,
- required S3ExportConfiguration s3ExportConfiguration,
Exports journal contents within a date and time range from a ledger into a specified Amazon Simple Storage Service (Amazon S3) bucket. The data is written as files in Amazon Ion format.
If the ledger with the given Name
doesn't exist, then throws
ResourceNotFoundException
.
If the ledger with the given Name
is in CREATING
status, then throws ResourcePreconditionNotMetException
.
You can initiate up to two concurrent journal export requests for each
ledger. Beyond this limit, journal export requests throw
LimitExceededException
.
May throw ResourceNotFoundException. May throw ResourcePreconditionNotMetException.
Parameter exclusiveEndTime
:
The exclusive end date and time for the range of journal contents that you
want to export.
The ExclusiveEndTime
must be in ISO 8601
date
and time format and in Universal Coordinated Time (UTC). For example:
2019-06-13T21:36:34Z
The ExclusiveEndTime
must be less than or equal to the
current UTC date and time.
Parameter inclusiveStartTime
:
The inclusive start date and time for the range of journal contents that
you want to export.
The InclusiveStartTime
must be in ISO 8601
date
and time format and in Universal Coordinated Time (UTC). For example:
2019-06-13T21:36:34Z
The InclusiveStartTime
must be before
ExclusiveEndTime
.
If you provide an InclusiveStartTime
that is before the
ledger's CreationDateTime
, Amazon QLDB defaults it to the
ledger's CreationDateTime
.
Parameter name
:
The name of the ledger.
Parameter roleArn
:
The Amazon Resource Name (ARN) of the IAM role that grants QLDB
permissions for a journal export job to do the following:
- Write objects into your Amazon Simple Storage Service (Amazon S3) bucket.
- (Optional) Use your customer master key (CMK) in AWS Key Management Service (AWS KMS) for server-side encryption of your exported data.
Parameter s3ExportConfiguration
:
The configuration settings of the Amazon S3 bucket destination for your
export request.
Implementation
Future<ExportJournalToS3Response> exportJournalToS3({
required DateTime exclusiveEndTime,
required DateTime inclusiveStartTime,
required String name,
required String roleArn,
required S3ExportConfiguration s3ExportConfiguration,
}) async {
ArgumentError.checkNotNull(exclusiveEndTime, 'exclusiveEndTime');
ArgumentError.checkNotNull(inclusiveStartTime, 'inclusiveStartTime');
ArgumentError.checkNotNull(name, 'name');
_s.validateStringLength(
'name',
name,
1,
32,
isRequired: true,
);
ArgumentError.checkNotNull(roleArn, 'roleArn');
_s.validateStringLength(
'roleArn',
roleArn,
20,
1600,
isRequired: true,
);
ArgumentError.checkNotNull(s3ExportConfiguration, 's3ExportConfiguration');
final $payload = <String, dynamic>{
'ExclusiveEndTime': unixTimestampToJson(exclusiveEndTime),
'InclusiveStartTime': unixTimestampToJson(inclusiveStartTime),
'RoleArn': roleArn,
'S3ExportConfiguration': s3ExportConfiguration,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/ledgers/${Uri.encodeComponent(name)}/journal-s3-exports',
exceptionFnMap: _exceptionFns,
);
return ExportJournalToS3Response.fromJson(response);
}