google-cloud-platform - 为 Google Cloud Functions 创建开发和暂存环境

标签 google-cloud-platform google-cloud-functions google-cloud-pubsub

我正在开发一个具有开发环境和暂存环境的项目,因此每个环境都有自己的服务器、数据库,每个环境也应该有自己的 Pub/Subs 和 Cloud Functions。

我有一个名为 jsonToCsv 的云函数导出同名函数 jsonToCsv ,我想部署相同的代码但使用不同的名称,即 jsonToCsv_staging ,但是,GCloud 不允许我导出名称与 Cloud Functions 不同的函数

ERROR: (gcloud.beta.functions.deploy) OperationError: code=3, 
message=Function load error: Node.js module defined by file index.js is 
expected to export function named jsonToCsv-staging

来自 AWS 背景,我认为有一种方法可以让我调用不同版本的云函数(即最新版本是开发,我可以用 staging 标记一个版本,另一个用 production 标记版本) ) 但我找不到办法做到这一点。

我能想到的一种解决方法是使用具有相同名称但不同的 Pub/Sub 或触发器的相同函数来传递环境变量。如果开发人员想要在不影响登台的情况下部署一些开发代码,那将行不通。你对此有何看法?这种情况下的最佳实践是什么?

最佳答案

在 Google Cloud Platform(因此也包括 Firebase)中隔离环境的推荐方法是为每个环境创建不同的项目。

GCP 项目中的环境 Multi-Tenancy 是一个坏主意,因为它使您的生产数据和代码相对容易损坏到您的开发实践的日常工作中。

关于google-cloud-platform - 为 Google Cloud Functions 创建开发和暂存环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49744470/

相关文章:

encryption - 大查询中的字段级加密

python - Google PubSub 和自动缩放计算引擎实例 (Python)

Firebase云功能更改事件时间戳错误

javascript - 云函数 onCall - 如何返回对象

google-cloud-pubsub - 为什么 Google PubSub 总是创建 60 个永久线程?

logging - kubernetes中的集中式应用程序日志记录

python - 如何使用 python 客户端库获取 Pubsub 中存在的未传递消息(指标 api)的数量?

ubuntu - 如何设置密码以便我可以连接到 Google Cloud 实例上的 FTP

node.js - 如何将源语言代码传递到 Node.js 中的 Google Cloud Translate Basic API Edition

python-3.x - 从 Cloud Functions 中的父目录或同级目录导入模块?