Exemplos do QLDB usando a AWS CLI - AWS Command Line Interface

Exemplos do QLDB usando a AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando a AWS Command Line Interface com o QLDB.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar funções de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

Tópicos

Ações

O código de exemplo a seguir mostra como usar cancel-journal-kinesis-stream.

AWS CLI

Como cancelar um fluxo de diário

O exemplo cancel-journal-kinesis-stream a seguir cancela o fluxo de diário especificado de um ledger.

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

Saída:

{ "StreamId": "7ISCkqwe4y25YyHLzYUFAf" }

Para obter mais informações, consulte Enviar fluxos de dados de diário do Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

O código de exemplo a seguir mostra como usar create-ledger.

AWS CLI

Exemplo 1: como criar um livro contábil com propriedades padrão

O exemplo de create-ledger a seguir cria um livro contábil com o nome myExampleLedger e o modo de permissões STANDARD. Como os parâmetros opcionais para proteção contra exclusão e da chave do AWS KMS não foram especificados, eles assumem true e uma chave do KMS de propriedade da AWS, respectivamente, como padrão.

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

Saída:

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

Exemplo 2: como criar um livro de registros com proteção contra exclusão desabilitada, uma chave de KMS gerenciada pelo cliente e tags especificadas

O exemplo de create-ledger a seguir cria um livro contábil com o nome myExampleLedger2 e o modo de permissões STANDARD. O recurso de proteção conta exclusão é desabilitado, a chave do KMS gerenciada pelo cliente especificada é usada para criptografia em repouso e as tags especificadas são anexadas ao recurso.

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

Saída:

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

Para obter mais informações, consulte Basic Operations for Amazon QLDB Ledgers no Guia do desenvolvedor do Amazon QLDB.

  • Para obter detalhes da API, consulte CreateLedger na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar delete-ledger.

AWS CLI

Para excluir o ledger

O exemplo delete-ledger a seguir exclui o ledger especificado.

aws qldb delete-ledger \ --name myExampleLedger

Este comando não produz saída.

Para obter mais informações, consulte Basic Operations for Amazon QLDB Ledgers no Guia do desenvolvedor do Amazon QLDB.

  • Para ver detalhes da API, consulte DeleteLedger na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar describe-journal-kinesis-stream.

AWS CLI

Para descrever um fluxo de diário

O exemplo describe-journal-kinesis-stream a seguir exibe os detalhes do fluxo de diário especificado de um ledger.

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

Saída:

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

Para obter mais informações, consulte Enviar fluxos de dados de diário do Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

O código de exemplo a seguir mostra como usar describe-journal-s3-export.

AWS CLI

Para descrever um trabalho de exportação de diário

O exemplo describe-journal-s3-export a seguir exibe os detalhes do fluxo de diário especificado de um ledger.

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

Saída:

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

Para obter mais informações, consulte Exportar seu diário no Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

O código de exemplo a seguir mostra como usar describe-ledger.

AWS CLI

Para descrever um ledger

O exemplo describe-ledger a seguir exibe os detalhes do ledger especificado.

aws qldb describe-ledger \ --name myExampleLedger

Saída:

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

Para obter mais informações, consulte Basic Operations for Amazon QLDB Ledgers no Guia do desenvolvedor do Amazon QLDB.

  • Para ver detalhes da API, consulte DescribeLedger na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar export-journal-to-s3.

AWS CLI

Para exportar blocos de diário para o S3

O exemplo export-journal-to-s3 a seguir cria um trabalho de exportação para blocos de diário dentro de um intervalo de data e hora especificado a partir de um ledger com o nome myExampleLedger. O trabalho de exportação grava os blocos em um bucket do Amazon S3 especificado.

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

Conteúdo de my-s3-export-config.json:

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

Saída:

{ "ExportId": "ADR2ONPKN5LINYGb4dp7yZ" }

Para obter mais informações, consulte Exportar seu diário no Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

  • Para ver detalhes da API, consulte ExportJournalToS3 na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-block.

AWS CLI

