QLDB使用示例 AWS CLI - AWS Command Line Interface

本文档 AWS CLI 仅适用于版本 1。有关版本 2 的文档 AWS CLI,请参阅版本 2 用户指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

QLDB使用示例 AWS CLI

以下代码示例向您展示了如何使用with来执行操作和实现常见场景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" }

有关更多信息,请参阅《亚马逊QLDB开发者指南》QLDB中的从亚马逊流式传输日记数据

以下代码示例显示了如何使用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" }

有关更多信息,请参阅《亚马逊QLDB开发者指南》中的 Amazon QLDB Ledgers 基本操作

  • 有关API详细信息,请参阅AWS CLI 命令参考CreateLedger中的。

以下代码示例显示了如何使用delete-ledger

AWS CLI

删除账本

以下delete-ledger示例删除了指定的账本。

aws qldb delete-ledger \ --name myExampleLedger

此命令不生成任何输出。

有关更多信息,请参阅《亚马逊QLDB开发者指南》中的 Amazon QLDB Ledgers 基本操作

  • 有关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" } }

有关更多信息,请参阅《亚马逊QLDB开发者指南》QLDB中的从亚马逊流式传输日记数据

以下代码示例显示了如何使用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" } }

有关更多信息,请参阅《亚马逊QLDB开发者指南》中的在亚马逊QLDB中导出您的日记

  • 有关API详细信息,请参阅《AWS CLI 命令参考》中的 DescribeJournalS3Ex port。

以下代码示例显示了如何使用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" } }

有关更多信息,请参阅《亚马逊QLDB开发者指南》中的 Amazon QLDB Ledgers 基本操作

以下代码示例显示了如何使用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" }

有关更多信息,请参阅《亚马逊QLDB开发者指南》中的在亚马逊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=}}]" } }

有关更多信息,请参阅《亚马逊QLDB开发者指南》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=}}]" } }

有关更多信息,请参阅《亚马逊QLDB开发者指南》QLDB中的亚马逊数据验证

以下代码示例显示了如何使用get-digest

AWS CLI

获取账本摘要

以下get-digest示例请求日记账中最新提交的区块中指定账本的摘要。

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

输出:

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

有关更多信息,请参阅《亚马逊QLDB开发者指南》QLDB中的亚马逊数据验证

以下代码示例显示了如何使用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=}}]" } }

有关更多信息,请参阅《亚马逊QLDB开发者指南》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=}}]" } }

有关更多信息,请参阅《亚马逊QLDB开发者指南》QLDB中的亚马逊数据验证

以下代码示例显示了如何使用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" } ] }

有关更多信息,请参阅《亚马逊QLDB开发者指南》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" } ] }

有关更多信息,请参阅《亚马逊QLDB开发者指南》中的在亚马逊QLDB中导出您的日记

  • 有关API详细信息,请参阅ExportsForLedger《AWS CLI 命令参考》中的 ListJournalS3

以下代码示例显示了如何使用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 } ] }

有关更多信息,请参阅《亚马逊QLDB开发者指南》中的在亚马逊QLDB中导出您的日记

  • 有关API详细信息,请参阅《AWS CLI 命令参考》中的 ListJournalS3Ex ports。

以下代码示例显示了如何使用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" } ] }

有关更多信息,请参阅《亚马逊QLDB开发者指南》中的 Amazon QLDB Ledgers 基本操作

以下代码示例显示了如何使用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" } }

有关更多信息,请参阅《亚马逊QLDB开发者指南》中的为亚马逊QLDB资源添加标签

以下代码示例显示了如何使用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" }

有关更多信息,请参阅《亚马逊QLDB开发者指南》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" }

有关更多信息,请参阅《亚马逊QLDB开发者指南》QLDB中的从亚马逊流式传输日记数据

以下代码示例显示了如何使用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

此命令不生成任何输出。

有关更多信息,请参阅《亚马逊QLDB开发者指南》中的为亚马逊QLDB资源添加标签

以下代码示例显示了如何使用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

此命令不生成任何输出。

有关更多信息,请参阅《亚马逊QLDB开发者指南》中的为亚马逊QLDB资源添加标签

以下代码示例显示了如何使用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" }

有关更多信息,请参阅《亚马逊QLDB开发者指南》中的 Amazon QLDB Ledgers 基本操作

以下代码示例显示了如何使用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" } }

有关更多信息,请参阅《亚马逊QLDB开发者指南》中的 Amazon QLDB Ledgers 基本操作