2020/2 Cloud Functions nodejs10 runtime で JSON のパースの様子が変わった
console.log(JSON.stringify({ key: "value", array: [1, 2, 3] })) した場合に以下のような構造が書かれる
https://gyazo.com/cbf7bac1c210f9e7b2d789a4a5b1450b
前までは1行なら textPayload で JSON 文字列が書かれていた
node8 は従来どおり、node10 で確認
困っている人居る
BigQuery へログを同期していたけど完全に壊れた
2020/1/17までは textPayload で書かれていた この形式何
Datastore のスキーマとかで見るやつ
2020/8/20 status: Fixed
Fixed に更新された通知がきた
Node10
code:app.js
exports.App = (req, res) => {
const payload = {
runtime: process.env.GCF_RUNTIME,
key: "value",
};
console.log(JSON.stringify(payload));
res.json(payload);
};
https://gyazo.com/0bb414c391ff278731fe4088c73b0b45
JSON としてパースされる!!!
go113
code:app.go
// App is exposed as a function
func App(w http.ResponseWriter, r *http.Request) {
payload := mapstringinterface{}{ "runtime": os.Getenv("GCF_RUNTIME"),
"key": "value",
"array": []int{1, 2, 3},
}
output, _ := json.Marshal(payload)
w.Header().Add("Content-Type", "application/json")
w.WriteHeader(http.StatusOK)
mw := io.MultiWriter(w, os.Stdout)
fmt.Fprintf(mw, "%s\n", output)
}
https://gyazo.com/1f5155e0c31cbe8d679123f7f6a7cd15
最高!!!
go111
https://gyazo.com/514fc042f081e0aaa25e8969d77a67ab
最高!!!
python37
code:app.py
def App(request):
payload = {
"runtime": os.getenv("GCF_RUNTIME", ""),
"key": "value",
}
print(json.dumps(payload))
return jsonify(payload)
https://gyazo.com/d44a8b2a3492889b3905b046d90d866a
おお??? ここは textPayload