AWS CLI を使用した QLDB の例 - AWS Command Line Interface

このドキュメントはバージョン 1 の AWS CLI のみを対象としています。AWS CLI のバージョン 2 に関連するドキュメントについては、バージョン 2 用ユーザーガイドを参照してください。

AWS CLI を使用した QLDB の例

次のコード例は、QLDB で AWS Command Line Interface を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には、完全なソースコードへのリンクが含まれており、そこからコンテキストにおけるコードの設定方法と実行方法についての手順を確認できます。

トピック

アクション

次のコード例は、cancel-journal-kinesis-stream を使用する方法を示しています。

AWS CLI

ジャーナルストリームをキャンセルするには

次の cancel-journal-kinesis-stream 例では、台帳から指定されたジャーナルストリームをキャンセルします。

aws qldb cancel-journal-kinesis-stream \ --ledger-name myExampleLedger \ --stream-id 7ISCkqwe4y25YyHLzYUFAf

出力:

{ "StreamId": "7ISCkqwe4y25YyHLzYUFAf" }

詳細については、「Amazon QLDB デベロッパーガイド」の「Amazon QLDB からのジャーナルデータのストリーミング」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CancelJournalKinesisStream」を参照してください。

次のコード例は、create-ledger を使用する方法を示しています。

AWS CLI

例 1: デフォルトプロパティを使用して台帳を作成するには

次の create-ledger の例は、名前 myExampleLedger とアクセス許可モード STANDARD で台帳を作成します。削除保護と AWS KMS キーのオプションパラメータは指定されていないため、デフォルトではそれぞれ true および AWS 所有の KMS キーになります。

aws qldb create-ledger \ --name myExampleLedger \ --permissions-mode STANDARD

出力:

{ "State": "CREATING", "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger", "DeletionProtection": true, "CreationDateTime": 1568839243.951, "Name": "myExampleLedger", "PermissionsMode": "STANDARD" }

例 2: 削除保護が無効な台帳をカスタマーマネージド KMS キーと指定されたタグを使用して作成するには

次の create-ledger の例は、名前 myExampleLedger2 とアクセス許可モード STANDARD で台帳を作成します。削除保護機能は無効になり、保存中の暗号化には指定されたカスタマーマネージド KMS キーが使用され、指定されたタグがリソースにアタッチされます。

aws qldb create-ledger \ --name myExampleLedger2 \ --permissions-mode STANDARD \ --no-deletion-protection \ --kms-key arn:aws:kms:us-west-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --tags IsTest=true,Domain=Test

出力:

