2017-02-23 7 views
0

私はPythonスクリプトを使用してAmazonでDynamoDBのテーブルにput項目にしようとしているが、私はPythonスクリプトを実行すると、私はエラーを以下の取得:Pythonを使ってDynamoDBテーブルに項目を入れる方法は?

Traceback (most recent call last): 
    File "./table.py", line 32, in <module> 
    item.put(None, None) 
    File "/usr/local/lib/python2.7/dist-packages/boto/dynamodb/item.py", line 183, in put 
    return self.table.layer2.put_item(self, expected_value, return_values) 
    File "/usr/local/lib/python2.7/dist-packages/boto/dynamodb/layer2.py", line 551, in put_item 
    object_hook=self.dynamizer.decode) 
    File "/usr/local/lib/python2.7/dist-packages/boto/dynamodb/layer1.py", line 384, in put_item 
    object_hook=object_hook) 
    File "/usr/local/lib/python2.7/dist-packages/boto/dynamodb/layer1.py", line 119, in make_request 
    retry_handler=self._retry_handler) 
    File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 954, in _mexe 
    status = retry_handler(response, i, next_sleep) 
    File "/usr/local/lib/python2.7/dist-packages/boto/dynamodb/layer1.py", line 159, in _retry_handler 
    data) 
boto.exception.DynamoDBResponseError: DynamoDBResponseError: 400 Bad Request 
{u'message': u'Requested resource not found', u'__type': u'com.amazonaws.dynamodb.v20111205#ResourceNotFoundException'} 

私のコードは次のとおりです。

#!/usr/bin/python 

import boto 
import boto.s3 
import sys 

from boto import dynamodb2 
from boto.dynamodb2.table import Table 
from boto.s3.key import Key 
import boto.dynamodb 

conn = boto.dynamodb.connect_to_region('us-west-2', aws_access_key_id=<My_access_key>, aws_secret_access_key=<my_secret_key>) 

entity = conn.create_schema(hash_key_name='RPI_ID', hash_key_proto_value=str, range_key_name='PIC_ID', range_key_proto_value=str) 
table = conn.create_table(name='tblSensor', schema=entity, read_units=10, write_units=10) 


item_data = { 
     'Pic_id': 'P100', 
     'RId': 'R100', 
     'Temperature': '28.50' 
    } 
item = table.new_item(
     # Our hash key is 'forum' 
     hash_key='RPI_ID', 
     # Our range key is 'subject' 
     range_key='PIC_ID', 
     # This has the 
     attrs=item_data 
    ) 

item.put() // I got error here. 

私の参照は次のとおりです。Setting/Getting/Deleting CORS Configuration on a Bucket

+0

テーブルが正常に作成されたかどうかを確認しましたか? –

+0

@Nihal Sharmaはい、テーブルが正常に作成されました。 – rsp

+0

テーブルが 'us-west-2'にありますか? –

答えて

0

私はGoogleで検索し、私のその問題を解決しました。私は自分のラズベリーパイボードに時間の日付を設定し、そのプログラムを実行するとうまくいきます。

0

私は自分のアカウントでコードを実行し、それが戻って、100%完璧に働いた:

{u'ConsumedCapacityUnits': 1.0} 

あなたはbotoの最新バージョンを使用していることを確認する必要があります

pip install boto --upgrade 
関連する問題