gpt4 book ai didi

google-cloud-functions - 从同一存储库部署多个 Google Cloud Functions

转载 作者:行者123 更新时间:2023-12-04 21:07:58 26 4
gpt4 key购买 nike

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) {} ...所有依赖项都连接在同一个文件中?这根本没有意义 - 就像我说的,文档有点模糊。

最佳答案

当前的部署工具采用了一种简单的方法。它压缩目录并上传它。这意味着您(当前)应该移动或删除 node_modules如果您不希望将它们包含在部署包中,请在执行命令之前。请注意,与 lambda 一样,GCF 会自动解析依赖项。

部署请见:gcloud alpha functions deploy --help

Specifically:

--entry-point=ENTRY_POINT
The name of the function (as defined in source code) that will be
executed.


您可以选择使用 --source 标志上传一次文件,然后在没有上传的情况下部署函数。您还可以指示 google 以相同的方式从存储库中提取函数。我建议您编写一个快速部署脚本来帮助您在单个命令中部署功能列表。

关于google-cloud-functions - 从同一存储库部署多个 Google Cloud Functions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41197967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com