我目前正在使用Google Cloud Function来构建我的restful API。 但是,我发现它很慢,因为我的Google-Cloud-Function服务器位于" us-central",而我的服务是在亚洲。
我尝试将我的Google项目的默认区域更改为" asia-west-1"并重新启动云功能 - 我按照here概述的步骤进行了操作 - 但不幸的是,它仍处于" us-central"中。 如何更改功能区域?
答案 0 :(得分:6)
Google Cloud Functions目前似乎仅在us-central1区域提供。如果我转到“创建函数”(https://console.cloud.google.com/functions/add),区域下拉列表只有一个选项,它是us-central1。
答案 1 :(得分:4)
在Google Cloud Platform上没有“ asia-west-1”这样的区域。在撰写本文时,GCP provides the following regions in Asia:
asia-east1
asia-northeast1
asia-south1
asia-southeast1
但是,asia-northeast1
当前是亚洲唯一可用于Google Cloud Functions的GCP区域:
$ gcloud functions regions list
NAME
projects/xxxxxxxx/locations/europe-west1
projects/xxxxxxxx/locations/us-east1
projects/xxxxxxxx/locations/us-central1
projects/xxxxxxxx/locations/asia-northeast1
区域设置很容易错过。它实际上隐藏在名为“ More”的手风琴后面:
点击它会显示一个 Region 下拉列表(以及其他高级设置):
gcloud
使用--region
标志仅指定四个可用区域之一。
假设您拥有
$ tree .
.
└── index.js
0 directories, 1 file
$ cat index.js
exports.hello = (req, res) => {
res.send(`Hello World!`);
}
然后跑步
gcloud functions deploy hello --region asia-northeast1 --trigger-http
应将功能hello
部署到区域asia-northeast1
:
答案 2 :(得分:0)
摘自文档-https://firebase.google.com/docs/functions/manage-functions#modify
// before
const functions = require('firebase-functions');
exports.webhook = functions
.https.onRequest((req, res) => {
res.send("Hello");
});
// after
const functions = require('firebase-functions');
exports.webhookAsia = functions
.region('asia-northeast1')
.https.onRequest((req, res) => {
res.send("Hello");
});