Ich wollte mit Boto (Python SDK von AWS) auf Dynamo DB zugreifen, konnte aber den Beispielcode nicht finden, der im elementaren Teil sehr hilfreich war, und habe den erstellten Code hinter die Broschüre gestellt. Stellen.
#!/usr/bin/env python
# coding: utf-8
import boto.dynamodb2
from boto.dynamodb2.table import Table
#AWS Keys for Dynamo
aws_access_key_id = 'AKIASJOE73SDGDTDA'
aws_secret_access_key = 'BuAHZv01Us0pZTbe87987JOIeuoeaM3MO'
aws_region = 'ap-northeast-1'
def main():
conn = boto.dynamodb2.connect_to_region(aws_region, aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key)
requests = Table('requests', connection=conn)
# show # of items
print requests.count()
# 'get_key_fields' example to show hash/range-key info for this table
print requests.get_key_fields()
# 'get_item' example to show all attribute of a item which has particular userID/created_date
item = requests.get_item(userID='USER-ID-0123-EDSMQNAK', created_date=143918255309)
for field, val in item.items():
print "%s: %s" % (field, val)
# 'query_2' example to query items with particular userID, and show all attributes for each item
# need to set 'userID__eq', not 'userID'
query_item = requests.query_2(userID__eq='USER-ID-0123-EDSMQNAK')
for item in query_item:
for field, val in item.items():
print '%s: %s' % (field, val)
print '--------------------'
# 'query_2' example to query items of userID (_eq) AND range key (__gt)
query_item = requests.query_2(userID__eq='USER-ID-0123-EDSMQNAK', created_date__gt=143918200000)
# 'scan' example to scan with key "last_access_day" >= "20150810"
query_item = requests.scan(last_access_day__gte=20150810)
if __name__ == '__main__':
main()
get_item
gibt den Schlüssel (Hash oder Hash + range_key) an und ruft ** 1 ** am besten passende Elemente ab **query_2
Ist der Schlüssel(hash or hash+range_key)Mit der Suchbedingung wird das Element abgeglichenMehrereHol es raus. Nur der Schlüssel kann als Suchbedingung verwendet werden. Reichweite_Für SchlüsselKeyConditionExpression
Operator(EQ|LE|LT|GE|GT|BEGINS_WITH|BETWEEN
)Im Großen,Bereich kann wie weniger angegeben werdenscan
ist eine sogenannte Volltextsuche, und es ist möglich, mit anderen Attributen als Key als Suchbedingungen zu suchen (obwohl eine große Menge an Lesekapazitätseinheit verbraucht wird).Recommended Posts