ExportJournalToS3
Exports journal contents within a date and time range from a ledger into a specified Amazon Simple Storage Service (Amazon S3) bucket. A journal export job can write the data objects in either the text or binary representation of Amazon Ion format, or in JSON Lines text 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
.
Request Syntax
POST /ledgers/name
/journal-s3-exports HTTP/1.1
Content-type: application/json
{
"ExclusiveEndTime": number
,
"InclusiveStartTime": number
,
"OutputFormat": "string
",
"RoleArn": "string
",
"S3ExportConfiguration": {
"Bucket": "string
",
"EncryptionConfiguration": {
"KmsKeyArn": "string
",
"ObjectEncryptionType": "string
"
},
"Prefix": "string
"
}
}
URI Request Parameters
The request uses the following URI parameters.
- name
-
The name of the ledger.
Length Constraints: Minimum length of 1. Maximum length of 32.
Pattern:
(?!^.*--)(?!^[0-9]+$)(?!^-)(?!.*-$)^[A-Za-z0-9-]+$
Required: Yes
Request Body
The request accepts the following data in JSON format.
- ExclusiveEndTime
-
The exclusive end date and time for the range of journal contents to export.
The
ExclusiveEndTime
must be inISO 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.Type: Timestamp
Required: Yes
- InclusiveStartTime
-
The inclusive start date and time for the range of journal contents to export.
The
InclusiveStartTime
must be inISO 8601
date and time format and in Universal Coordinated Time (UTC). For example:2019-06-13T21:36:34Z
.The
InclusiveStartTime
must be beforeExclusiveEndTime
.If you provide an
InclusiveStartTime
that is before the ledger'sCreationDateTime
, Amazon QLDB defaults it to the ledger'sCreationDateTime
.Type: Timestamp
Required: Yes
- OutputFormat
-
The output format of your exported journal data. A journal export job can write the data objects in either the text or binary representation of Amazon Ion format, or in JSON Lines
text format. Default:
ION_TEXT
In JSON Lines format, each journal block in an exported data object is a valid JSON object that is delimited by a newline. You can use this format to directly integrate JSON exports with analytics tools such as Amazon Athena and AWS Glue because these services can parse newline-delimited JSON automatically.
Type: String
Valid Values:
ION_BINARY | ION_TEXT | JSON
Required: No
- 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 S3 bucket.
-
(Optional) Use your customer managed key in AWS Key Management Service (AWS KMS) for server-side encryption of your exported data.
To pass a role to QLDB when requesting a journal export, you must have permissions to perform the
iam:PassRole
action on the IAM role resource. This is required for all journal export requests.Type: String
Length Constraints: Minimum length of 20. Maximum length of 1600.
Required: Yes
-
- S3ExportConfiguration
-
The configuration settings of the Amazon S3 bucket destination for your export request.
Type: S3ExportConfiguration object
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"ExportId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- ExportId
-
The UUID (represented in Base62-encoded text) that QLDB assigns to each journal export job.
To describe your export request and check the status of the job, you can use
ExportId
to callDescribeJournalS3Export
.Type: String
Length Constraints: Fixed length of 22.
Pattern:
^[A-Za-z-0-9]+$
Errors
For information about the errors that are common to all actions, see Common Errors.
- ResourceNotFoundException
-
The specified resource doesn't exist.
HTTP Status Code: 404
- ResourcePreconditionNotMetException
-
The operation failed because a condition wasn't satisfied in advance.
HTTP Status Code: 412
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: