作为一个更大的web应用程序的一部分,我使用谷歌数据存储和火力地堡的组合。在我本地机,所有的请求都通过无缝的,但是当我部署我的应用程序到GAE(如何使用Node.js - 灵活的环境)一切工作除了到数据存储的电话。这些请求不会直接或通过承诺抛出错误,而永远不会返回,挂起进程。谷歌数据存储在生产默默地失败(node.js的)
我当前的配置设置使用含有我的私有密钥的服务帐户密钥文件。香港专业教育学院检查其有适当的范围(甚至增加了更多的比我要以防万一有数据存储所有者权限)。
我蒸应用到裸露的骨骼,仍然没有运气。我卡住了,寻找任何建议。
const datastore = require('@google-cloud/datastore');
const config = require('yaml-config')
.readConfig('config.yaml');
module.exports = {
get_test: function(query, callback) {
var ds_ref = datastore({
projectId: config.DATASTORE_PROJECT,
keyFilename: __dirname + config.GOOGLE_CLOUD_KEY
});
var q = ds_ref.createQuery('comps')
.filter('record', query.record);
ds_ref.runQuery(q, function(err, entities) {
if (!err) {
if (entities.length > 0) {
callback(err, entities[0]);
} else {
callback(err, []);
}
} else {
callback(err, undefined);
}
});
}
}
UPDATE:
试图manual_scaling发现here但似乎没有工作。还发现这似乎是this article类似的问题。