Roh*_*han 3 boto amazon-dynamodb
我正在使用 boto DynamoDBV2 接口作为脚本在 DynamoDB 中创建和填充表。我的代码看起来像这样 -
my_table = Table.create(table_name, schema=[HashKey('key', data_type=STRING)], connection = self.connection)
my_table.put_item(data={
'key': 'somekey',
'value': value
})
Run Code Online (Sandbox Code Playgroud)
我已经创建了连接,当我运行它时,表被正确创建,我可以在 AWS 控制台中看到它。但是我在尝试将值放入表中时收到错误“未找到请求的资源”。
我也尝试单独读取表格,然后插入这样的值 -
Table.create(table_name, schema=[HashKey('key', data_type=STRING)], connection = self.connection)
my_table = Table(table_name, self.connection)
my_table.put_item(data={
'key': 'somekey',
'value': value
})
Run Code Online (Sandbox Code Playgroud)
但在第二行仍然出现相同的错误。我错过了什么?
问题是您需要在创建表后等待一段时间再插入项目。您可以使用该waitFor()事件来查找表何时完成创建。
AWS 节点开发工具包示例:
const AWS = require('aws-sdk');
const dynamodb = new AWS.DynamoDB();
const createTableParams = {
// parameters...
}
dynamodb.createTable(createTableParams, (err, data) => {
if (err) return console.log(err, err.stack);
const params = {
TableName: 'MY_TABLE'
};
dynamodb.waitFor('tableExists', params, (err, data) => {
if (err) console.log(err, err.stack);
else insertData();
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1651 次 |
| 最近记录: |