使用 AWS CLI 的 QLDB 示例
以下代码示例展示了如何通过将 AWS Command Line Interface与 QLDB 结合使用来执行操作和实现常见场景。
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示了如何使用 cancel-journal-kinesis-stream
。
- AWS CLI
-
取消日记账流
以下
cancel-journal-kinesis-stream
示例从分类账本中取消了指定的日记账流。aws qldb cancel-journal-kinesis-stream \ --ledger-name
myExampleLedger
\ --stream-id7ISCkqwe4y25YyHLzYUFAf
输出:
{ "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-modeSTANDARD
输出:
{ "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-modeSTANDARD
\ --no-deletion-protection \ --kms-keyarn:aws:kms:us-west-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
\ --tagsIsTest=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-id7ISCkqwe4y25YyHLzYUFAf
输出:
{ "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-idADR2ONPKN5LINYGb4dp7yZ
输出:
{ "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 开发人员指南》中的导出 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-time2019-09-18T00:00:00Z
\ --exclusive-end-time2019-09-18T22:59:59Z
\ --role-arnarn:aws:iam::123456789012:role/my-s3-export-role
\ --s3-export-configurationfile://my-s3-export-config.json
my-s3-export-config.json
的内容:{ "Bucket": "awsExampleBucket", "Prefix": "ledgerexport1/", "EncryptionConfiguration": { "ObjectEncryptionType": "SSE_S3" } }
输出:
{ "ExportId": "ADR2ONPKN5LINYGb4dp7yZ" }
有关更多信息,请参阅《Amazon QLDB 开发人员指南》中的导出 Amazon QLDB 中的日记账。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ExportJournalToS3
。
-
以下代码示例演示了如何使用 get-block
。
- AWS CLI
-
示例 1:使用输入文件获取日记账块和证明以供验证
以下
get-block
示例请求从指定分类账请求块数据对象和证明。该请求针对指定的摘要提示地址和块地址。aws qldb get-block \ --name
vehicle-registration
\ --block-addressfile://myblockaddress.json
\ --digest-tip-addressfile://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-addressfile://myblockaddress.json
\ --document-idJUJgkIcNbhS2goq8RqLuZ4
\ --digest-tip-addressfile://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-idJUJgkIcNbhS2goq8RqLuZ4
\ --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 流式传输日记账数据。
-
有关 API 详细信息,请参阅《AWS CLI 命令参考》中的 ListJournalKinesisStreamsForLedger
。
-
以下代码示例演示了如何使用 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 开发人员指南》中的导出 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 开发人员指南》中的导出 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-time2020-05-29T00:00:00Z
\ --exclusive-end-time2020-05-29T23:59:59Z
\ --role-arnarn:aws:iam::123456789012:role/my-kinesis-stream-role
\ --kinesis-configurationfile://my-kinesis-config.json
\ --stream-namemyExampleLedger-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-time2020-05-29T00:00:00Z
\ --exclusive-end-time2020-05-29T23:59:59Z
\ --role-arnarn:aws:iam::123456789012:role/my-kinesis-stream-role
\ --stream-namemyExampleLedger-stream
\ --kinesis-configurationStreamArn=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
\ --tagsIsTest=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-keysIsTest
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-modeSTANDARD
输出:
{ "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-modeALLOW_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-keyarn: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-keyAWS_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
。
-