大規模なウェブアプリケーションの一部として、私はGoogle DatastoreとFirebaseの組み合わせを使用しています。私のローカルマシンでは、すべてのリクエストはシームレスに行われますが、アプリケーションをGAEにデプロイすると、すべてがで動作します(を除く)。要求は、直接的にも約束によってもエラーを投げず、プロセスをぶら下げて返すことはありません。Google Datastoreはサイレントモードでプロダクションで失敗する(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も見つかりました。