首页 > 解决方案 > Google Cloud Functions - 为什么 GCF 将两个位置参数传递给我的函数?

问题描述

我在 Python 3.7 上有一个不接受任何输入参数的 Google Cloud 函数。当我尝试运行它时,它会出现以下错误:

TypeError: google_cloud_function() takes 0 positional arguments but 2 were given

实际的函数代码看起来像这样(调用了不同的 bash 函数):

import subprocess

def google_cloud_function():
    subprocess.call(["ls"], shell=True)
    subprocess.call(["pwd"], shell=True)

为什么会这样?

标签: python-3.xgoogle-cloud-platformgoogle-cloud-functions

解决方案


由 Cloud Storage 等触发的后台 Cloud Function 应具有以下函数签名:

def function(data, context):
    ...

即使您不使用参数,也需要包含它们。


推荐阅读