У меня возникли вопросы, определяющие выражение Query для AWS Dynamodb. Цель состоит в том, чтобы получить уникальную запись dynamodb, которая имеет поле timeStamp, которое содержит строку «1475413345». Я подтвердил, что могу получить это через веб-консоль AWS, используя ту же строку.AWS Boto3 Dynamodb Query Issue
Я подозреваю, что у меня проблема с синтаксисом для .contains wrong.
Любая помощь очень ценится!
Вот код:
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)
Вот сообщение об ошибке я получаю:
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
Почему содержит, а не экв? – jarmod
Я пробовал .eq и та же проблема. Я думал, что мне нужно использовать .contains, поскольку это строка. – Neal
Это команда, которую я пробовал с помощью .eqKeyConditionExpression = Key ('primaryKey'). Eq ('76fe48e3-88a0-11e6-9479-556298790684') – Neal