QLDB 사용 예제 AWS CLI - AWS Command Line Interface

이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

QLDB 사용 예제 AWS CLI

다음 코드 예제에서는 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-id 7ISCkqwe4y25YyHLzYUFAf

출력:

{ "StreamId": "7ISCkqwe4y25YyHLzYUFAf" }

자세한 내용은 Amazon 개발자 안내서의 Amazon에서 저널 데이터 스트리밍QLDB을 참조하세요. QLDB

다음 코드 예시에서는 create-ledger을 사용하는 방법을 보여 줍니다.

AWS CLI

예 1: 기본 속성을 사용하여 원장을 생성하는 방법

다음 create-ledger 예시에서는 myExampleLedger 이름과 STANDARD 권한 모드를 사용하여 원장을 생성합니다. 삭제 방지 및 AWS KMS 키에 대한 선택적 파라미터는 지정되지 않으므로 각각 true 및 AWS 소유 KMS 키로 기본 설정됩니다.

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

출력:

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

예제 2: 삭제 방지가 비활성화된 원장, 고객 관리형 KMS 키 및 지정된 태그를 생성하려면

다음 create-ledger 예시에서는 myExampleLedger2 이름과 STANDARD 권한 모드를 사용하여 원장을 생성합니다. 삭제 보호 기능이 비활성화되고 지정된 고객 관리형 KMS 키가 저장 시 암호화에 사용되며 지정된 태그가 리소스에 연결됩니다.

aws qldb create-ledger \ --name myExampleLedger2 \ --permissions-mode STANDARD \ --no-deletion-protection \ --kms-key arn:aws:kms:us-west-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --tags IsTest=true,Domain=Test

출력:

