를 사용한 DynamoDB Streams 예제 AWS CLI - AWS SDK 코드 예제

Doc AWS SDK 예제 GitHub 리포지토리에서 더 많은 SDK 예제를 사용할 수 있습니다. AWS

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

를 사용한 DynamoDB Streams 예제 AWS CLI

다음 코드 예제에서는 DynamoDB Streams와 AWS Command Line Interface 함께를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 관련 시나리오의 컨텍스트에 따라 표시되며, 개별 서비스 함수를 직접적으로 호출하는 방법을 보여줍니다.

각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.

주제

작업

다음 코드 예제에서는 describe-stream의 사용 방법을 보여줍니다.

AWS CLI

DynamoDB 테이블에 대한 정보를 가져오려면

다음 describe-stream 명령은 특정 DynamoDB Streams에 대한 정보를 표시합니다.

aws dynamodbstreams describe-stream \ --stream-arn arn:aws:dynamodb:us-west-1:123456789012:table/Music/stream/2019-10-22T18:02:01.576

출력:

{ "StreamDescription": { "StreamArn": "arn:aws:dynamodb:us-west-1:123456789012:table/Music/stream/2019-10-22T18:02:01.576", "StreamLabel": "2019-10-22T18:02:01.576", "StreamStatus": "ENABLED", "StreamViewType": "NEW_AND_OLD_IMAGES", "CreationRequestDateTime": 1571767321.571, "TableName": "Music", "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" }, { "AttributeName": "SongTitle", "KeyType": "RANGE" } ], "Shards": [ { "ShardId": "shardId-00000001571767321804-697ce3d2", "SequenceNumberRange": { "StartingSequenceNumber": "4000000000000642977831", "EndingSequenceNumber": "4000000000000642977831" } }, { "ShardId": "shardId-00000001571780995058-40810d86", "SequenceNumberRange": { "StartingSequenceNumber": "757400000000005655171150" }, "ParentShardId": "shardId-00000001571767321804-697ce3d2" } ] } }

자세한 내용은 Amazon DynamoDB 개발자 안내서DynamoDB Streams를 사용하여 Table Activity 캡처를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DescribeStream을 참조하세요.

다음 코드 예제에서는 get-records의 사용 방법을 보여줍니다.

AWS CLI

Dynamodb Streams에서 레코드를 가져오려면

다음 get-records 명령은 지정된 Amazon DynamoDB 샤드 반복기를 사용하여 레코드를 검색합니다.

aws dynamodbstreams get-records \ --shard-iterator "arn:aws:dynamodb:us-west-1:123456789012:table/Music/stream/2019-10-22T18:02:01.576|1|AAAAAAAAAAGgM3YZ89vLZZxjmoQeo33r9M4x3+zmmTLsiL86MfrF4+B4EbsByi52InVmiONmy6xVW4IRcIIbs1zO7MNIlqZfx8WQzMwVDyINtGG2hCLg78JKbYxFasXeePGlApTyf3rJxR765uyOVaBvBHAJuwF2TXIuxhaAlOupNGHr52qAC3a49ZOmf+CjNPlqQjnyRSAnfOwWmKhL1/KNParWSfz2odf780oOObIDIWRRMkt7+Hyzh9SD+hFxFAWR5C7QIlOXPc8mRBfNIazfrVCjJK8/jsjCzsqNyXKzJbhh+GXCoxYN+Kpmg4nyj1EAsYhbGL35muvHFoHjcyuynbsczbWaXNfThDwRAyvoTmc8XhHKtAWUbJiaVd8ZPtQwDsThCrmDRPIdmTRGWllGfUr5ezN5LscvkQezzgpaU5p8BgCqRzjv5Vl8LB6wHgQWNG+w/lEGS05ha1qNP+Vl4+tuhz2TRnhnJo/pny9GI/yGpce97mWvSPr5KPwy+Dtcm5BHayBs+PVYHITaTliInFlT+LCwvaz1QH3MY3b8A05Z800wjpktm60iQqtMeDwN4NX6FrcxR34JoFKGsgR8XkHVJzz2xr1xqSJ12ycpNTyHnndusw=="

출력:

