DynamoDB AWS CLI의 로컬 보조 인덱스로 작업 - Amazon DynamoDB

DynamoDB AWS CLI의 로컬 보조 인덱스로 작업

AWS CLI를 사용하여 하나 이상의 로컬 보조 인덱스가 있는 Amazon DynamoDB 테이블을 생성하고, 테이블의 인덱스를 설명하고, 인덱스를 사용하여 쿼리를 수행할 수 있습니다.

로컬 보조 인덱스가 있는 테이블 생성

로컬 보조 인덱스는 테이블을 생성할 때 동시에 생성해야 합니다. 이렇게 하려면 create-table 파라미터를 사용하고 하나 이상의 로컬 보조 인덱스에 대한 사양을 제공합니다. 다음 예제는 보유한 음악 파일에 있는 곡의 정보를 담은 테이블(Music)을 생성합니다. 파티션 키는 Artist이고 정렬 키는 SongTitle입니다. 보조 인덱스인 AlbumTitle 속성의 AlbumTitleIndex는 앨범 제목을 사용해 쿼리를 쉽게 수행하는 데 사용합니다.

aws dynamodb create-table \ --table-name Music \ --attribute-definitions AttributeName=Artist,AttributeType=S AttributeName=SongTitle,AttributeType=S \ AttributeName=AlbumTitle,AttributeType=S \ --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput \ ReadCapacityUnits=10,WriteCapacityUnits=5 \ --local-secondary-indexes \ "[{\"IndexName\": \"AlbumTitleIndex\", \"KeySchema\":[{\"AttributeName\":\"Artist\",\"KeyType\":\"HASH\"}, {\"AttributeName\":\"AlbumTitle\",\"KeyType\":\"RANGE\"}], \"Projection\":{\"ProjectionType\":\"INCLUDE\", \"NonKeyAttributes\":[\"Genre\", \"Year\"]}}]"

DynamoDB에서 테이블을 만들고 테이블 상태가 ACTIVE로 설정될 때까지 기다려야 합니다. 그런 다음 테이블에 데이터 항목을 입력할 수 있습니다. describe table을 사용하여 테이블 생성 상태를 결정할 수 있습니다.

로컬 보조 인덱스가 있는 테이블 설명

테이블의 로컬 보조 인덱스에 관한 자세한 내용은 describe-table 파라미터를 참조하세요. 각 인덱스에 대해 인덱스의 이름, 키 스키마 및 프로젝션된 속성에 액세스할 수 있습니다.

aws dynamodb describe-table --table-name Music

로컬 보조 인덱스 쿼리

테이블을 query할 때와 거의 동일한 방식으로 로컬 보조 인덱스의 query 작업을 사용할 수 있습니다. 인덱스 이름, 인덱스 정렬 키의 쿼리 기준, 반환하려는 속성을 지정해야 합니다. 이 예제에서 인덱스는 AlbumTitleIndex이고 인덱스 정렬 키는 AlbumTitle입니다.

인덱스로 프로젝션된 속성만 반환됩니다. 키가 아닌 속성을 선택하도록 이 쿼리를 수정할 수도 있지만, 그렇게 하려면 비교적 많은 비용이 드는 테이블 가져오기 작업이 필요합니다. 테이블 가져오기에 대한 자세한 내용은 속성 프로젝션 단원을 참조하세요.

aws dynamodb query \ --table-name Music \ --index-name AlbumTitleIndex \ --key-condition-expression "Artist = :v_artist and AlbumTitle = :v_title" \ --expression-attribute-values '{":v_artist":{"S":"Acme Band"},":v_title":{"S":"Songs About Life"} }'