Ich habe Probleme beim Definieren eines Abfrageausdrucks für AWS Dynamodb. Ziel ist es, den eindeutigen dynamodb-Datensatz zu erhalten, der das Feld timeStamp enthält, das die Zeichenfolge "1475413345" enthält. Ich habe bestätigt, dass ich dies über die AWS-Webkonsole mit derselben Zeichenfolge abrufen kann.AWS Boto3 Dynamodb-Abfrage Problem
Ich vermute, ich habe ein Problem mit der Syntax für .enthält falsche.
Jede Hilfe wird sehr geschätzt! Hier
ist der Code:
import boto3
from boto3.dynamodb.conditions import Key, Attr
from time import sleep
benchtemp = boto3.resource('dynamodb') # if set in ~/.boto
table = benchtemp.Table('benchtemp')
temps = table.query(
KeyConditionExpression=Key('timeStamp').contains('1475413345')
)
for temp in temps:
print temp;
time.sleep(1)
Hier ist die Fehlermeldung erhalte ich:
Traceback (most recent call last):
File "/Users/neal/PycharmProjects/Read-NMT-DB/Read-NMT-DB.py", line 15, in <module>
KeyConditionExpression=Key('timeStamp').contains('1475413345')
AttributeError: 'Key' object has no attribute 'contains'
Process finished with exit code 1
Warum enthält statt eq? – jarmod
Ich versuchte .eq und das gleiche Problem. Ich dachte, ich müsste .contains verwenden, da es eine Zeichenfolge ist. – Neal
Dies ist der Befehl, den ich mit .eqKeyConditionExpression = Key ('primaryKey') versucht habe. Eq ('76fe48e3-88a0-11e6-9479-556298790684') – Neal