我創建了一個快速服務器,它還將一些文本寫入我在專案目錄中的一個檔案中并執行一個 cmd 命令。在本地,它可以作業,但如果我將它部署到 App Engine 并嘗試發出請求,我會收到錯誤 500。
如果沒有辦法做到這一點,我能做些什么來代替它?我猜對于 fs,將其存盤在 Cloud Storage 中,但我不知道 exec-
編碼:
const express = require('express');
const cors = require('cors');
const bodyParser = require('body-parser');
const { exec } = require('child_process');
var fs = require('fs')
const app = express();
app.use(bodyParser.json());
app.use(cors());
module.exports = app
app.post("/", (req,res) =>{
console.log("Get from /");
console.log(req.body.data)
fs.writeFileSync('../log.txt', req.body.data);
exec('npx hardhat run scripts/deploy.js --network goerli',
(error, stdout, stderr) => {
if (error !== null) {
console.log(`exec error: ${error}`);
}
else{
var addr = fs.readFileSync('../address.txt','utf8')
res.send(addr);
}
})
res.send(req.body.data);
});
// starting the server
app.listen(8080, () => {
console.log('listening on port 8080');
});
uj5u.com熱心網友回復:
對于 App Engine Standard,您無法寫入本地檔案系統。您可以寫入/tmp
哪個是臨時目錄。此目錄中的所有檔案都存盤在實體的 RAM 中,這意味著當實體關閉時您會丟失檔案(請參閱檔案)
對于 App Engine Flexible,您可以寫入本地磁盤,但只要虛擬機(重新)啟動,磁盤就會重新初始化(請參閱檔案)
最好的辦法是寫入云存盤
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/507750.html
標籤:Google Cloud Collective 节点.js 表示 谷歌应用引擎 谷歌云平台