boto python dynamodb 扫描 attributes_to_get
大家好,
boto的文档说得很模糊,这个操作为什么不成功呢?
from boto.dynamodb2.table import Table
import time
print "Scanning Existing Database"
myTable = Table('myTable')
start = time.clock()
my_query = myTable.scan(scan_filter=None, attributes_to_get=['something'])
results = []
for x in my_query:
results.append(x['something'])
elapsed = (time.clock() - start)
print "Scan Operation took",elapsed
print len(results)
那为什么这个能成功呢:
#!/bin/env python
import boto
db = boto.connect_dynamodb()
import time
print "Scanning Existing Database"
table = db.get_table('current_fhv_drivers')
start = time.clock()
all_query = table.scan(attributes_to_get=['something'])
results = []
for x in all_query:
results.append(x['something'])
elapsed = (time.clock() - start)
print "Scan Operation took",elapsed
print len(results)
2 个回答
0
第一个代码示例如果你在.boto文件中正确设置了配置,就应该能正常运行。这个方法对我的任务是有效的。
0
看起来你是在尝试在建立连接之前获取一个表格。你可以试试这个:
import boto
import boto.dynamodb2
from boto.dynamodb2.table import Table
conn = boto.dynamodb2.connect_to_region(
'us-east-1',
aws_access_key_id=AWS_ACCESS_KEY_ID,
aws_secret_access_key=AWS_SECRET_ACCESS_KEY
)
myTable = Table('myTable', connection=conn)