将变量传递给Google Cloud函数

pin*_*ock 6 python-3.x google-cloud-platform google-cloud-functions

我刚刚在Beta Python 3.7运行时中使用HTTP触发器编写了Google Cloud Function。现在,我试图找出如何在调用函数时将字符串变量传递给函数。我已经阅读了文档,但是还没有找到任何东西。

我的触发器类似于:

https://us-central1-*PROJECT_ID*.cloudfunctions.net/*FUNCTION_NAME*
Run Code Online (Sandbox Code Playgroud)

我是否误解了云功能的工作原理?您甚至可以将变量传递给他们吗?

Dus*_*ram 10

您将变量传递给函数的方式与将变量传递给任何URL的方式相同:

1.通过GET带有查询参数的:

def test(request):
    name = request.args.get('name')
    return f"Hello {name}"
Run Code Online (Sandbox Code Playgroud)
$ curl -X GET https://us-central1-<PROJECT>.cloudfunctions.net/test?name=World
Hello World
Run Code Online (Sandbox Code Playgroud)

2.通过POST带有格式的:

def test(request):
    name = request.form.get('name')
    return f"Hello {name}"
Run Code Online (Sandbox Code Playgroud)
$ curl -X POST https://us-central1-<PROJECT>.cloudfunctions.net/test -d "name=World"
Hello World
Run Code Online (Sandbox Code Playgroud)

3.通过POST带有JSON的:

def test(request):
    name = request.get_json().get('name')
    return f"Hello {name}"
Run Code Online (Sandbox Code Playgroud)
$ curl -X POST https://us-central1-<PROJECT>.cloudfunctions.net/test -d '{"name":"World"}'
Hello World
Run Code Online (Sandbox Code Playgroud)

可以在以下位置找到更多详细信息:https : //cloud.google.com/functions/docs/writing/http