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

2024-07-05 15:40:20 发布

您现在位置: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),但是我得到了一个“missing main.py”错误

如何同时指定python文件名和函数名(如果可能)?gcloud还会部署安装我的功能所依赖的包所需的requirements.txt

多谢各位


Tags: 文件函数py功能txtmy部署repo
1条回答
网友
1楼 · 发布于 2024-07-05 15:40:20

不能随意命名源文件。Python源文件应始终命名为main.py,这是structuring requirements的一部分。以下是目录的外观:

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

相关问题 更多 >