似乎无法使用云源repo中的gcloud部署Gen2云函数,除非它处于顶级。
以下是一个经过编辑的用于第1代python函数的示例部署命令:
gcloud beta functions deploy funcname --source https://source.developers.google.com/projects/projectname/repos/reponame/moveable-aliases/main/paths/pathname --runtime python310 --trigger-http --project=projectname
如果添加-gen2标志,它将失败,因为它找不到main.py。错误为:
OperationError:代码=3,消息=生成失败,状态为:FAILURE,消息:缺少main.py,未指定GOOGLE_FUNCTION_SOURCE。在main.py中创建函数,或者指定GOOGLE_function_SOURCE指向包含该函数的文件。
如果将main.py添加到repo的根目录并运行相同的命令,它会找到main.py,这向我表明它不遵守路径。
除非第一个问题得到修复,否则还有一个额外的问题并不重要,那就是如果路径名低于顶层(文件夹/子文件夹(,gcloud会在设置gen2标志时将其视为语法错误,但并非没有它。
有办法解决这个问题吗?这很不方便。
作为社区wiki进行回答。根据上述意见
有一个问题跟踪器为此引发了一个错误。这仍然是开放的,可以在那里跟踪进一步的进展。