Exemplo 1: obter um bloco de diário e uma prova para verificação usando arquivos de entrada

O exemplo get-block a seguir solicita um objeto de dados de bloco e uma prova do ledger especificado. A solicitação é para um endereço de ponta de resumo criptográfico e um endereço de bloco especificados.

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

Conteúdo de myblockaddress.json:

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

Conteúdo de mydigesttipaddress.json:

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

Saída:

{ "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=}}]" } }

Para obter mais informações, consulte Verificação de dados no Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

Exemplo 2: obter um bloco de diário e uma prova para verificação usando sintaxe simplificada

O exemplo get-block a seguir solicita um objeto de dados de bloco e uma prova do ledger especificado usando sintaxe simplificada. A solicitação é para um endereço de ponta de resumo criptográfico e um endereço de bloco especificados.

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

Saída:

{ "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=}}]" } }

Para obter mais informações, consulte Verificação de dados no Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

  • Para ver detalhes da API, consulte GetBlock na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-digest.

AWS CLI

Para obter um resumo criptográfico de um ledger

O exemplo get-digest a seguir solicita um resumo criptográfico do ledger especificado no diário.

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

Saída:

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

Para obter mais informações, consulte Verificação de dados no Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

  • Para ver detalhes da API, consulte GetDigest na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar get-revision.

AWS CLI

Exemplo 1: obter uma revisão de documento e prova de verificação usando arquivos de entrada

O exemplo get-revision a seguir solicita um objeto de dados de revisão e uma prova do ledger especificado. A solicitação é para um endereço de dica de resumo, ID do documento e endereço de bloco especificados da revisão.

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

Conteúdo de myblockaddress.json:

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

Conteúdo de mydigesttipaddress.json:

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

Saída:

{ "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=}}]" } }

Para obter mais informações, consulte Verificação de dados no Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

Exemplo 2: obter uma revisão de documento e uma prova para verificação usando sintaxe simplificada

O exemplo get-revision a seguir solicita um objeto de revisão de dados e uma prova do ledger especificado usando sintaxe simplificada. A solicitação é para um endereço de dica de resumo, ID do documento e endereço de bloco especificados da revisão.

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

Saída:

{ "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=}}]" } }

Para obter mais informações, consulte Verificação de dados no Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

  • Para ver detalhes da API, consulte GetRevision na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar list-journal-kinesis-streams-for-ledger.

AWS CLI

Para listar fluxos de diário de um ledger

O exemplo list-journal-kinesis-streams-for-ledger a seguir lista o fluxo de diário do ledger especificado.

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

Saída:

{ "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" } ] }

Para obter mais informações, consulte Enviar fluxos de dados de diário do Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

O código de exemplo a seguir mostra como usar list-journal-s3-exports-for-ledger.

AWS CLI

Para listar trabalhos de exportação de diário para um ledger

O exemplo list-journal-s3-exports-for-ledger a seguir lista os trabalhos de exportação de diário para o ledger especificado.

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

Saída:

{ "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" } ] }

Para obter mais informações, consulte Exportar seu diário no Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

O código de exemplo a seguir mostra como usar list-journal-s3-exports.

AWS CLI

Para listar trabalhos de exportação de diário

O exemplo list-journal-s3-exports a seguir lista todos os trabalhos de exportação de diário para todos os ledgers associados à conta e região atuais da AWS.

aws qldb list-journal-s3-exports

Saída:

