AWS CLI를 사용한 QLDB 예시 - AWS Command Line Interface

이 문서는 AWS CLI의 버전 1에만 해당합니다. 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에서 저널 데이터 스트리밍을 참조하세요.

다음 코드 예시에서는 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에서 저널 데이터 스트리밍을 참조하세요.

다음 코드 예시에서는 describe-journal-s3-export의 사용 방법을 보여줍니다.

AWS CLI

저널 내보내기 작업 설명

다음 describe-journal-s3-export 예시에서는 원장에서 지정된 내보내기 작업의 세부 정보를 표시합니다.

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

출력:

{ "ExportDescription": { "S3ExportConfiguration": { "Bucket": "amzn-s3-demo-bucket", "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에서 저널 내보내기를 참조하세요.

다음 코드 예시에서는 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": "amzn-s3-demo-bucket", "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-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": "amzn-s3-demo-bucket", "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에서 저널 내보내기를 참조하세요.

다음 코드 예시에서는 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": "amzn-s3-demo-bucket", "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": "amzn-s3-demo-bucket", "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에서 저널 내보내기를 참조하세요.

다음 코드 예시에서는 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 리소스 태그 지정을 참조하세요.

다음 코드 예시에서는 stream-journal-to-kinesis의 사용 방법을 보여줍니다.

AWS CLI

예시 1: 입력 파일을 사용하여 저널 데이터를 Kinesis Data Streams로 스트리밍

다음 stream-journal-to-kinesis 예시에서는 이름이 myExampleLedger인 원장에서 지정된 날짜 및 시간 범위 내에 저널 데이터 스트림을 생성합니다. 스트림은 지정된 Amazon Kinesis Data Streams로 데이터를 전송합니다.

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 Data Streams로 데이터를 전송합니다.

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에서 저널 데이터 스트리밍을 참조하세요.

다음 코드 예시에서는 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 원장의 기본 작업을 참조하세요.

다음 코드 예시에서는 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를 참조하세요.