Google Cloud Functions 的文档有点模糊 - 我了解如何部署包含在其中的单个功能index.js
- 即使在特定目录中,但如何部署位于同一存储库中的多个云功能?
AWS Lambda 允许您指定特定的文件和函数名称:
/my/path/my-file.myHandler
Lambda 还允许您部署仅包含运行所需文件的 zip 文件,省略所有可选的传递 npm 依赖项及其资源。对于某些库(例如 Oracle DB),包括node-modules/**
会显着增加部署时间,并可能超过存储限制(它在 AWS Lambda 上确实如此)。
我可以使用 Google Cloud Function 部署管理的最佳方法是:
$ gcloud alpha functions deploy my-function \
--trigger-http
--source-url https://github.com/user-name/my-repo.git \
--source-branch master \
--source-path lib/foo/bar
--entry-point myHandler
...但我的理解是,它部署lib/foo/bar/index.js
的内容包含function myHandler(req, res) {}
...以及连接在同一文件中的所有依赖项?这根本没有意义——就像我说的,文档有点含糊。