Je voulais accéder à Dynamo DB en utilisant Boto (Python SDK of AWS), mais je n'ai pas trouvé l'exemple de code qui était très utile dans la partie élémentaire, j'ai donc mis le code créé derrière le dépliant. Mettre.
get_item
, query_2
, scan
requests
requests
est String et ʻuser ID, Range Key est Number et
created_date`#!/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
, query_2
, scan
get_item
spécifie Key (hash ou hash + range_key) et récupère ** 1 ** meilleurs éléments correspondants **query_2
C'est la clé(hash or hash+range_key)Avec la condition de recherche, l'élément à mettre en correspondancePlusieursSors-le. Seule la clé peut être utilisée comme condition de recherche. intervalle_Pour cléKeyConditionExpression
Opérateur(EQ|LE|LT|GE|GT|BEGINS_WITH|BETWEEN
)En greather,La plage peut être spécifiée comme lessscan
est ce que l'on appelle une recherche en texte intégral, et il est possible d'effectuer une recherche en utilisant des attributs autres que Clé comme conditions de recherche (bien qu'elle consomme une grande quantité d'unité de capacité de lecture).Recommended Posts