· 9 years ago · Nov 02, 2016, 07:08 PM
1from __future__ import print_function # Python 2/3 compatibility
2import boto3
3
4dynamodb = boto3.resource('dynamodb', region_name='us-west-2')
5
6table = dynamodb.create_table(
7 TableName='Movies',
8 KeySchema=[
9 {
10 'AttributeName': 'year',
11 'KeyType': 'HASH' #Partition key
12 },
13 {
14 'AttributeName': 'title',
15 'KeyType': 'RANGE' #Sort key
16 }
17 ],
18 AttributeDefinitions=[
19 {
20 'AttributeName': 'year',
21 'AttributeType': 'N'
22 },
23 {
24 'AttributeName': 'title',
25 'AttributeType': 'S'
26 },
27
28 ],
29 ProvisionedThroughput={
30 'ReadCapacityUnits': 10,
31 'WriteCapacityUnits': 10
32 }
33)
34
35my_item = {"year": 1999, "title": "MyMovie", "info": {"Plot": "DynamoDB"}}
36table.put_item(Item=my_item)
37
38response = table.get_item(Key={"year":1999,
39 "title":"MyMovie",
40 }
41 )
42print response
43
44{u'Item': {u'info': {u'Plot': u'DynamoDB'}, u'year': Decimal('1999'), u'title': u'MyMovie'}, 'ResponseMetadata': {'RetryAttempts': 0, 'HTTPStatusCode': 200, 'RequestId': 'C8I2Q46K06T030INBCFN35RELVVV4KQNSO5AEMVJF66Q9ASUAAJG', 'HTTPHeaders': {'x-amzn-requestid': 'C8I2Q46K06T030INBCFN35RELVVV4KQNSO5AEMVJF66Q9ASUAAJG', 'content-length': '93', 'server': 'Server', 'connection': 'keep-alive', 'x-amz-crc32': '4025342458', 'date': 'Wed, 02 Nov 2016 18:20:14 GMT', 'content-type': 'application/x-amz-json-1.0'}}}
45
46import (
47 "fmt"
48 "github.com/goamz/goamz/aws"
49 "github.com/goamz/goamz/dynamodb"
50)
51
52
53func main() {
54
55 access_key := "MyAccessKey"
56 secret_key := "MySecretKey"
57
58 auth := aws.Auth{AccessKey: access_key, SecretKey: secret_key}
59
60 server := &dynamodb.Server{Auth: auth, Region: aws.USWest2}
61
62 desc_ptr, err := server.DescribeTable("Movies")
63
64 if err != nil {
65 fmt.Println(err)
66 }
67
68 primary_key, err := desc_ptr.BuildPrimaryKey()
69
70 if err != nil {
71 fmt.Println(err)
72 }
73
74 table := server.NewTable("Movies", primary_key)
75
76 my_key := dynamodb.Key{HashKey: "1999", RangeKey: "MyMovie"}
77
78 result, err := table.GetItem(&my_key)
79
80 if err != nil {
81 fmt.Println(err)
82 }
83
84 fmt.Println("Printing Result")
85
86 for k, v := range(result) {
87 fmt.Println(k, *v)
88 }
89}
90
91Printing Result
92title {S title MyMovie [] }
93year {N year 1999 [] }