如何使用boto查询带有索引的dynamodb2表?我无法将文件或单元测试中的足够信息拼凑成boto。
我创建了一个本地索引:
fields.KeysOnlyIndex('NameIndex', parts=[
fields.HashKey('account_id', data_type='S'),
fields.RangeKey('name', data_type='S'),
])
并希望使用account_id
和name
。
尝试拨打电话table.query( account_id__eq=account['id'], name__eq = name )
会导致错误Query condition missed key schema element id
。
注意:我还希望避免使用Table
类并直接使用连接。
答案 0 :(得分:1)
表:
table = Table('accounts')
results = table.query(index='NameIndex', account_id__eq=account['id'], name__eq=name)
或连接:
results = conn.query(
table_name='accounts',
index_name='NameIndex',
select='ALL_PROJECTED_ATTRIBUTES',
key_conditions={
'account_id': {
'AttributeValueList': [
{'S': account['id']},
],
'ComparisonOperator': 'EQ',
},
'name': {
'AttributeValueList': [
{'S': name},
],
'ComparisonOperator': 'EQ',
},
}
)