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

Gcloud函数使用特定的python文件和特定的函数名进行部署,python,google-cloud-platform,google-cloud-functions,gcloud,Python,Google Cloud Platform,Google Cloud Functions,Gcloud,我正在尝试部署几个云函数,它们都在同一个存储库中,但在不同的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(),我想

我正在尝试部署几个云函数,它们都在同一个存储库中,但在不同的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\u 1\u文件夹
,我已经指定了一个入口点(
--入口点function\u 1
),但是我得到了一个“missing 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
标志<代码>--入口点用于指定源文件上函数的名称。例如(作为HTTP):

main.py

def function_1(request):
    return 'Hello World'
function\u 1\u文件夹中运行此命令

gcloud functions deploy function1 --entry-point function_1 --runtime python37 --trigger-http 
为了回答最后一个问题,requirements.txt与main.py一起提供,是一种有效的配置。这些依赖项将在构建时安装


作为附加参考,请参阅:

除了“main.py”之外,您还可以在同一目录中拥有任意数量的其他python文件(即“file1.py”、“file2、py”等)以及“main.py”。这些模块可以以普通方式导入(并在“main.py”中使用)。除此之外,还可以使用该目录中的任何其他文件(即json)。这些文件可以作为普通文件从代码内部读取(和使用)。