2016-03-02 3 views

Antwort

31

Sie müssen einen IndexName Parameter für die query-Funktion angeben.

Dies ist der Name des Index, die aus dem Namen des Index in der Regel unterscheidet Attribut (der Name des Index hat einen -index Suffix standardmäßig, obwohl man es ändern kann, während Tabellenerstellung). Wenn Ihr Indexattribut beispielsweise video_id heißt, lautet Ihr Indexname wahrscheinlich 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) 
) 

Zur Überprüfung der Indexnamen auf der Web-Oberfläche von AWS auf die Indexes Registerkarte der Tabelle gehen. Sie benötigen einen Wert aus der Spalte Name.

1

Von the official documentation

können Sie die Abfrage Betrieb verwenden ein oder mehrere Objekte in einem globalen Sekundärindex zuzugreifen. Die Abfrage den Namen der Tabelle und den Namen des Index angeben müssen, die Sie

Mit Blick auf the Boto3 documentation verwenden möchten, ist es offensichtlich, wie Sie den Indexnamen setzen, wenn eine DynamoDB Abfrage ausgeführt wird.

Verwandte Themen