使用的 QLDB 示例 Amazon CLI - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用的 QLDB 示例 Amazon CLI

以下代码示例向您展示了如何使用 Amazon Command Line Interface 与 QLDB 配合使用来执行操作和实现常见场景。

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景和跨服务示例的上下文查看操作。

场景是展示如何通过在同一服务中调用多个函数来完成特定任务任务的代码示例。

每个示例都包含一个指向的链接 GitHub,您可以在其中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示如何使用 cancel-journal-kinesis-stream

Amazon CLI

取消日记流

以下cancel-journal-kinesis-stream示例从账本中取消指定的日记账流。

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

输出:

{ "StreamId": "7ISCkqwe4y25YyHLzYUFAf" }

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

以下代码示例演示如何使用 create-ledger

Amazon CLI

示例 1:创建具有默认属性的分类账

以下 create-ledger 示例使用名称 myExampleLedger 和权限模式 STANDARD 创建分类账。未指定删除保护和 Amazon KMS 密钥的可选参数,因此它们分别默认为true和 Amazon 拥有的 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 的详细信息,请参阅Amazon CLI 命令参考CreateLedger中的。

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

Amazon CLI

删除账本

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

aws qldb delete-ledger \ --name myExampleLedger

此命令不生成任何输出。

有关更多信息,请参阅《Amazon QLDB 开发人员指南》中的 Amazon QLDB 分类账的基本操作

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

以下代码示例演示如何使用 describe-journal-kinesis-stream

Amazon 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

Amazon 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 的详细信息,请参阅《Amazon CLI 命令参考》中的 DescribeJournalS3Ex port。

以下代码示例演示如何使用 describe-ledger

Amazon 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 的详细信息,请参阅Amazon CLI 命令参考DescribeLedger中的。

以下代码示例演示如何使用 export-journal-to-s3

Amazon 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 的详细信息,请参阅《Amazon CLI 命令参考》中的 ExportJournalToS3

以下代码示例演示如何使用 get-block

Amazon 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 开发者指南》中的 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=}}]" } }

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

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

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

Amazon CLI

获取账本摘要

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

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

输出:

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

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

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

以下代码示例演示如何使用 get-revision

Amazon 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 开发者指南》中的 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=}}]" } }

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

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

以下代码示例演示如何使用 list-journal-kinesis-streams-for-ledger

Amazon 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

Amazon 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《Amazon CLI 命令参考》中的 ListJournalS3

以下代码示例演示如何使用 list-journal-s3-exports

Amazon CLI

列出日记账导出任务

以下list-journal-s3-exports示例列出了与当前 Amazon 账户和区域关联的所有分类账的日记账导出任务。

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 的详细信息,请参阅《Amazon CLI 命令参考》中的 ListJournalS3Ex ports。

以下代码示例演示如何使用 list-ledgers

Amazon CLI

列出您的可用分类账

以下list-ledgers示例列出了与当前 Amazon 账户和区域关联的所有分类账。

aws qldb list-ledgers

输出:

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

有关更多信息,请参阅《Amazon QLDB 开发人员指南》中的 Amazon QLDB 分类账的基本操作

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

以下代码示例演示如何使用 list-tags-for-resource

Amazon 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" } }

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

以下代码示例演示如何使用 stream-journal-to-kinesis

Amazon 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

Amazon CLI

为账本添加标签

以下tag-resource示例向指定的账本添加一组标签。

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

此命令不生成任何输出。

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

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

以下代码示例演示如何使用 untag-resource

Amazon CLI

要从资源中删除标签

以下untag-resource示例从指定账本中删除带有指定标签键的标签。

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

此命令不生成任何输出。

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

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

以下代码示例演示如何使用 update-ledger-permissions-mode

Amazon CLI

示例 1:将账本的权限模式更新为标准

以下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 分类账的基本操作

以下代码示例演示如何使用 update-ledger

Amazon 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:将账本的 Amazon 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:将账本的 Amazon KMS 密钥更新为 Amazon 自有密钥

以下update-ledger示例将指定的账本更新为使用 Amazon 拥有的 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 的详细信息,请参阅Amazon CLI 命令参考UpdateLedger中的。