在python中读取DyanmoDb的table.scan()返回的结果集时代码中断
我对dynamoDB很陌生,所以这个问题可能很愚蠢。 我的目的和代码非常简单: 我连接到DynamoDB。 我从dynamoDB得到了想要的桌子 我通过Table.scan读取所有值 但是,当我尝试在步骤3获得的返回结果集上运行for循环,而不是在结果集上迭代时,我失败了,出现以下错误: TypeError:“ResultSet”对象没有属性“\uu getitem\uu” 这是我的密码:在python中读取DyanmoDb的table.scan()返回的结果集时代码中断,python,amazon-dynamodb,resultset,Python,Amazon Dynamodb,Resultset,我对dynamoDB很陌生,所以这个问题可能很愚蠢。 我的目的和代码非常简单: 我连接到DynamoDB。 我从dynamoDB得到了想要的桌子 我通过Table.scan读取所有值 但是,当我尝试在步骤3获得的返回结果集上运行for循环,而不是在结果集上迭代时,我失败了,出现以下错误: TypeError:“ResultSet”对象没有属性“\uu getitem\uu” 这是我的密码: def fireQuery(tableName): table = getTa
def fireQuery(tableName):
table = getTable(tableName)
try :
result = table.scan(Select="ALL_ATTRIBUTES")
for item in result['Items'] : #<-- my code fails here
print(item)
def getTable(tableName):
try:
db = getDynamoDBConnection()
table = Table(tableName, connection=db)
except Exception as e:
print(tableName ," Table doesn't exist.", e)
return table
控制台上的异常:
对于用户['Items']中的项目:
TypeError:“ResultSet”对象没有属性“\uu getitem\uuu”您只需要像这样迭代ResultSet:
def fireQuery(tableName):
table = getTable(tableName)
try :
result_set = table.scan(Select="ALL_ATTRIBUTES")
for item in result_set:
print item['attributename']
我尝试了您所说的,我已经为result_对象定义了getitem,但是如果我使用table.scanselect=ALL_属性,我会得到以下错误:UnknownFilterTypeErrorOperator'Select'来自'Select'无法识别,而对于table.scan,我会得到以下错误:JSONResponseError:400错误请求{u'message':u'未找到请求的资源',u''u'type':u'com.amazonaws.dynamodb.v20120810ResourceNotFoundException'}