我有一個簡單的dynamodb2表,其中包含task_names(字符串)及其開始時間(數字/浮點數)。我怎樣才能得到開始時間大於給定數字X的所有記錄? 目前,我試圖讓開始時間作爲全局二級索引,並使用以下內容:如何使用gte比較運算符查詢dynamodb表
表hashkey是task_name,範圍鍵是開始時間。 我做了start_time(start_time-index)的第二全局索引,並用它來查詢下面。
recs =tab.query(start_time__gte=1, index='start_time-index')
然而,它說:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/nail/home/osarood/work/.venv/local/lib/python2.7/site-packages/boto/dynamodb2/results.py", line 62, in __next__
self.fetch_more()
File "/nail/home/osarood/work/.venv/local/lib/python2.7/site-packages/boto/dynamodb2/results.py", line 146, in fetch_more
results = self.the_callable(*args, **kwargs)
File "/nail/home/osarood/work/.venv/local/lib/python2.7/site-packages/boto/dynamodb2/table.py", line 1132, in _query
**kwargs
File "/nail/home/osarood/work/.venv/local/lib/python2.7/site-packages/boto/dynamodb2/layer1.py", line 1522, in query
body=json.dumps(params))
File "/nail/home/osarood/work/.venv/local/lib/python2.7/site-packages/boto/dynamodb2/layer1.py", line 2100, in make_request
retry_handler=self._retry_handler)
File "/nail/home/osarood/work/.venv/local/lib/python2.7/site-packages/boto/connection.py", line 937, in _mexe
status = retry_handler(response, i, next_sleep)
File "/nail/home/osarood/work/.venv/local/lib/python2.7/site-packages/boto/dynamodb2/layer1.py", line 2140, in _retry_handler
response.status, response.reason, data)
boto.dynamodb2.exceptions.ValidationException: ValidationException: 400 Bad Request
{u'message': u'Query key condition not supported', u'__type': u'com.amazon.coral.validate#ValidationException'}
你的''start_time''屬性是什麼類型? – garnaat 2014-09-27 11:57:43
它是一個數字。基本上這是一個時代。 – 2014-09-28 15:11:43