本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 QLDB 中請求日誌匯出
重要
支援終止通知:現有客戶將可以使用 Amazon QLDB,直到 07/31/2025 的支援結束為止。如需詳細資訊,請參閱將 Amazon QLDB Ledger 遷移至 Amazon Aurora PostgreSQL
Amazon QLDB 提供 API 來請求匯出指定日期和時間範圍的日誌區塊,以及指定的 Amazon S3 儲存貯體目的地。日誌匯出任務可以 Amazon Ion 格式的文字或二進位表示形式,或以 JSON Lines
AWS Management Console
請依照下列步驟,使用 QLDB 主控台在 QLDB 中提交日誌匯出請求。
請求匯出 (主控台)
登入 AWS Management Console,並在 https://console.aws.amazon.com/qldb
:// 開啟 Amazon QLDB 主控台。 -
在導覽窗格中,選擇匯出。
-
選擇建立匯出任務。
-
在建立匯出任務頁面上,輸入下列匯出設定:
-
分類帳 – 您要匯出其日誌區塊的分類帳。
-
開始日期和時間 – 要匯出之日誌區塊範圍的國際標準時間 (UTC) 中包含的開始時間戳記。此時間戳記必須早於結束日期和時間。如果您提供的啟動時間戳記早於分類帳的
CreationDateTime
,QLDB 會將其預設為分類帳的CreationDateTime
。 -
結束日期和時間 – 要匯出之日誌區塊範圍的專屬結束時間戳記 (UTC)。此日期和時間不能在未來。
-
日誌區塊的目的地 – 匯出任務寫入資料物件的 Amazon S3 儲存貯體和字首名稱。使用下列 Amazon S3 URI 格式。
s3://amzn-s3-demo-qldb-cloudtrail/
prefix
/您必須為輸出物件指定 S3 儲存貯體名稱和選用的字首名稱。以下是範例。
s3://amzn-s3-demo-qldb-cloudtrail/journalExport/
儲存貯體名稱和字首必須符合 Amazon S3 命名規則和慣例。如需儲存貯體命名的詳細資訊,請參閱《Amazon S3 開發人員指南》中的儲存貯體限制和限制。如需金鑰名稱字首的詳細資訊,請參閱物件金鑰和中繼資料。
注意
不支援跨區域匯出。指定的 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 Resource Name (ARN) 格式指定對稱加密 KMS 金鑰。
arn:aws:kms:
aws-region
:account-id
:key/key-id
-
-
服務存取 – 在 Amazon S3 儲存貯體中授予 QLDB 寫入許可的 IAM 角色。如果適用,IAM 角色也必須授予 QLDB 許可才能使用 KMS 金鑰。
若要在請求日誌匯出時將角色傳遞給 QLDB,您必須具有在 IAM 角色資源上執行
iam:PassRole
動作的許可。-
建立和使用新的服務角色 – 讓主控台為您建立新的角色,並具有指定 Amazon S3 儲存貯體的必要許可。
-
使用現有的服務角色 – 若要了解如何在 IAM 中手動建立此角色,請參閱 匯出許可。
-
-
輸出格式 – 匯出日誌資料的輸出格式
-
離子文字 – (預設) Amazon Ion 的文字表示
-
Ion 二進位 – Amazon Ion 的二進位表示
-
JSON – 以新行分隔的 JSON 文字格式
如果您選擇 JSON,QLDB 會將匯出的資料物件中的 Ion 日誌資料向下轉換為 JSON。如需詳細資訊,請參閱向下轉換至 JSON。
-
-
-
設定如您想要,請選擇建立匯出任務。
匯出任務完成所需的時間,會因資料大小而異。如果您的請求提交成功,主控台會返回主要匯出頁面,並列出您的匯出任務及其目前狀態。
-
您可以在 Amazon S3 主控台上查看匯出物件。
開啟位於 https://console.aws.amazon.com/s3/
的 Amazon S3 主控台。 若要進一步了解這些輸出物件的格式,請參閱 QLDB 中的日誌匯出輸出。
注意
匯出任務會在完成七天後過期。如需詳細資訊,請參閱匯出任務過期。
QLDB API
您也可以使用 Amazon QLDB API 搭配 AWS SDK 或 來請求日誌匯出 AWS CLI。QLDB API 提供下列操作供應用程式使用:
-
ExportJournalToS3
– 將日期和時間範圍內的日誌內容從指定的分類帳匯出至指定的 Amazon S3 儲存貯體。匯出任務可以 Amazon Ion 格式的文字或二進位表示法,或 JSON Lines 文字格式,將資料寫入物件。 -
DescribeJournalS3Export
– 傳回日誌匯出任務的詳細資訊。輸出包含其目前狀態、建立時間和原始匯出請求的參數。 -
ListJournalS3Exports
– 傳回與目前 AWS 帳戶 和 區域相關聯的所有分類帳的日誌匯出任務描述清單。每個匯出任務描述的輸出都包含 傳回的相同詳細資訊DescribeJournalS3Export
。 -
ListJournalS3ExportsForLedger
– 傳回指定分類帳的日誌匯出任務描述清單。每個匯出任務描述的輸出都包含 傳回的相同詳細資訊DescribeJournalS3Export
。
如需這些 API 操作的完整說明,請參閱 Amazon QLDB API 參考。
如需使用 匯出日誌資料的相關資訊 AWS CLI,請參閱 AWS CLI 命令參考。
應用程式範例 (Java)
如需基本匯出操作的 Java 程式碼範例,請參閱 GitHub 儲存庫 aws-samples/amazon-qldb-dmv-sample-java
下列類別中的教學課程程式碼提供建立匯出、檢查匯出狀態,以及處理匯出輸出的範例。
類別 | 描述 |
---|---|
ExportJournal |
從vehicle-registration 範例分類帳匯出日誌區塊,時間戳記範圍為 10 分鐘前,直到現在為止。在指定的 S3 儲存貯體中寫入輸出物件,如果未提供,則建立唯一的儲存貯體。 |
DescribeJournalExport |
描述vehicle-registration 範例分類帳exportId 中指定 的日誌匯出任務。 |
ListJournalExports |
傳回vehicle-registration 範例分類帳的日誌匯出任務描述清單。 |
ValidateQldbHashChain |
使用指定的 驗證vehicle-registration 範例分類帳的雜湊鏈exportId 。如果未提供, 會請求新的匯出以用於雜湊鏈驗證。 |
匯出任務過期
已完成的日誌匯出任務受 7 天的保留期限制。它們會在此限制過期後自動硬刪除。此過期期間是硬性限制,無法變更。
刪除已完成的匯出任務後,您便無法再使用 QLDB 主控台或下列 API 操作來擷取任務的中繼資料:
-
DescribeJournalS3Export
-
ListJournalS3Exports
-
ListJournalS3ExportsForLedger
不過,此過期不會影響匯出的資料本身。所有中繼資料都會保留在匯出所寫入的資訊清單檔案中。此過期旨在為列出日誌匯出任務的 API 操作提供更順暢的體驗。QLDB 會移除舊的匯出任務,以確保您只看到最近的匯出,而不必剖析多個任務頁面。