{ "Arn": "arn:aws:qldb:us-west-2:123456789012:ledger/myExampleLedger2", "DeletionProtection": false, "CreationDateTime": 1568839543.557, "State": "CREATING", "Name": "myExampleLedger2", "PermissionsMode": "STANDARD", "KmsKeyArn": "arn:aws:kms:us-west-2:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

자세한 내용은 Amazon 개발자 안내서의 Amazon QLDB Ledgers 기본 작업을 참조하세요. QLDB

  • 자세한 API 내용은 명령 참조CreateLedger의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 delete-ledger을 사용하는 방법을 보여 줍니다.

AWS CLI

원장을 삭제하려면

다음 delete-ledger 예제에서는 지정된 원장을 삭제합니다.

aws qldb delete-ledger \ --name myExampleLedger

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon 개발자 안내서의 Amazon QLDB Ledgers 기본 작업을 참조하세요. QLDB

  • 자세한 API 내용은 명령 참조DeleteLedger의 섹션을 참조하세요. AWS CLI

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

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

AWS CLI

저널 내보내기 작업을 설명하려면

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

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

출력:

{ "ExportDescription": { "S3ExportConfiguration": { "Bucket": "awsExampleBucket", "Prefix": "ledgerexport1/", "EncryptionConfiguration": { "ObjectEncryptionType": "SSE_S3" } }, "RoleArn": "arn:aws:iam::123456789012:role/my-s3-export-role", "Status": "COMPLETED", "ExportCreationTime": 1568847801.418, "InclusiveStartTime": 1568764800.0, "ExclusiveEndTime": 1568847599.0, "LedgerName": "myExampleLedger", "ExportId": "ADR2ONPKN5LINYGb4dp7yZ" } }

자세한 내용은 Amazon 개발자 안내서의 Amazon에서 저널 내보내기QLDB를 참조하세요. 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 개발자 안내서의 Amazon QLDB Ledgers 기본 작업을 참조하세요. QLDB

  • 자세한 API 내용은 명령 참조DescribeLedger의 섹션을 참조하세요. AWS CLI

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

AWS CLI

저널 블록을 S3로 내보내려면

다음 export-journal-to-s3 예제에서는 이름이 인 원장의 지정된 날짜 및 시간 범위 내에 저널 블록에 대한 내보내기 작업을 생성합니다myExampleLedger. 내보내기 작업은 지정된 Amazon S3 버킷에 블록을 씁니다.

aws qldb export-journal-to-s3 \ --name myExampleLedger \ --inclusive-start-time 2019-09-18T00:00:00Z \ --exclusive-end-time 2019-09-18T22:59:59Z \ --role-arn arn:aws:iam::123456789012:role/my-s3-export-role \ --s3-export-configuration file://my-s3-export-config.json

my-s3-export-config.json의 콘텐츠:

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

출력:

{ "ExportId": "ADR2ONPKN5LINYGb4dp7yZ" }

자세한 내용은 Amazon 개발자 안내서의 Amazon에서 저널 내보내기QLDB를 참조하세요. QLDB

  • API 자세한 내용은 AWS CLI 명령 참조ExportJournalToS3를 참조하세요.

다음 코드 예시에서는 get-block을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 입력 파일을 사용하여 검증할 저널 블록 및 증거를 가져오려면

다음 get-block 예제에서는 블록 데이터 객체와 지정된 원장의 증거를 요청합니다. 요청은 지정된 다이제스트 팁 주소 및 블록 주소에 대한 것입니다.

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

myblockaddress.json의 콘텐츠:

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

mydigesttipaddress.json의 콘텐츠:

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

출력:

{ "Block": { "IonText": "{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},transactionId:\"FnQeJBAicTX0Ah32ZnVtSX\",blockTimestamp:2019-09-16T19:37:05.360Z,blockHash:{{NoChM92yKRuJAb/jeLd1VnYn4DHiWIf071ACfic9uHc=}},entriesHash:{{l05LOsiKV14SDbuaYnH7uwXzUvqzIwUiRLXGbTyj/nY=}},previousBlockHash:{{7kewBXhpdbClcZKxhVmpoMHpUGOJtWQD0iY2LPfZkYA=}},entriesHashList:[{{eRSwnmAM7WWANWDd5iGOyK+T4tDXyzUq6HZ/0fgLHos=}},{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},{{y5cCBr7pOAIUfsVQ1j0TqtE97b4b4oo1R0vnYyE5wWM=}},{{TvTXygML1bMe6NvEZtGkX+KR+W/EJl4qD1mmV77KZQg=}}],transactionInfo:{statements:[{statement:\"FROM VehicleRegistration AS r \\nWHERE r.VIN = '1N4AL11D75C109151'\\nINSERT INTO r.Owners.SecondaryOwners\\n VALUE { 'PersonId' : 'CMVdR77XP8zAglmmFDGTvt' }\",startTime:2019-09-16T19:37:05.302Z,statementDigest:{{jcgPX2vsOJ0waum4qmDYtn1pCAT9xKNIzA+2k4R+mxA=}}}],documents:{JUJgkIcNbhS2goq8RqLuZ4:{tableName:\"VehicleRegistration\",tableId:\"BFJKdXgzt9oF4wjMbuxy4G\",statements:[0]}}},revisions:[{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},hash:{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},data:{VIN:\"1N4AL11D75C109151\",LicensePlateNumber:\"LEWISR261LL\",State:\"WA\",PendingPenaltyTicketAmount:90.25,ValidFromDate:2017-08-21,ValidToDate:2020-05-11,Owners:{PrimaryOwner:{PersonId:\"BFJKdXhnLRT27sXBnojNGW\"},SecondaryOwners:[{PersonId:\"CMVdR77XP8zAglmmFDGTvt\"}]},City:\"Everett\"},metadata:{id:\"JUJgkIcNbhS2goq8RqLuZ4\",version:3,txTime:2019-09-16T19:37:05.344Z,txId:\"FnQeJBAicTX0Ah32ZnVtSX\"}}]}" }, "Proof": { "IonText": "[{{l3+EXs69K1+rehlqyWLkt+oHDlw4Zi9pCLW/t/mgTPM=}},{{48CXG3ehPqsxCYd34EEa8Fso0ORpWWAO8010RJKf3Do=}},{{9UnwnKSQT0i3ge1JMVa+tMIqCEDaOPTkWxmyHSn8UPQ=}},{{3nW6Vryghk+7pd6wFCtLufgPM6qXHyTNeCb1sCwcDaI=}},{{Irb5fNhBrNEQ1VPhzlnGT/ZQPadSmgfdtMYcwkNOxoI=}},{{+3CWpYG/ytf/vq9GidpzSx6JJiLXt1hMQWNnqOy3jfY=}},{{NPx6cRhwsiy5m9UEWS5JTJrZoUdO2jBOAAOmyZAT+qE=}}]" } }

자세한 내용은 Amazon 개발자 안내서의 Amazon에서 데이터 확인을 QLDB 참조하세요. QLDB

예제 2: 짧은 구문을 사용하여 저널 블록 및 검증 증거를 가져오려면

다음 get-block 예제에서는 짧은 구문을 사용하여 블록 데이터 객체와 지정된 원장의 증거를 요청합니다. 요청은 지정된 다이제스트 팁 주소 및 블록 주소에 대한 것입니다.

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

출력:

{ "Block": { "IonText": "{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},transactionId:\"FnQeJBAicTX0Ah32ZnVtSX\",blockTimestamp:2019-09-16T19:37:05.360Z,blockHash:{{NoChM92yKRuJAb/jeLd1VnYn4DHiWIf071ACfic9uHc=}},entriesHash:{{l05LOsiKV14SDbuaYnH7uwXzUvqzIwUiRLXGbTyj/nY=}},previousBlockHash:{{7kewBXhpdbClcZKxhVmpoMHpUGOJtWQD0iY2LPfZkYA=}},entriesHashList:[{{eRSwnmAM7WWANWDd5iGOyK+T4tDXyzUq6HZ/0fgLHos=}},{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},{{y5cCBr7pOAIUfsVQ1j0TqtE97b4b4oo1R0vnYyE5wWM=}},{{TvTXygML1bMe6NvEZtGkX+KR+W/EJl4qD1mmV77KZQg=}}],transactionInfo:{statements:[{statement:\"FROM VehicleRegistration AS r \\nWHERE r.VIN = '1N4AL11D75C109151'\\nINSERT INTO r.Owners.SecondaryOwners\\n VALUE { 'PersonId' : 'CMVdR77XP8zAglmmFDGTvt' }\",startTime:2019-09-16T19:37:05.302Z,statementDigest:{{jcgPX2vsOJ0waum4qmDYtn1pCAT9xKNIzA+2k4R+mxA=}}}],documents:{JUJgkIcNbhS2goq8RqLuZ4:{tableName:\"VehicleRegistration\",tableId:\"BFJKdXgzt9oF4wjMbuxy4G\",statements:[0]}}},revisions:[{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},hash:{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},data:{VIN:\"1N4AL11D75C109151\",LicensePlateNumber:\"LEWISR261LL\",State:\"WA\",PendingPenaltyTicketAmount:90.25,ValidFromDate:2017-08-21,ValidToDate:2020-05-11,Owners:{PrimaryOwner:{PersonId:\"BFJKdXhnLRT27sXBnojNGW\"},SecondaryOwners:[{PersonId:\"CMVdR77XP8zAglmmFDGTvt\"}]},City:\"Everett\"},metadata:{id:\"JUJgkIcNbhS2goq8RqLuZ4\",version:3,txTime:2019-09-16T19:37:05.344Z,txId:\"FnQeJBAicTX0Ah32ZnVtSX\"}}]}" }, "Proof": { "IonText": "[{{l3+EXs69K1+rehlqyWLkt+oHDlw4Zi9pCLW/t/mgTPM=}},{{48CXG3ehPqsxCYd34EEa8Fso0ORpWWAO8010RJKf3Do=}},{{9UnwnKSQT0i3ge1JMVa+tMIqCEDaOPTkWxmyHSn8UPQ=}},{{3nW6Vryghk+7pd6wFCtLufgPM6qXHyTNeCb1sCwcDaI=}},{{Irb5fNhBrNEQ1VPhzlnGT/ZQPadSmgfdtMYcwkNOxoI=}},{{+3CWpYG/ytf/vq9GidpzSx6JJiLXt1hMQWNnqOy3jfY=}},{{NPx6cRhwsiy5m9UEWS5JTJrZoUdO2jBOAAOmyZAT+qE=}}]" } }

자세한 내용은 Amazon 개발자 안내서의 Amazon에서 데이터 확인을 QLDB 참조하세요. QLDB

  • 자세한 API 내용은 명령 참조GetBlock의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-digest을 사용하는 방법을 보여 줍니다.

AWS CLI

원장의 다이제스트를 가져오려면

다음 get-digest 예제는 저널의 가장 최근 커밋 블록에서 지정된 원장의 다이제스트를 요청합니다.

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

출력:

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

자세한 내용은 Amazon 개발자 안내서의 Amazon에서 데이터 확인을 QLDB 참조하세요. QLDB

  • 자세한 API 내용은 명령 참조GetDigest의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 개발자 안내서의 Amazon에서 데이터 확인을 QLDB 참조하세요. QLDB

예제 2: 단축형 구문을 사용하여 문서 개정 및 검증 증거를 가져오려면

다음 get-revision 예제에서는 짧은 구문을 사용하여 수정 데이터 객체와 지정된 원장의 증거를 요청합니다. 이 요청은 지정된 다이제스트 팁 주소, 문서 ID 및 개정의 블록 주소에 대한 것입니다.

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

출력:

{ "Revision": { "IonText": "{blockAddress:{strandId:\"KmA3ZZca7vAIiJAK9S5Iwl\",sequenceNo:100},hash:{{mHVex/yjHAWjFPpwhBuH2GKXmKJjK2FBa9faqoUVNtg=}},data:{VIN:\"1N4AL11D75C109151\",LicensePlateNumber:\"LEWISR261LL\",State:\"WA\",PendingPenaltyTicketAmount:90.25,ValidFromDate:2017-08-21,ValidToDate:2020-05-11,Owners:{PrimaryOwner:{PersonId:\"BFJKdXhnLRT27sXBnojNGW\"},SecondaryOwners:[{PersonId:\"CMVdR77XP8zAglmmFDGTvt\"}]},City:\"Everett\"},metadata:{id:\"JUJgkIcNbhS2goq8RqLuZ4\",version:3,txTime:2019-09-16T19:37:05.344Z,txId:\"FnQeJBAicTX0Ah32ZnVtSX\"}}" }, "Proof": { "IonText": "[{{eRSwnmAM7WWANWDd5iGOyK+T4tDXyzUq6HZ/0fgLHos=}},{{VV1rdaNuf+yJZVGlmsM6gr2T52QvBO8Lg+KgpjcnWAU=}},{{7kewBXhpdbClcZKxhVmpoMHpUGOJtWQD0iY2LPfZkYA=}},{{l3+EXs69K1+rehlqyWLkt+oHDlw4Zi9pCLW/t/mgTPM=}},{{48CXG3ehPqsxCYd34EEa8Fso0ORpWWAO8010RJKf3Do=}},{{9UnwnKSQT0i3ge1JMVa+tMIqCEDaOPTkWxmyHSn8UPQ=}},{{3nW6Vryghk+7pd6wFCtLufgPM6qXHyTNeCb1sCwcDaI=}},{{Irb5fNhBrNEQ1VPhzlnGT/ZQPadSmgfdtMYcwkNOxoI=}},{{+3CWpYG/ytf/vq9GidpzSx6JJiLXt1hMQWNnqOy3jfY=}},{{NPx6cRhwsiy5m9UEWS5JTJrZoUdO2jBOAAOmyZAT+qE=}}]" } }

자세한 내용은 Amazon 개발자 안내서의 Amazon에서 데이터 확인을 QLDB 참조하세요. QLDB

  • 자세한 API 내용은 명령 참조GetRevision의 섹션을 참조하세요. AWS CLI

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

다음 코드 예시에서는 list-journal-s3-exports-for-ledger을 사용하는 방법을 보여 줍니다.

AWS CLI

원장의 저널 내보내기 작업을 나열하려면

다음 list-journal-s3-exports-for-ledger 예제에서는 지정된 원장의 저널 내보내기 작업을 나열합니다.

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

출력:

{ "JournalS3Exports": [ { "LedgerName": "myExampleLedger", "ExclusiveEndTime": 1568847599.0, "ExportCreationTime": 1568847801.418, "S3ExportConfiguration": { "Bucket": "awsExampleBucket", "Prefix": "ledgerexport1/", "EncryptionConfiguration": { "ObjectEncryptionType": "SSE_S3" } }, "ExportId": "ADR2ONPKN5LINYGb4dp7yZ", "RoleArn": "arn:aws:iam::123456789012:role/qldb-s3-export", "InclusiveStartTime": 1568764800.0, "Status": "IN_PROGRESS" } ] }

자세한 내용은 Amazon 개발자 안내서의 Amazon에서 저널 내보내기QLDB를 참조하세요. 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": "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 개발자 안내서의 Amazon에서 저널 내보내기QLDB를 참조하세요. 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 개발자 안내서의 Amazon QLDB Ledgers 기본 작업을 참조하세요. QLDB

  • 자세한 API 내용은 명령 참조ListLedgers의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 개발자 안내서의 Amazon QLDB 리소스 태그 지정을 참조하세요. QLDB

  • 자세한 API 내용은 명령 참조ListTagsForResource의 섹션을 참조하세요. AWS CLI

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

AWS CLI

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

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

aws qldb stream-journal-to-kinesis \ --ledger-name myExampleLedger \ --inclusive-start-time 2020-05-29T00:00:00Z \ --exclusive-end-time 2020-05-29T23:59:59Z \ --role-arn arn:aws:iam::123456789012:role/my-kinesis-stream-role \ --kinesis-configuration file://my-kinesis-config.json \ --stream-name myExampleLedger-stream

my-kinesis-config.json의 콘텐츠:

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

출력:

{ "StreamId": "7ISCkqwe4y25YyHLzYUFAf" }

자세한 내용은 Amazon 개발자 안내서의 Amazon에서 저널 데이터 스트리밍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" }

자세한 내용은 Amazon 개발자 안내서의 Amazon에서 저널 데이터 스트리밍QLDB을 참조하세요. QLDB

다음 코드 예시에서는 tag-resource을 사용하는 방법을 보여 줍니다.

AWS CLI

원장에 태그를 지정하려면

다음 tag-resource 예제에서는 지정된 원장에 태그 세트를 추가합니다.

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

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon 개발자 안내서의 Amazon QLDB 리소스 태그 지정을 참조하세요. QLDB

  • 자세한 API 내용은 명령 참조TagResource의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 개발자 안내서의 Amazon QLDB 리소스 태그 지정을 참조하세요. QLDB

  • 자세한 API 내용은 명령 참조UntagResource의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 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 개발자 안내서의 Amazon QLDB Ledgers 기본 작업을 참조하세요. 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 소유 키로 업데이트 AWS KMS하는 방법

다음 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 개발자 안내서의 Amazon QLDB Ledgers 기본 작업을 참조하세요. QLDB

  • 자세한 API 내용은 명령 참조UpdateLedger의 섹션을 참조하세요. AWS CLI