google-cloud-firestore - 如何获取要在 Firebase 云功能中使用的 Firebase 项目区域值
问题描述
我在两个不同的位置创建了 2 个项目。说 us-central1 和 asia-northeast1。现在对于这两个不同的项目,我想在各自的区域部署云功能。
const function_location = 'asia-northeast1';// I want a region of the project selected through npm
exports.AddWebLogs = functions.region(function_location).firestore.document(............
如何在环境变量或 process.env 中的某个位置获取项目区域值,以便我可以使用它在云函数中设置该区域。
REACT_APP_API_KEY = xyz
REACT_APP_AUTH_DOMAIN = xyz
REACT_APP_DATABASE_URL = xyz
REACT_APP_PROJECT_ID = xyz
REACT_APP_STORAGE_BUCKET = xyz
REACT_APP_MESSAGING_SENDER_ID = xyz
解决方案
如果我正确理解您的问题,您有两个项目:Project A
位于us-central1
和Project B
位于asia-northeast1
. 您想知道它们各自的区域并将其存储在环境变量中,以便稍后在部署 Cloud Function 时使用。
要查看项目中的默认区域和区域设置,可以使用云命令行工具:
gcloud compute project-info describe --project [PROJECT_ID]
要使用 gcloud 命令行工具设置变量,请在部署时使用 --set-env-vars 标志:
gcloud functions deploy FUNCTION_NAME --set-env-vars myRegion=region
您可以在运行时访问您的环境变量。在运行时,可以通过 Node.js 中的 process.env 属性访问环境变量:
gcloud functions deploy envVar --runtime nodejs10 --set-env-vars myRegion=region --trigger-http
然后,您可以使用:
exports.envVar = (req, res) => {
// Sends 'region' as response
res.send(process.env.myRegion);
};
希望这可以帮助。
推荐阅读
- java - 找到最长的重复子数组
- java - Java休眠多个一对多和多对一关系
- pinterest - Pinterest pin 功能不起作用
- ruby-on-rails-6 - 配置以允许可选的 belongs_to 关联在 rail 6 中不起作用
- sql - 按日期计算的值差异计数
- c++ - Qt5 - Windows:不一致的 dll 链接错误和 dllimport 静态数据成员的定义不允许
- image - 如何使用 IMPORTXML 导入图像
- linux - egrep 没有在 for 循环中给出结果完整路径
- c++ - 模板类操作符+重载返回类型
- google-apps-script - 谷歌表格中的 F9 键以评估部分功能