Gcloud函数使用特定的python文件和特定的函数名部署



我正在尝试部署几个云功能,这些功能都在同一个存储库中,但在不同的python文件中。

基本上,我有这两个函数
my_repo
- function_1_folder
- function_1.py
- requirements.txt
- .gcloudignore
- function_2_folder  
- function_2.py
- requirements.txt
- .gcloudignore

function_1.py中,我有function_1(),我想将其部署到我的云功能function1(注意这里没有下划线),function_2也是如此。

我去function_1_folder,我已经指定了一个入口点(--entry-point function_1),但我得到一个"丢失的main.py"错误。

如何指定python文件名和函数名(如果可能的话)?gcloud是否也会部署requirements.txt来安装我的函数所依赖的包?

谢谢

不能随意命名源文件。Python源文件应该始终命名为main.py,这是结构化要求的一部分。您的目录应该是这样的:

my_repo
- function_1_folder
- main.py
- requirements.txt
- .gcloudignore
- function_2_folder  
- main.py
- requirements.txt
- .gcloudignore

标志--entry-point用于指定源文件上函数的名称。例如(如HTTP):

main.py

def function_1(request):
return 'Hello World'

function_1_folder内运行此命令:

gcloud functions deploy function1 --entry-point function_1 --runtime python37 --trigger-http 

要回答您的最后一个问题,requirements.txt与main.py一起包含,并且是一个有效的配置。这些依赖项将在构建时安装。

作为附加参考,请参见:https://github.com/GoogleCloudPlatform/python-docs-samples/tree/master/functions

相关内容

  • 没有找到相关文章

最新更新