QLDB でのジャーナルエクスポートのリクエスト - Amazon Quantum Ledger Database (Amazon QLDB)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

QLDB でのジャーナルエクスポートのリクエスト

Amazon QLDB は、指定した日時範囲で指定した Amazon S3 バケット送信先へのジャーナルブロックエクスポートをリクエストするための API を提供します。ジャーナルエクスポートジョブは、Amazon Ion 形式のテキストまたはバイナリ表現、または JSON Lines テキスト形式でデータオブジェクトを書き込むことができます。 AWS Management Console、 AWS SDK、または AWS Command Line Interface (AWS CLI) を使用してエクスポートジョブを作成できます。

AWS Management Console

QLDB コンソールを使用して QLDB でジャーナルエクスポートリクエストを送信するには、以下の手順に従います。

エクスポートをリクエストするには (コンソール)
  1. にサインインし AWS Management Console、https://console.aws.amazon.com/qldb で Amazon QLDB コンソールを開きます。

  2. ナビゲーションペインの [Export (エクスポート)] を選択します。

  3. [Create export job (エクスポートジョブの作成)] を選択します。

  4. [Create export job (エクスポートジョブの作成)] ページで、次のエクスポート設定を入力します。

    • [Ledger] (台帳) – エクスポートするジャーナルブロックを含む台帳。

    • [Start date and time] (開始日時) – エクスポートするジャーナルブロックの範囲の開始タイムスタンプ (UTC、協定世界時)。この日時は範囲内に含まれます。このタイムスタンプは、[End date and time (終了日時)] よりも前の日時にしてください。タイムスタンプの開始日時を台帳の CreationDateTime 以前に指定した場合、QLDB によって開始日時が台帳の CreationDateTime にデフォルト設定されます。

    • [End date and time] (終了日時) – エクスポートするジャーナルブロックの範囲の終了タイムスタンプ (UTC、協定世界時)。この日時は範囲内に含まれません。現在の日時よりも先の日時を指定することはできません。

    • [Destination for journal blocks] (ジャーナルブロックの送信先) – エクスポートジョブでデータオブジェクトに書き込む Simple Storage Service (Amazon S3) バケット名とプレフィックス名。次の Simple Storage Service (Amazon S3) URI 形式を使用します。

      s3://DOC-EXAMPLE-BUCKET/prefix/

      出力するオブジェクトの S3 バケット名とオプションのプレフィックス名を指定してください。次に例を示します。

      s3://DOC-EXAMPLE-BUCKET/journalExport/

      バケット名とプレフィックスは Simple Storage Service (Amazon S3) の命名規則と表記規則に準拠する必要があります。バケット命名規則の詳細については、「Amazon S3 デベロッパーガイド」の「バケットの制約と制限」を参照してください。キー名のプレフィックスの詳細については、「オブジェクトキーとメタデータ」を参照してください。

      注記

      クロスリージョンエクスポートはサポートされていません。指定された Amazon S3 バケットは、台帳 AWS リージョン と同じ にある必要があります。

    • [S3 Encryption Configuration] (S3 暗号化設定) – Simple Storage Service (Amazon S3) バケットにデータを書き込むエクスポートジョブで使用される暗号化設定。Simple Storage Service (Amazon S3) のサーバー側の暗号化オプションの詳細については、「Amazon S3 デベロッパーガイド」の「サーバー側の暗号化を使用したデータの保護」を参照してください。

      • [Bucket default encryption] (バケットのデフォルト暗号化) – 指定した Simple Storage Service (Amazon S3) バケットのデフォルトの暗号化設定を使用します。

      • [AES-256] ‐ Simple Storage Service (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
    • [Service access] (サービスへのアクセス) — Simple Storage Service (Amazon S3) バケットへの書き込みアクセス許可を QLDB に付与する IAM ロール。該当する場合、この IAM ロールによって、KMS キーを使用するためのアクセス許可も QLDB に付与する必要があります。

      ジャーナルエクスポートをリクエストするときに QLDB にロールを渡すには、IAM ロールリソースで iam:PassRole アクションを実行するためのアクセス許可が必要です。

      • [Create and use a new service role] (新しいサービスロールを作成して使用する) - 指定された Simple Storage Service (Amazon S3) バケットに必要なアクセス許可を持つ新しいロールをコンソールで作成できます。

      • [Use an existing service role] (既存のサービスロールを使用する) - IAM でこのロールを手動で作成する方法については、「エクスポートアクセス許可」を参照してください。

    • 出力形式 – エクスポートされたジャーナルデータの出力形式

      • Ion テキスト – (デフォルト) Amazon Ion のテキスト表現

      • Ion バイナリ – Amazon Ion のバイナリ表現

      • JSON – 改行で区切られた JSON テキスト形式

        JSON を選択した場合、QLDB はエクスポートされたデータオブジェクトの Ion ジャーナルデータを JSON にダウンコンバートします。詳細については、「JSON へのダウンコンバート」を参照してください。

  5. すべての設定が正しいことを確認したら、[Create export job (エクスポートジョブの作成)] を選択します。

    エクスポートジョブにかかる時間はデータの大きさにより異なります。リクエストの送信が正常に完了すると、コンソールがメインの [Export (エクスポート)] ページに戻り、エクスポートジョブが最新のステータスで一覧表示されます。

  6. エクスポートオブジェクトは Simple Storage Service (Amazon S3) コンソールで確認できます。

    https://console.aws.amazon.com/s3/でAmazon S3 コンソールを開きます。

    これらの出力オブジェクトの形式の詳細については、「QLDB のジャーナルエクスポート出力」を参照してください。

注記

エクスポートジョブは、完了後 7 日で期限切れになります。詳細については、「エクスポートジョブの有効期限」を参照してください。

QLDB API

AWS SDK または で Amazon QLDB API を使用してジャーナルエクスポートをリクエストすることもできます AWS CLI。QLDB API は、アプリケーションプログラムで使用する、以下のオペレーションを提供します。

  • ExportJournalToS3 – 日時範囲内のジャーナル内容を、特定の台帳から指定先の Simple Storage Service (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 を参照してください。このサンプルアプリケーションをダウンロードしてインストールする方法については、「Amazon QLDB Java サンプルアプリケーションのインストール」を参照してください。エクスポートをリクエストする前に、「Java チュートリアル」のステップ 1~3 を実行し、サンプル台帳を作成して、サンプルデータを使用してロードしてください。

以下のクラスのチュートリアルコードは、エクスポートの作成、エクスポートのステータスの確認、およびエクスポートの出力の処理の例を示しています。

Class 説明
ExportJournal 現時刻から 10 分前までのタイムスタンプの vehicle-registration サンプル台帳からジャーナルブロックをエクスポートします。指定した S3 バケットに出力オブジェクトに書き込むか、バケットがない場合は一意のバケットを作成します。
DescribeJournalExport vehicle-registration サンプル台帳の指定された exportId のジャーナルエクスポートジョブについて説明します。
ListJournalExports vehicle-registration サンプル台帳のジャーナルエクスポートジョブの記述のリストを返します。
ValidateQldbHashChain 指定された exportId を使用して vehicle-registration サンプル台帳のハッシュチェーンを検証します。提供されていない場合は、ハッシュチェーンの検証に使用する新しいエクスポートをリクエストします。

エクスポートジョブの有効期限

完了したジャーナルエクスポートジョブには、7 日間の保持期間が適用されます。この制限の有効期限が切れると、自動的にハード削除されます。この有効期限はハード制限であり、変更できません。

完了したエクスポートジョブが削除されると、QLDB コンソールまたは次の API オペレーションを使用してジョブに関するメタデータを取得できなくなります。

  • DescribeJournalS3Export

  • ListJournalS3Exports

  • ListJournalS3ExportsForLedger

ただし、この有効期限は、エクスポートされたデータ自体には影響しません。すべてのメタデータは、エクスポートによって書き込まれたマニフェストファイルに保持されています。この有効期限の目的は、ジャーナルエクスポートジョブを一覧表示する API オペレーションの円滑なエクスペリエンスを提供することです。QLDB では、複数ページのジョブを解析しなくても済むように、古いエクスポートジョブが削除され最近のエクスポートのみが表示されます。