2016-03-02 12 views

risposta

31

È necessario fornire un parametro IndexName per la funzione query.

questo è il nome dell'indice, che di solito è diverso dal nome dell'indice attributo (il nome dell'indice ha un -index suffisso di default, anche se è possibile modificarla durante creazione di tabelle). Ad esempio, se il tuo attributo indice è chiamato video_id, il nome dell'indice è probabilmente video_id-index.

import boto3 
from boto3.dynamodb.conditions import Key 
dynamodb = boto3.resource('dynamodb') 
table = dynamodb.Table('videos') 
video_id = 25 
response = table.query(
    IndexName='video_id-index', 
    KeyConditionExpression=Key('video_id').eq(video_id) 
) 

per controllare il nome dell'indice, andare alla scheda Indexes della tabella sull'interfaccia web di AWS. Avrai bisogno di un valore dalla colonna Name.

1

Da the official documentation

È possibile utilizzare l'operazione query per accedere a uno o più articoli in un indice secondario globale . La query deve specificare il nome della tabella e il nome dell'indice che si desidera utilizzare

Guardando the Boto3 documentation, è ovvio come impostare il nome dell'indice quando si esegue una query DynamoDB.

Problemi correlati