{ "Records": [ { "eventID": "c3b5d798eef6215d42f8137b19a88e50", "eventName": "INSERT", "eventVersion": "1.1", "eventSource": "aws:dynamodb", "awsRegion": "us-west-1", "dynamodb": { "ApproximateCreationDateTime": 1571849028.0, "Keys": { "Artist": { "S": "No One You Know" }, "SongTitle": { "S": "Call Me Today" } }, "NewImage": { "AlbumTitle": { "S": "Somewhat Famous" }, "Artist": { "S": "No One You Know" }, "Awards": { "N": "1" }, "SongTitle": { "S": "Call Me Today" } }, "SequenceNumber": "700000000013256296913", "SizeBytes": 119, "StreamViewType": "NEW_AND_OLD_IMAGES" } }, { "eventID": "878960a6967867e2da16b27380a27328", "eventName": "INSERT", "eventVersion": "1.1", "eventSource": "aws:dynamodb", "awsRegion": "us-west-1", "dynamodb": { "ApproximateCreationDateTime": 1571849029.0, "Keys": { "Artist": { "S": "Acme Band" }, "SongTitle": { "S": "Happy Day" } }, "NewImage": { "AlbumTitle": { "S": "Songs About Life" }, "Artist": { "S": "Acme Band" }, "Awards": { "N": "10" }, "SongTitle": { "S": "Happy Day" } }, "SequenceNumber": "800000000013256297217", "SizeBytes": 100, "StreamViewType": "NEW_AND_OLD_IMAGES" } }, { "eventID": "520fabde080e159fc3710b15ee1d4daa", "eventName": "MODIFY", "eventVersion": "1.1", "eventSource": "aws:dynamodb", "awsRegion": "us-west-1", "dynamodb": { "ApproximateCreationDateTime": 1571849734.0, "Keys": { "Artist": { "S": "Acme Band" }, "SongTitle": { "S": "Happy Day" } }, "NewImage": { "AlbumTitle": { "S": "Updated Album Title" }, "Artist": { "S": "Acme Band" }, "Awards": { "N": "10" }, "SongTitle": { "S": "Happy Day" } }, "OldImage": { "AlbumTitle": { "S": "Songs About Life" }, "Artist": { "S": "Acme Band" }, "Awards": { "N": "10" }, "SongTitle": { "S": "Happy Day" } }, "SequenceNumber": "900000000013256687845", "SizeBytes": 170, "StreamViewType": "NEW_AND_OLD_IMAGES" } } ], "NextShardIterator": "arn:aws:dynamodb:us-west-1:123456789012:table/Music/stream/2019-10-23T16:41:08.740|1|AAAAAAAAAAEhEI04jkFLW+LKOwivjT8d/IHEh3iExV2xK00aTxEzVy1C1C7Kbb5+ZOW6bT9VQ2n1/mrs7+PRiaOZCHJu7JHJVW7zlsqOi/ges3fw8GYEymyL+piEk35cx67rQqwKKyq+Q6w9JyjreIOj4F2lWLV26lBwRTrIYC4IB7C3BZZK4715QwYdDxNdVHiSBRZX8UqoS6WOt0F87xZLNB9F/NhYBLXi/wcGvAcBcC0TNIOH+N0NqwtoB/FGCkNrf8YZ0xRoNN6RgGuVWHF3pxOhxEJeFZoSoJTIKeG9YcYxzi5Ci/mhdtm7tBXnbw5c6xmsGsBqTirNjlDyJLcWl8Cl0UOLX63Ufo/5QliztcjEbKsQe28x8LM8o7VH1Is0fF/ITt8awSA4igyJS0P87GN8Qri8kj8iaE35805jBHWF2wvwT6Iy2xGrR2r2HzYps9dwGOarVdEITaJfWzNoL4HajMhmREZLYfM7Pb0PvRMO7JkENyPIU6e2w16W1CvJO2EGFIxtNk+V04i1YIeHMXJfcwetNRuIbdQXfJht2NQZa4PVV6iknY6d19MrdbSTMKoqAuvp6g3Q2jH4t7GKCLWgodcPAn8g5+43DaNkh4Z5zKOfNw==" }

자세한 내용은 Amazon DynamoDB 개발자 안내서DynamoDB Streams를 사용하여 Table Activity 캡처를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetRecords를 참조하세요.

다음 코드 예제에서는 get-shard-iterator의 사용 방법을 보여줍니다.

AWS CLI

샤드 반복자를 가져오려면

다음 get-shard-iterator 명령은 지정된 샤드에 대한 샤드 반복기를 검색합니다.

aws dynamodbstreams get-shard-iterator \ --stream-arn arn:aws:dynamodb:us-west-1:12356789012:table/Music/stream/2019-10-22T18:02:01.576 \ --shard-id shardId-00000001571780995058-40810d86 \ --shard-iterator-type LATEST

출력:

{ "ShardIterator": "arn:aws:dynamodb:us-west-1:123456789012:table/Music/stream/2019-10-22T18:02:01.576|1|AAAAAAAAAAGgM3YZ89vLZZxjmoQeo33r9M4x3+zmmTLsiL86MfrF4+B4EbsByi52InVmiONmy6xVW4IRcIIbs1zO7MNIlqZfx8WQzMwVDyINtGG2hCLg78JKbYxFasXeePGlApTyf3rJxR765uyOVaBvBHAJuwF2TXIuxhaAlOupNGHr52qAC3a49ZOmf+CjNPlqQjnyRSAnfOwWmKhL1/KNParWSfz2odf780oOObIDIWRRMkt7+Hyzh9SD+hFxFAWR5C7QIlOXPc8mRBfNIazfrVCjJK8/jsjCzsqNyXKzJbhh+GXCoxYN+Kpmg4nyj1EAsYhbGL35muvHFoHjcyuynbsczbWaXNfThDwRAyvoTmc8XhHKtAWUbJiaVd8ZPtQwDsThCrmDRPIdmTRGWllGfUr5ezN5LscvkQezzgpaU5p8BgCqRzjv5Vl8LB6wHgQWNG+w/lEGS05ha1qNP+Vl4+tuhz2TRnhnJo/pny9GI/yGpce97mWvSPr5KPwy+Dtcm5BHayBs+PVYHITaTliInFlT+LCwvaz1QH3MY3b8A05Z800wjpktm60iQqtMeDwN4NX6FrcxR34JoFKGsgR8XkHVJzz2xr1xqSJ12ycpNTyHnndusw==" }

자세한 내용은 Amazon DynamoDB 개발자 안내서DynamoDB Streams를 사용하여 Table Activity 캡처를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetShardIterator를 참조하세요.

다음 코드 예제에서는 list-streams의 사용 방법을 보여줍니다.

AWS CLI

DynamoDB Streams를 나열하려면

다음 list-streams 명령은 기본 AWS 리전 내의 기존 Amazon DynamoDB 스트림을 모두 나열합니다.

aws dynamodbstreams list-streams

출력:

{ "Streams": [ { "StreamArn": "arn:aws:dynamodb:us-west-1:123456789012:table/Music/stream/2019-10-22T18:02:01.576", "TableName": "Music", "StreamLabel": "2019-10-22T18:02:01.576" } ] }

자세한 내용은 Amazon DynamoDB 개발자 안내서DynamoDB Streams를 사용하여 Table Activity 캡처를 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListStreams를 참조하세요.