0

作爲一個更大的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類似的問題。

回答

1

這個問題似乎是GRPC模塊中。使用0.6.0版本的數據存儲。這會自動使用舊版本的grpc。該解決方案將適用於計算引擎。但是,您仍然會面臨靈活的環境問題。這是因爲當部署靈活的環境時,它將使用有問題的新模塊。

請同時參閱GitHub上的以下鏈接: https://github.com/GoogleCloudPlatform/google-cloud-node/issues/1955 https://github.com/GoogleCloudPlatform/google-cloud-node/issues/1946

請保持這些鏈接的手錶分辨率的更新。