DynamoDBのセカンダリインデックス
DynamoDBではセカンダリインデックスを使うことができます。詳しくはこの辺りを参照してください。
boto3からセカンダリインデックスでアイテムを探す
boto3からのアクセス方法が最初わからなかったので残しておきます。
グローバルセカンダリインデックスとしてsecond
が設定しているテーブルに対してアクセスします。
import boto3
from boto3.dynamodb.conditions import Key
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('test-table')
response = table.query(IndexName='second-index', KeyConditionExpression=Key('second').eq('hoge'))
print(response['Items'])
> [{'key': '1', 'second': 'hoge'}]
参考情報
amazon web services - How do we query on a secondary index of dynamodb using boto3? - Stack Overflow