{ "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger2", "DeletionProtection": false, "CreationDateTime": 1568839543.557, "State": "CREATING", "Name": "myExampleLedger2", "PermissionsMode": "STANDARD", "KmsKeyArn": "arn:aws:kms:us-west-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

詳細については、「Amazon QLDB 開発者ガイド」の「Amazon QLDB 台帳の基本的なオペレーション」を参照してください。

  • API の詳細については、AWS CLI コマンドリファレンスの「CreateLedger」を参照してください。

次のコード例は、delete-ledger を使用する方法を示しています。

AWS CLI

台帳を削除するには

次の delete-ledger の例は、指定された台帳を削除します。

aws qldb delete-ledger \ --name myExampleLedger

このコマンドでは何も出力されません。

詳細については、「Amazon QLDB 開発者ガイド」の「Amazon QLDB 台帳の基本的なオペレーション」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteLedger」を参照してください。

次のコード例は、describe-journal-kinesis-stream を使用する方法を示しています。

AWS CLI

ジャーナルストリームを記述するには

次の describe-journal-kinesis-stream の例では、台帳から指定されたジャーナルストリームの詳細を表示します。

aws qldb describe-journal-kinesis-stream \ --ledger-name myExampleLedger \ --stream-id 7ISCkqwe4y25YyHLzYUFAf

出力:

{ "Stream": { "LedgerName": "myExampleLedger", "CreationTime": 1591221984.677, "InclusiveStartTime": 1590710400.0, "ExclusiveEndTime": 1590796799.0, "RoleArn": "arn:aws:iam::123456789012:role/my-kinesis-stream-role", "StreamId": "7ISCkqwe4y25YyHLzYUFAf", "Arn": "arn:aws:qldb:us-east-1:123456789012:stream/myExampleLedger/7ISCkqwe4y25YyHLzYUFAf", "Status": "ACTIVE", "KinesisConfiguration": { "StreamArn": "arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb", "AggregationEnabled": true }, "StreamName": "myExampleLedger-stream" } }

詳細については、「Amazon QLDB デベロッパーガイド」の「Amazon QLDB からのジャーナルデータのストリーミング」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeJournalKinesisStream」を参照してください。

次のコード例は、describe-journal-s3-export を使用する方法を示しています。

AWS CLI

ジャーナルエクスポートジョブを記述するには

次の describe-journal-s3-export の例では、台帳から指定されたエクスポートジョブの詳細を表示します。

aws qldb describe-journal-s3-export \ --name myExampleLedger \ --export-id ADR2ONPKN5LINYGb4dp7yZ

出力:

{ "ExportDescription": { "S3ExportConfiguration": { "Bucket": "awsExampleBucket", "Prefix": "ledgerexport1/", "EncryptionConfiguration": { "ObjectEncryptionType": "SSE_S3" } }, "RoleArn": "arn:aws:iam::123456789012:role/my-s3-export-role", "Status": "COMPLETED", "ExportCreationTime": 1568847801.418, "InclusiveStartTime": 1568764800.0, "ExclusiveEndTime": 1568847599.0, "LedgerName": "myExampleLedger", "ExportId": "ADR2ONPKN5LINYGb4dp7yZ" } }

詳細については、「Amazon QLDB デベロッパーガイド」の「Exporting journal data from Amazon QLDB」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeJournalS3Export」を参照してください。

次のコード例は、describe-ledger を使用する方法を示しています。

AWS CLI

台帳を記述するには

次の describe-ledger の例では、指定された台帳の詳細を表示します。

aws qldb describe-ledger \ --name myExampleLedger

出力:

{ "CreationDateTime": 1568839243.951, "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger", "State": "ACTIVE", "Name": "myExampleLedger", "DeletionProtection": true, "PermissionsMode": "STANDARD", "EncryptionDescription": { "KmsKeyArn": "arn:aws:kms:us-west-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "EncryptionStatus": "ENABLED" } }

詳細については、「Amazon QLDB 開発者ガイド」の「Amazon QLDB 台帳の基本的なオペレーション」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeLedger」を参照してください。

次のコード例は、export-journal-to-s3 を使用する方法を示しています。

AWS CLI

ジャーナルブロックを S3 にエクスポートするには

次の export-journal-to-s3 の例では、myExampleLedger という名前の台帳から、指定された日時範囲内のジャーナルブロックのエクスポートジョブを作成します。エクスポートジョブは、ブロックを指定された Amazon S3 バケットに書き込みます。

aws qldb export-journal-to-s3 \ --name myExampleLedger \ --inclusive-start-time 2019-09-18T00:00:00Z \ --exclusive-end-time 2019-09-18T22:59:59Z \ --role-arn arn:aws:iam::123456789012:role/my-s3-export-role \ --s3-export-configuration file://my-s3-export-config.json

my-s3-export-config.json の内容:

{ "Bucket": "awsExampleBucket", "Prefix": "ledgerexport1/", "EncryptionConfiguration": { "ObjectEncryptionType": "SSE_S3" } }

出力:

{ "ExportId": "ADR2ONPKN5LINYGb4dp7yZ" }

詳細については、「Amazon QLDB デベロッパーガイド」の「Exporting journal data from Amazon QLDB」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ExportJournalToS3」を参照してください。

次のコード例は、get-block を使用する方法を示しています。

AWS CLI

例 1: 入力ファイルを使用してジャーナルブロックと検証の証明を取得するには

次の get-block の例では、ブロックデータオブジェクトと、指定された台帳からの証明をリクエストします。リクエストは、指定されたダイジェストチップアドレスとブロックアドレス用です。

aws qldb get-block \ --name vehicle-registration \ --block-address file://myblockaddress.json \ --digest-tip-address file://mydigesttipaddress.json

myblockaddress.json の内容:

{ "IonText": "{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100}" }

mydigesttipaddress.json の内容:

{ "IonText": "{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:123}" }

出力:

{ "Block": { "IonText": "{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},transactionId:\"FnQeJBAicTX0Ah32ZnVtSX\",blockTimestamp:2019-09-16T19:37:05.360Z,blockHash:{{NoChM92yKRuJAb/jeLd1VnYn4DHiWIf071ACfic9uHc=}},entriesHash:{{l05LOsiKV14SDbuaYnH7uwXzUvqzIwUiRLXGbTyj/nY=}},previousBlockHash:{{7kewBXhpdbClcZKxhVmpoMHpUGOJtWQD0iY2LPfZkYA=}},entriesHashList:[{{eRSwnmAM7WWANWDd5iGOyK+T4tDXyzUq6HZ/0fgLHos=}},{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},{{y5cCBr7pOAIUfsVQ1j0TqtE97b4b4oo1R0vnYyE5wWM=}},{{TvTXygML1bMe6NvEZtGkX+KR+W/EJl4qD1mmV77KZQg=}}],transactionInfo:{statements:[{statement:\"FROM VehicleRegistration AS r \\nWHERE r.VIN = '1N4AL11D75C109151'\\nINSERT INTO r.Owners.SecondaryOwners\\n VALUE { 'PersonId' : 'CMVdR77XP8zAglmmFDGTvt' }\",startTime:2019-09-16T19:37:05.302Z,statementDigest:{{jcgPX2vsOJ0waum4qmDYtn1pCAT9xKNIzA+2k4R+mxA=}}}],documents:{JUJgkIcNbhS2goq8RqLuZ4:{tableName:\"VehicleRegistration\",tableId:\"BFJKdXgzt9oF4wjMbuxy4G\",statements:[0]}}},revisions:[{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},hash:{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},data:{VIN:\"1N4AL11D75C109151\",LicensePlateNumber:\"LEWISR261LL\",State:\"WA\",PendingPenaltyTicketAmount:90.25,ValidFromDate:2017-08-21,ValidToDate:2020-05-11,Owners:{PrimaryOwner:{PersonId:\"BFJKdXhnLRT27sXBnojNGW\"},SecondaryOwners:[{PersonId:\"CMVdR77XP8zAglmmFDGTvt\"}]},City:\"Everett\"},metadata:{id:\"JUJgkIcNbhS2goq8RqLuZ4\",version:3,txTime:2019-09-16T19:37:05.344Z,txId:\"FnQeJBAicTX0Ah32ZnVtSX\"}}]}" }, "Proof": { "IonText": "[{{l3+EXs69K1+rehlqyWLkt+oHDlw4Zi9pCLW/t/mgTPM=}},{{48CXG3ehPqsxCYd34EEa8Fso0ORpWWAO8010RJKf3Do=}},{{9UnwnKSQT0i3ge1JMVa+tMIqCEDaOPTkWxmyHSn8UPQ=}},{{3nW6Vryghk+7pd6wFCtLufgPM6qXHyTNeCb1sCwcDaI=}},{{Irb5fNhBrNEQ1VPhzlnGT/ZQPadSmgfdtMYcwkNOxoI=}},{{+3CWpYG/ytf/vq9GidpzSx6JJiLXt1hMQWNnqOy3jfY=}},{{NPx6cRhwsiy5m9UEWS5JTJrZoUdO2jBOAAOmyZAT+qE=}}]" } }

詳細については、「Amazon QLDB デベロッパーガイド」の 「Amazon QLDB のデータ検証」を参照してください。

例 2: 省略構文を使用してジャーナルブロックと検証の証明を取得するには

次の get-block の例では、短縮構文を使用して、ブロックデータオブジェクトと指定された台帳からの証明をリクエストします。リクエストは、指定されたダイジェストチップアドレスとブロックアドレス用です。

aws qldb get-block \ --name vehicle-registration \ --block-address 'IonText="{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100}"' \ --digest-tip-address 'IonText="{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:123}"'

出力:

{ "Block": { "IonText": "{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},transactionId:\"FnQeJBAicTX0Ah32ZnVtSX\",blockTimestamp:2019-09-16T19:37:05.360Z,blockHash:{{NoChM92yKRuJAb/jeLd1VnYn4DHiWIf071ACfic9uHc=}},entriesHash:{{l05LOsiKV14SDbuaYnH7uwXzUvqzIwUiRLXGbTyj/nY=}},previousBlockHash:{{7kewBXhpdbClcZKxhVmpoMHpUGOJtWQD0iY2LPfZkYA=}},entriesHashList:[{{eRSwnmAM7WWANWDd5iGOyK+T4tDXyzUq6HZ/0fgLHos=}},{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},{{y5cCBr7pOAIUfsVQ1j0TqtE97b4b4oo1R0vnYyE5wWM=}},{{TvTXygML1bMe6NvEZtGkX+KR+W/EJl4qD1mmV77KZQg=}}],transactionInfo:{statements:[{statement:\"FROM VehicleRegistration AS r \\nWHERE r.VIN = '1N4AL11D75C109151'\\nINSERT INTO r.Owners.SecondaryOwners\\n VALUE { 'PersonId' : 'CMVdR77XP8zAglmmFDGTvt' }\",startTime:2019-09-16T19:37:05.302Z,statementDigest:{{jcgPX2vsOJ0waum4qmDYtn1pCAT9xKNIzA+2k4R+mxA=}}}],documents:{JUJgkIcNbhS2goq8RqLuZ4:{tableName:\"VehicleRegistration\",tableId:\"BFJKdXgzt9oF4wjMbuxy4G\",statements:[0]}}},revisions:[{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},hash:{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},data:{VIN:\"1N4AL11D75C109151\",LicensePlateNumber:\"LEWISR261LL\",State:\"WA\",PendingPenaltyTicketAmount:90.25,ValidFromDate:2017-08-21,ValidToDate:2020-05-11,Owners:{PrimaryOwner:{PersonId:\"BFJKdXhnLRT27sXBnojNGW\"},SecondaryOwners:[{PersonId:\"CMVdR77XP8zAglmmFDGTvt\"}]},City:\"Everett\"},metadata:{id:\"JUJgkIcNbhS2goq8RqLuZ4\",version:3,txTime:2019-09-16T19:37:05.344Z,txId:\"FnQeJBAicTX0Ah32ZnVtSX\"}}]}" }, "Proof": { "IonText": "[{{l3+EXs69K1+rehlqyWLkt+oHDlw4Zi9pCLW/t/mgTPM=}},{{48CXG3ehPqsxCYd34EEa8Fso0ORpWWAO8010RJKf3Do=}},{{9UnwnKSQT0i3ge1JMVa+tMIqCEDaOPTkWxmyHSn8UPQ=}},{{3nW6Vryghk+7pd6wFCtLufgPM6qXHyTNeCb1sCwcDaI=}},{{Irb5fNhBrNEQ1VPhzlnGT/ZQPadSmgfdtMYcwkNOxoI=}},{{+3CWpYG/ytf/vq9GidpzSx6JJiLXt1hMQWNnqOy3jfY=}},{{NPx6cRhwsiy5m9UEWS5JTJrZoUdO2jBOAAOmyZAT+qE=}}]" } }

詳細については、「Amazon QLDB デベロッパーガイド」の 「Amazon QLDB のデータ検証」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetBlock」を参照してください。

次のコード例は、get-digest を使用する方法を示しています。

AWS CLI

台帳のダイジェストを取得するには

次の get-digest の例では、ジャーナル内の最新のコミットされたブロックで、指定された台帳からダイジェストをリクエストします。

aws qldb get-digest \ --name vehicle-registration

出力:

{ "Digest": "6m6BMXobbJKpMhahwVthAEsN6awgnHK62Qq5McGP1Gk=", "DigestTipAddress": { "IonText": "{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:123}" } }

詳細については、「Amazon QLDB デベロッパーガイド」の 「Amazon QLDB のデータ検証」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetDigest」を参照してください。

次のコード例は、get-revision を使用する方法を示しています。

AWS CLI

例 1: 入力ファイルを使用してドキュメントのリビジョンと検証の証明を取得するには

次の get-revision の例では、リビジョンデータオブジェクトと、指定された台帳からの証明をリクエストします。リクエストは、リビジョンの指定されたダイジェストチップアドレス、ドキュメント ID、ブロックアドレス用です。

aws qldb get-revision \ --name vehicle-registration \ --block-address file://myblockaddress.json \ --document-id JUJgkIcNbhS2goq8RqLuZ4 \ --digest-tip-address file://mydigesttipaddress.json

myblockaddress.json の内容:

{ "IonText": "{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100}" }

mydigesttipaddress.json の内容:

{ "IonText": "{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:123}" }

出力:

{ "Revision": { "IonText": "{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},hash:{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},data:{VIN:\"1N4AL11D75C109151\",LicensePlateNumber:\"LEWISR261LL\",State:\"WA\",PendingPenaltyTicketAmount:90.25,ValidFromDate:2017-08-21,ValidToDate:2020-05-11,Owners:{PrimaryOwner:{PersonId:\"BFJKdXhnLRT27sXBnojNGW\"},SecondaryOwners:[{PersonId:\"CMVdR77XP8zAglmmFDGTvt\"}]},City:\"Everett\"},metadata:{id:\"JUJgkIcNbhS2goq8RqLuZ4\",version:3,txTime:2019-09-16T19:37:05.344Z,txId:\"FnQeJBAicTX0Ah32ZnVtSX\"}}" }, "Proof": { "IonText": "[{{eRSwnmAM7WWANWDd5iGOyK+T4tDXyzUq6HZ/0fgLHos=}},{{VV1rdaNuf+yJZVGlmsM6gr2T52QvBO8Lg+KgpjcnWAU=}},{{7kewBXhpdbClcZKxhVmpoMHpUGOJtWQD0iY2LPfZkYA=}},{{l3+EXs69K1+rehlqyWLkt+oHDlw4Zi9pCLW/t/mgTPM=}},{{48CXG3ehPqsxCYd34EEa8Fso0ORpWWAO8010RJKf3Do=}},{{9UnwnKSQT0i3ge1JMVa+tMIqCEDaOPTkWxmyHSn8UPQ=}},{{3nW6Vryghk+7pd6wFCtLufgPM6qXHyTNeCb1sCwcDaI=}},{{Irb5fNhBrNEQ1VPhzlnGT/ZQPadSmgfdtMYcwkNOxoI=}},{{+3CWpYG/ytf/vq9GidpzSx6JJiLXt1hMQWNnqOy3jfY=}},{{NPx6cRhwsiy5m9UEWS5JTJrZoUdO2jBOAAOmyZAT+qE=}}]" } }

詳細については、「Amazon QLDB デベロッパーガイド」の 「Amazon QLDB のデータ検証」を参照してください。

例 2: 簡略構文を使用してドキュメントのリビジョンと検証の証明を取得するには

次の get-revision の例では、短縮構文を使用して、リビジョンデータオブジェクトと指定された台帳からの証明をリクエストします。リクエストは、リビジョンの指定されたダイジェストチップアドレス、ドキュメント ID、ブロックアドレス用です。

aws qldb get-revision \ --name vehicle-registration \ --block-address 'IonText="{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100}"' \ --document-id JUJgkIcNbhS2goq8RqLuZ4 \ --digest-tip-address 'IonText="{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:123}"'

出力:

{ "Revision": { "IonText": "{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},hash:{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},data:{VIN:\"1N4AL11D75C109151\",LicensePlateNumber:\"LEWISR261LL\",State:\"WA\",PendingPenaltyTicketAmount:90.25,ValidFromDate:2017-08-21,ValidToDate:2020-05-11,Owners:{PrimaryOwner:{PersonId:\"BFJKdXhnLRT27sXBnojNGW\"},SecondaryOwners:[{PersonId:\"CMVdR77XP8zAglmmFDGTvt\"}]},City:\"Everett\"},metadata:{id:\"JUJgkIcNbhS2goq8RqLuZ4\",version:3,txTime:2019-09-16T19:37:05.344Z,txId:\"FnQeJBAicTX0Ah32ZnVtSX\"}}" }, "Proof": { "IonText": "[{{eRSwnmAM7WWANWDd5iGOyK+T4tDXyzUq6HZ/0fgLHos=}},{{VV1rdaNuf+yJZVGlmsM6gr2T52QvBO8Lg+KgpjcnWAU=}},{{7kewBXhpdbClcZKxhVmpoMHpUGOJtWQD0iY2LPfZkYA=}},{{l3+EXs69K1+rehlqyWLkt+oHDlw4Zi9pCLW/t/mgTPM=}},{{48CXG3ehPqsxCYd34EEa8Fso0ORpWWAO8010RJKf3Do=}},{{9UnwnKSQT0i3ge1JMVa+tMIqCEDaOPTkWxmyHSn8UPQ=}},{{3nW6Vryghk+7pd6wFCtLufgPM6qXHyTNeCb1sCwcDaI=}},{{Irb5fNhBrNEQ1VPhzlnGT/ZQPadSmgfdtMYcwkNOxoI=}},{{+3CWpYG/ytf/vq9GidpzSx6JJiLXt1hMQWNnqOy3jfY=}},{{NPx6cRhwsiy5m9UEWS5JTJrZoUdO2jBOAAOmyZAT+qE=}}]" } }

詳細については、「Amazon QLDB デベロッパーガイド」の 「Amazon QLDB のデータ検証」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GetRevision」を参照してください。

次のコード例は、list-journal-kinesis-streams-for-ledger を使用する方法を示しています。

AWS CLI

台帳のジャーナルストリームを一覧表示するには

次の list-journal-kinesis-streams-for-ledger の例では、指定された台帳のジャーナルストリームを一覧表示します。

aws qldb list-journal-kinesis-streams-for-ledger \ --ledger-name myExampleLedger

出力:

{ "Streams": [ { "LedgerName": "myExampleLedger", "CreationTime": 1591221984.677, "InclusiveStartTime": 1590710400.0, "ExclusiveEndTime": 1590796799.0, "RoleArn": "arn:aws:iam::123456789012:role/my-kinesis-stream-role", "StreamId": "7ISCkqwe4y25YyHLzYUFAf", "Arn": "arn:aws:qldb:us-east-1:123456789012:stream/myExampleLedger/7ISCkqwe4y25YyHLzYUFAf", "Status": "ACTIVE", "KinesisConfiguration": { "StreamArn": "arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb", "AggregationEnabled": true }, "StreamName": "myExampleLedger-stream" } ] }

詳細については、「Amazon QLDB デベロッパーガイド」の「Amazon QLDB からのジャーナルデータのストリーミング」を参照してください。

次のコード例は、list-journal-s3-exports-for-ledger を使用する方法を示しています。

AWS CLI

台帳のジャーナルエクスポートジョブを一覧表示するには

次のlist-journal-s3-exports-for-ledger例では、指定された台帳のジャーナルエクスポートジョブを一覧表示します。

aws qldb list-journal-s3-exports-for-ledger \ --name myExampleLedger

出力:

{ "JournalS3Exports": [ { "LedgerName": "myExampleLedger", "ExclusiveEndTime": 1568847599.0, "ExportCreationTime": 1568847801.418, "S3ExportConfiguration": { "Bucket": "awsExampleBucket", "Prefix": "ledgerexport1/", "EncryptionConfiguration": { "ObjectEncryptionType": "SSE_S3" } }, "ExportId": "ADR2ONPKN5LINYGb4dp7yZ", "RoleArn": "arn:aws:iam::123456789012:role/qldb-s3-export", "InclusiveStartTime": 1568764800.0, "Status": "IN_PROGRESS" } ] }

詳細については、「Amazon QLDB デベロッパーガイド」の「Exporting journal data from Amazon QLDB」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListJournalS3ExportsForLedger」を参照してください。

次のコード例は、list-journal-s3-exports を使用する方法を示しています。

AWS CLI

ジャーナルエクスポートジョブを一覧表示するには

次の list-journal-s3-exports の例では、現在の AWS アカウントとリージョンに関連するすべての台帳のジャーナルエクスポートジョブを一覧表示します。

aws qldb list-journal-s3-exports

出力:

{ "JournalS3Exports": [ { "Status": "IN_PROGRESS", "LedgerName": "myExampleLedger", "S3ExportConfiguration": { "EncryptionConfiguration": { "ObjectEncryptionType": "SSE_S3" }, "Bucket": "awsExampleBucket", "Prefix": "ledgerexport1/" }, "RoleArn": "arn:aws:iam::123456789012:role/my-s3-export-role", "ExportCreationTime": 1568847801.418, "ExportId": "ADR2ONPKN5LINYGb4dp7yZ", "InclusiveStartTime": 1568764800.0, "ExclusiveEndTime": 1568847599.0 }, { "Status": "COMPLETED", "LedgerName": "myExampleLedger2", "S3ExportConfiguration": { "EncryptionConfiguration": { "ObjectEncryptionType": "SSE_S3" }, "Bucket": "awsExampleBucket", "Prefix": "ledgerexport1/" }, "RoleArn": "arn:aws:iam::123456789012:role/my-s3-export-role", "ExportCreationTime": 1568846847.638, "ExportId": "2pdvW8UQrjBAiYTMehEJDI", "InclusiveStartTime": 1568592000.0, "ExclusiveEndTime": 1568764800.0 } ] }

詳細については、「Amazon QLDB デベロッパーガイド」の「Exporting journal data from Amazon QLDB」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListJournalS3Exports」を参照してください。

次のコード例は、list-ledgers を使用する方法を示しています。

AWS CLI

使用可能な台帳を一覧表示するには

次の list-ledgers の例では、現在の AWS アカウントとリージョンに関連するすべての台帳を一覧表示します。

aws qldb list-ledgers

出力:

{ "Ledgers": [ { "State": "ACTIVE", "CreationDateTime": 1568839243.951, "Name": "myExampleLedger" }, { "State": "ACTIVE", "CreationDateTime": 1568839543.557, "Name": "myExampleLedger2" } ] }

詳細については、「Amazon QLDB 開発者ガイド」の「Amazon QLDB 台帳の基本的なオペレーション」を参照してください。

  • API の詳細については、AWS CLI コマンドリファレンスの「ListLedgers」を参照してください。

次のコード例は、list-tags-for-resource を使用する方法を示しています。

AWS CLI

台帳にアタッチされたタグを一覧表示するには

次の list-tags-for-resource の例では、指定された台帳にアタッチされたすべてのタグを一覧表示します。

aws qldb list-tags-for-resource \ --resource-arn arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger

出力:

{ "Tags": { "IsTest": "true", "Domain": "Test" } }

詳細については、「Amazon QLDB デベロッパーガイド」の 「Amazon QLDB リソースのタグ付け」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListTagsForResource」を参照してください。

次のコード例は、stream-journal-to-kinesis を使用する方法を示しています。

AWS CLI

例 1: 入力ファイルを使用してジャーナルデータを Kinesis Data Streams にストリーミングするには

次の stream-journal-to-kinesis の例では、myExampleLedger という名前の台帳から、指定された日付と時間範囲内のジャーナルデータのストリームを作成します。ストリームは、指定された Amazon Kinesis データストリームにデータを送信します。

aws qldb stream-journal-to-kinesis \ --ledger-name myExampleLedger \ --inclusive-start-time 2020-05-29T00:00:00Z \ --exclusive-end-time 2020-05-29T23:59:59Z \ --role-arn arn:aws:iam::123456789012:role/my-kinesis-stream-role \ --kinesis-configuration file://my-kinesis-config.json \ --stream-name myExampleLedger-stream

my-kinesis-config.json の内容:

{ "StreamArn": "arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb", "AggregationEnabled": true }

出力:

{ "StreamId": "7ISCkqwe4y25YyHLzYUFAf" }

詳細については、「Amazon QLDB デベロッパーガイド」の「Amazon QLDB からのジャーナルデータのストリーミング」を参照してください。

例 2: 簡略構文を使用してジャーナルデータを Kinesis Data Streams にストリーミングするには

次の stream-journal-to-kinesis の例では、myExampleLedger という名前の台帳から、指定された日付と時間範囲内のジャーナルデータのストリームを作成します。ストリームは、指定された Amazon Kinesis データストリームにデータを送信します。

aws qldb stream-journal-to-kinesis \ --ledger-name myExampleLedger \ --inclusive-start-time 2020-05-29T00:00:00Z \ --exclusive-end-time 2020-05-29T23:59:59Z \ --role-arn arn:aws:iam::123456789012:role/my-kinesis-stream-role \ --stream-name myExampleLedger-stream \ --kinesis-configuration StreamArn=arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb,AggregationEnabled=true

出力:

{ "StreamId": "7ISCkqwe4y25YyHLzYUFAf" }

詳細については、「Amazon QLDB デベロッパーガイド」の「Amazon QLDB からのジャーナルデータのストリーミング」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「StreamJournalToKinesis」を参照してください。

次のコード例は、tag-resource を使用する方法を示しています。

AWS CLI

台帳にタグ付けするには

次の tag-resource の例では、指定された台帳に一連のタグを追加します。

aws qldb tag-resource \ --resource-arn arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger \ --tags IsTest=true,Domain=Test

このコマンドでは何も出力されません。

詳細については、「Amazon QLDB デベロッパーガイド」の 「Amazon QLDB リソースのタグ付け」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「TagResource」を参照してください。

次のコード例は、untag-resource を使用する方法を示しています。

AWS CLI

リソースからタグを削除する

次の untag-resource の例では、指定されたタグキーを持つタグを指定された台帳から削除します。

aws qldb untag-resource \ --resource-arn arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger \ --tag-keys IsTest Domain

このコマンドでは何も出力されません。

詳細については、「Amazon QLDB デベロッパーガイド」の 「Amazon QLDB リソースのタグ付け」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UntagResource」を参照してください。

次のコード例は、update-ledger-permissions-mode を使用する方法を示しています。

AWS CLI

例 1: 台帳のアクセス許可モードを STANDARD に更新するには

次の update-ledger-permissions-mode の例では、指定された台帳に STANDARD アクセス許可モードを割り当てます。

aws qldb update-ledger-permissions-mode \ --name myExampleLedger \ --permissions-mode STANDARD

出力:

{ "Name": "myExampleLedger", "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger", "PermissionsMode": "STANDARD" }

例 2: 台帳のアクセス許可モードを ALLOW_ALL に更新するには

次の update-ledger-permissions-mode の例では、指定された台帳に ALLOW_ALL アクセス許可モードを割り当てます。

aws qldb update-ledger-permissions-mode \ --name myExampleLedger \ --permissions-mode ALLOW_ALL

出力:

{ "Name": "myExampleLedger", "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger", "PermissionsMode": "ALLOW_ALL" }

詳細については、「Amazon QLDB 開発者ガイド」の「Amazon QLDB 台帳の基本的なオペレーション」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateLedgerPermissionsMode」を参照してください。

次のコード例は、update-ledger を使用する方法を示しています。

AWS CLI

例 1: 台帳の削除保護プロパティを更新するには

次の update-ledger の例では、指定された台帳を更新して、削除保護機能を無効にします。

aws qldb update-ledger \ --name myExampleLedger \ --no-deletion-protection

出力:

{ "CreationDateTime": 1568839243.951, "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger", "DeletionProtection": false, "Name": "myExampleLedger", "State": "ACTIVE" }

例 2: 台帳の AWS KMS キーをカスタマーマネージドキーに更新するには

次の update-ledger の例では、指定された台帳を更新して、保管中の暗号化にカスタマーマネージド KMS キーを使用します。

aws qldb update-ledger \ --name myExampleLedger \ --kms-key arn:aws:kms:us-west-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

出力:

{ "CreationDateTime": 1568839243.951, "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger", "DeletionProtection": false, "Name": "myExampleLedger", "State": "ACTIVE", "EncryptionDescription": { "KmsKeyArn": "arn:aws:kms:us-west-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "EncryptionStatus": "UPDATING" } }

例 3: 台帳の AWS KMS キーを AWS 所有キーに更新するには

次の update-ledger の例では、指定された台帳を更新して、保管中の暗号化に AWS 所有 KMS キーを使用します。

aws qldb update-ledger \ --name myExampleLedger \ --kms-key AWS_OWNED_KMS_KEY

出力:

{ "CreationDateTime": 1568839243.951, "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger", "DeletionProtection": false, "Name": "myExampleLedger", "State": "ACTIVE", "EncryptionDescription": { "KmsKeyArn": "AWS_OWNED_KMS_KEY", "EncryptionStatus": "UPDATING" } }

詳細については、「Amazon QLDB 開発者ガイド」の「Amazon QLDB 台帳の基本的なオペレーション」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateLedger」を参照してください。