本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
请求导出日记 QLDB
重要
终止支持通知:现有客户可以在2025年7月31日终止支持QLDB之前使用亚马逊。有关更多详细信息,请参阅将亚马逊QLDB账本迁移到亚马逊 Aurora Postgr SQL
Amazon QLDB 提供了API请求导出指定日期和时间范围以及指定的 Amazon S3 存储桶目标的日志块。日记导出任务可以用 Amazon Ion 的文本或二进制格式写入数据对象,也可以以 Lin JSONes
AWS Management Console
按照以下步骤QLDB使用QLDB控制台提交日记账导出请求。
请求导出(控制台)
登录 AWS Management Console,然后通过 https://console.aws.amazon.com/ql
db 打开亚马逊QLDB控制台。 -
在导航窗格中,选择 导出。
-
选择 创建导出作业。
-
在创建导出作业页面上,输入以下导出设置:
-
分类账 - 要导出其日记账区块的分类帐。
-
开始日期和时间-要导出的日记账块范围的包含起始时间戳,以协调世界时 (UTC) 表示。此时间戳必须早于结束日期和时间。如果您提供的起始时间早于账本的时间戳
CreationDateTime
,QLDB则将其默认为账本的时间戳。CreationDateTime
-
结束日期和时间-要导出的日记账块范围的专有结束时间戳 (UTC)。此日期和时间不能是未来的时间。
-
日记账区块的目标 — 您的导出作业写入数据对象的 Amazon S3 存储桶和前缀名称。使用以下 Amazon S3 URI 格式。
s3://amzn-s3-demo-bucket/
prefix
/您必须为输出对象指定 S3 存储桶名称和可选的前缀名称。以下是示例。
s3://amzn-s3-demo-bucket/journalExport/
存储桶名称和前缀都必须符合 Amazon S3 命名规则和惯例。有关命名存储桶更多信息,请参阅 Amazon Simple Storage Service 开发人员指南中的存储桶限制和约束。有关更多信息,请参阅对象键和元数据。
注意
不支持跨区域查询。指定的 Amazon S3 存储桶必须与您的账本 AWS 区域 相同。
-
S3 加密 - 您的导出作业在 Amazon S3 存储桶中写入数据时使用的加密设置。有关在 Amazon S3 中使用服务器端加密选项的信息,请参阅 Amazon S3 开发人员指南 中的使用服务器端加密保护数据。
-
存储桶默认加密 - 使用指定 Amazon S3 存储桶的默认加密设置。
-
AES-256 — 对 Amazon S3 托管密钥 (SSE-S3) 使用服务器端加密。
-
AWS-KMS — 使用带有 AWS KMS 托管密钥的服务器端加密 (SSE-KMS)。
如果您选择此类型以及 “选择其他 AWS KMS key选项”,则还必须按以下 Amazon 资源名称 (ARN) 格式指定对称加密KMS密钥。
arn:aws:kms:
aws-region
:account-id
:key/key-id
-
-
服务访问权限-在您的 Amazon S3 存储桶中授予QLDB写入权限的IAM角色。如果适用,该IAM角色还必须授予使用您的KMS密钥的QLDB权限。
要在请求日记导出QLDB时将角色传递给,您必须具有对IAM角色资源执行
iam:PassRole
操作的权限。-
创建和使用新的服务角色 — 让控制台为您创建一个具有指定 Amazon S3 存储桶所需权限的新角色。
-
使用现有的服务角色-要了解如何在中手动创建此角色IAM,请参阅导出权限。
-
-
输出格式 - 导出的日记账数据的输出格式
-
Ion 文本 -(默认)Amazon Ion 的文本表示形式
-
Ion 二进制 — Amazon Ion 的二进制表示
-
JSON— 以换行符分隔JSON的文本格式
如果选择JSON,则在导出的数据QLDB对象JSON中将 Ion 日志数据向下转换为。有关更多信息,请参阅 向下转换为 JSON。
-
-
-
根据需要进行设置后,选择 创建导出作业。
完成导出作业所需的时间取决于数据大小。如果您的请求提交成功,控制台将返回主导出页面,并列出您的导出作业及其当前状态。
-
您可以在 Amazon S3 控制台上查看导出对象。
打开 Amazon S3 控制台,网址为https://console.aws.amazon.com/s3/
。 要了解有关这些输出对象格式的更多信息,请参阅 日记账导出输出于 QLDB。
注意
导出作业将在完成七天后过期。有关更多信息,请参阅 导出作业到期。
QLDB API
您也可以使用QLDBAPI带有 AWS SDK或的 Amazon 来请求日记账导出 AWS CLI。QLDBAPI提供了以下操作供应用程序使用:
-
ExportJournalToS3
— 将日期和时间范围内的日记账内容从给定分类账导出到指定的 Amazon S3 存储桶。导出任务可以以 Amazon Ion 的文本或二进制格式或JSON行文本格式将数据写成对象。 -
DescribeJournalS3Export
— 返回有关日记账导出作业的详细信息。输出包括其当前状态、创建时间和原始导出请求的参数。 -
ListJournalS3Exports
— 返回与当前 AWS 账户 和地区相关联的所有账本的日记账导出作业描述的列表。每个导出作业描述的输出都包含与DescribeJournalS3Export
返回的相同的详细信息。 -
ListJournalS3ExportsForLedger
— 返回给定分类账的日记账导出作业描述列表。每个导出作业描述的输出都包含与DescribeJournalS3Export
返回的相同的详细信息。
有关这些API操作的完整说明,请参阅亚马逊QLDBAPI参考资料。
有关使用导出日记账数据的信息 AWS CLI,请参阅AWS CLI 命令参考。
Java 中的示例应用程序
有关基本导出操作的 Java 代码示例,请参阅 GitHub 存储库 a ws-samples/-amazon-qldb-dmv-sample
以下类中的教程代码提供了创建导出、检查导出状态和处理导出输出的示例。
类 | 描述 |
---|---|
ExportJournal |
从vehicle-registration 示例分类账中导出日记账区块,时间戳范围为 10 分钟前到现在。将输出对象写入指定的 S3 存储桶,如果未提供唯一存储桶,则创建唯一存储桶。 |
DescribeJournalExport |
描述vehicle-registration 示例分类账exportId 中指定的日记账导出作业。 |
ListJournalExports |
返回vehicle-registration 示例分类账的日记账导出作业描述列表。 |
ValidateQldbHashChain |
使用给定的exportId 验证vehicle-registration 示例分类账的哈希链。如果未提供,则请求新的导出以用于哈希链验证。 |
导出作业到期
已完成的日记账导出作业有 7 天的保留期。此限制到期后,它们会自动被硬删除。此到期时间是一项硬性限制,无法更改。
删除已完成的导出任务后,您将无法再使用QLDB控制台或以下API操作来检索有关该任务的元数据:
-
DescribeJournalS3Export
-
ListJournalS3Exports
-
ListJournalS3ExportsForLedger
但是,此过期时间对导出数据本身没有影响。所有元数据都保留在导出文件中写入的清单文件中。此到期时间旨在为列出日记账导出任务的API操作提供更流畅的体验。QLDB移除旧的导出任务,以确保您只看到最近的导出,而不必解析多页作业。