You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCP Cloud Function调用时无法读取传入数据问题咨询

问题根因

你本地调用代码的请求格式不符合云函数的解析逻辑:

  • 调用requests.post()时使用data参数传递字典,requests会默认将内容序列化为application/x-www-form-urlencoded格式的表单数据,不会设置JSON请求头
  • 云函数中仅实现了URL参数、JSON请求体两种场景的解析,无法识别表单格式的参数,因此进入默认分支返回Hello World!
修复方案

方案1:修改本地调用代码(推荐)

将请求参数改为通过json参数传递,requests会自动设置正确的JSON请求头,适配现有云函数逻辑:

import requests
url = "https://europe-west-2/testing_response"  # url已脱敏,云函数名称为testing_response
data = {"message":"foo"}
# 替换data参数为json参数
response = requests.post(url, json=data)
print(response.text)

方案2:修改云函数适配表单请求

如果业务需要保留表单格式传参,可以在云函数中新增表单数据的解析分支:

def hello_world(request):
    request_json = request.get_json()
    if request.args and 'message' in request.args:
        return request.args.get('message')
    elif request_json and 'message' in request_json:
        return request_json['message']
    # 新增表单参数解析逻辑
    elif request.form and 'message' in request.form:
        return request.form.get('message')
    else:
        return f'Hello World!'
验证

修改对应代码后重新运行本地调用,即可正常返回foo结果。

内容的提问来源于stack exchange,提问作者Joshua Douglas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 21:24:03