DynamoDB2的连接错误,但没有使用boto的DynamoDB的连接错误

问题描述:

我正在迁移一些代码以使用boto的DynamoDB2库,但我在与boot.dynamodb2连接时遇到问题。然而,原始的boto连接工作正常。DynamoDB2的连接错误,但没有使用boto的DynamoDB的连接错误

我使用博托版本2.32.0和Python 2.7.3

import boto 
import boto.dynamodb2 
from boto.dynamodb2.table import Table 

access_id = '-------------' # removed 
secrey_key = '--------------' # removed 

tablename = 'test' 
lookup = 'hash1' 

conn = boto.connect_dynamodb(aws_access_key_id=access_id, aws_secret_access_key=secret_key) 
table1 = conn.get_table(tablename) 
item1 = table1.get_item(lookup) 
print "DB1 item :: ", item1 

conn2 = boto.dynamodb2.connect_to_region('us-east-1', aws_access_key_id=access_id, aws_secret_access_key=secret_key) 
table2 = Table(tablename) 
item2 = table2.get_item(hashkey=lookup) 
print "DB2 item :: ", item2 

这是输出。请注意,该项目是由旧的发电机调用而不是boto.dynamodb2版本返回的。

DB1 item :: {'hashkey': 'hash1', 'value': 1} 
Traceback (most recent call last): 
    File "bototest.py", line 18, in <module> 
    item2 = table2.get_item(hashkey=lookup) 
    File "/usr/local/lib/python2.7/dist-packages/boto-2.31.0-py2.7.egg/boto/dynamodb2/table.py", line 502, in get_item 
    consistent_read=consistent 
    File "/usr/local/lib/python2.7/dist-packages/boto-2.31.0-py2.7.egg/boto/dynamodb2/layer1.py", line 911, in get_item 
    body=json.dumps(params)) 
    File "/usr/local/lib/python2.7/dist-packages/boto-2.31.0-py2.7.egg/boto/dynamodb2/layer1.py", line 2100, in make_request 
    retry_handler=self._retry_handler) 
    File "/usr/local/lib/python2.7/dist-packages/boto-2.31.0-py2.7.egg/boto/connection.py", line 940, in _mexe 
    status = retry_handler(response, i, next_sleep) 
    File "/usr/local/lib/python2.7/dist-packages/boto-2.31.0-py2.7.egg/boto/dynamodb2/layer1.py", line 2143, in _retry_handler 
    data) 
boto.exception.JSONResponseError: JSONResponseError: 400 Bad Request 
{u'message': u'The security token included in the request is invalid.', u'__type': u'com.amazon.coral.service#UnrecognizedClientException'} 

你必须提供连接创建表对象时:

table2 = Table(tablename, connection=conn2) 
+0

谢谢!我应该注意到一些如此明显的事情。我一直在盯着官方博托移民文件完全困惑。不幸的是,他们忽略了许多连接步骤。 – 2014-09-03 06:06:46

+0

非常有用。谢谢! – 2015-04-28 17:13:28