{ "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 } ] }

Para obter mais informações, consulte Exportar seu diário no Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

O código de exemplo a seguir mostra como usar list-ledgers.

AWS CLI

Para listar os livros de registros disponíveis

O exemplo de list-ledgers a seguir lista todos os livros de registros associados à conta e região atuais da AWS.

aws qldb list-ledgers

Saída:

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

Para obter mais informações, consulte Basic Operations for Amazon QLDB Ledgers no Guia do desenvolvedor do Amazon QLDB.

  • Para obter detalhes da API, consulte ListLedgers na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar list-tags-for-resource.

AWS CLI

Para listar as tags anexadas a um ledger

O exemplo list-tags-for-resource a seguir lista as tags anexadas ao ledger especificado.

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

Saída:

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

Para obter mais informações, consulte Adicionar tags a recursos do Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

  • Para ver detalhes sobre a API, consulte ListTagsForResource na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar stream-journal-to-kinesis.

AWS CLI

Exemplo 1: transmitir dados do diário para o Kinesis Data Streams usando arquivos de entrada

O exemplo stream-journal-to-kinesis a seguir cria um fluxo de dados de diário dentro de um intervalo de data e hora especificado a partir de um ledger com o nome myExampleLedger. O fluxo envia os dados para um fluxo de dados específico do 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

Conteúdo de my-kinesis-config.json:

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

Saída:

{ "StreamId": "7ISCkqwe4y25YyHLzYUFAf" }

Para obter mais informações, consulte Enviar fluxos de dados de diário do Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

Exemplo 2: transmitir dados do diário para o Kinesis Data Streams usando a sintaxe abreviada

O exemplo stream-journal-to-kinesis a seguir cria um fluxo de dados de diário dentro de um intervalo de data e hora especificado a partir de um ledger com o nome myExampleLedger. O fluxo envia os dados para um fluxo de dados específico do 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

Saída:

{ "StreamId": "7ISCkqwe4y25YyHLzYUFAf" }

Para obter mais informações, consulte Enviar fluxos de dados de diário do Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

O código de exemplo a seguir mostra como usar tag-resource.

AWS CLI

Para adicionar uma tag a um ledger

O exemplo tag-resource a seguir adiciona um conjunto de tags ao ledger especificado.

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

Este comando não produz saída.

Para obter mais informações, consulte Adicionar tags a recursos do Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

  • Para obter detalhes da API, consulte TagResource na Referência de comandos da AWS CLI.

O código de exemplo a seguir mostra como usar untag-resource.

AWS CLI

Como remover as tags de um recurso

O exemplo untag-resource a seguir remove as tags com as chaves de tag especificadas do ledger especificado.

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

Este comando não produz saída.

Para obter mais informações, consulte Adicionar tags a recursos do Amazon QLDB no Guia do desenvolvedor do Amazon QLDB.

  • Para obter detalhes sobre a API, consulte UntagResource na AWS CLI Command Reference.

O código de exemplo a seguir mostra como usar update-ledger-permissions-mode.

AWS CLI

Exemplo 1: atualizar o modo de permissões de um ledger para STANDARD

O exemplo update-ledger-permissions-mode a seguir atribui o modo de permissões STANDARD ao ledger especificado.

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

Saída:

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

Exemplo 2: atualizar o modo de permissões de um ledger para ALLOW_ALL

O exemplo update-ledger-permissions-mode a seguir atribui o modo de permissões ALLOW_ALL ao ledger especificado.

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

Saída:

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

Para obter mais informações, consulte Basic Operations for Amazon QLDB Ledgers no Guia do desenvolvedor do Amazon QLDB.

O código de exemplo a seguir mostra como usar update-ledger.

AWS CLI

Exemplo 1: atualizar a propriedade de proteção contra exclusão de um livro-registro

O exemplo update-ledger a seguir atualiza o ledger especificado para desativar o atributo de proteção contra exclusão.

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

Saída:

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

Exemplo 2: atualizar a chave do AWS KMS de um ledger para uma chave gerenciada pelo cliente

O exemplo update-ledger a seguir atualiza o ledger especificado para usar uma chave do KMS gerenciada pelo cliente para criptografia em repouso.

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

Saída:

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

Exemplo 3: atualizar a chave do AWS KMS de um ledger para uma chave de propriedade da AWS

O exemplo update-ledger a seguir atualiza o ledger especificado para usar uma chave do KMS de propriedade da AWS para criptografia em repouso.

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

Saída:

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

Para obter mais informações, consulte Basic Operations for Amazon QLDB Ledgers no Guia do desenvolvedor do Amazon QLDB.

  • Para ver detalhes da API, consulte UpdateLedger na Referência de comandos da AWS CLI.