当我使用Key从表中使用客户端get_item时,它工作正常。如果我尝试与资源相同我得到错误。这里出了什么问题
router.get('/video/results/:search_query', middleware.ensureAuthenticated, function (req, res) {
query = req.params.search_query;
console.log(query);
var dataFinal;
function resp() = youtube.search.list({
part: 'snippet',
q: query,
type: 'video'
},function (err, data, response) {
if (err) {
console.error('Error: ' + err);
res.json({
status: "error"
});
}
if (data) {
// console.log(typeof data);
return data;
// return res.json({
// status: "ok",
// data: data
// });
console.log(data);
//res.render('resultsVideo',{results:data})
}
});
res.render('resultsVideo',{data:resp()})
});
答案 0 :(得分:1)
无需声明发电机Json格式的类型;博托为你做到了。如果您的表的分区键名为'EmpId'且类型为string,则您的get item调用应该如下所示
table.get_item(Key={'EmpId':'13456789ABC'})
答案 1 :(得分:1)
Boto3提供两种服务抽象:
还有两个相应的DynamoDB get_item方法:
如果您阅读每种方法的文档,您将看到他们希望以两种不同的方式提供项密钥(在我的示例中,我假设它是一个字符串):
有一个很好的Introduction to Version 3 of the AWS SDK for Python视频。