【发布时间】:2017-06-21 12:53:34
【问题描述】:
作为大型网络应用程序的一部分,我结合使用了 Google Datastore 和 Firebase。在我的 本地 机器上,所有请求都无缝通过,但是当我将我的应用程序部署到 GAE(使用 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);
}
});
}
}
更新:
尝试手动缩放找到here,但似乎没有用。还发现this article 似乎是一个类似的问题。
【问题讨论】:
标签: node.js google-app-engine google-cloud-datastore google-api-nodejs-client