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

测试向PostgreSQL插入数据的GCP Cloud Function需传入何种JSON?

GCP Cloud Function插入PostgreSQL测试问题:调用时需传入的JSON内容说明

问题场景

我正在测试一个通过GCP Cloud Function向PostgreSQL插入数据的函数,但测试时系统提示需要传入JSON,不清楚具体该传什么内容。

当前函数代码

def hello_world(self):
    # 建立数据库连接
    conn = psycopg2.connect(
        database='somedb',
        user='someuser',
        password='somepwd',
        host='XX.XXX.XXX.XXX',
        port='5432'
    )

    # 创建游标对象
    cursor = conn.cursor()

    # 待插入的数据列表
    data = [('Babita', 'Bihar'), ('Anushka', 'Hyderabad'),
            ('Anamika', 'Banglore'), ('Sanaya', 'Pune'),
            ('Radha', 'Chandigarh')]

    # 插入数据到employee表
    for d in data:
        cursor.execute("INSERT into employee(name, state) VALUES (%s, %s)", d)


    # print("数据已成功插入employee表...")

    # 提交数据库变更
    conn.commit()

    # 关闭连接
    conn.close()

截图说明

截图展示了GCP Cloud Function的测试界面,界面提示“需要提供JSON格式的请求体”,输入区域为空,等待用户输入对应内容。

解决方案

1. 快速测试:传入空JSON即可触发现有逻辑

当前函数里的插入数据是硬编码的,不需要用传入的JSON内容,但GCP的HTTP触发器默认要求请求体为JSON格式。你只需要在测试界面的请求体输入框里输入{}(空JSON对象),就能满足系统要求,触发函数执行硬编码的数据插入操作。

另外注意:你的函数定义用了self参数,这是类方法的写法,建议改成普通函数形式(去掉self,换成request参数,符合GCP Cloud Function的HTTP触发器规范),修改后的函数头:

def hello_world(request):

2. 动态插入:通过传入JSON传递数据

如果想让函数根据传入的JSON动态插入数据,可以修改函数逻辑,从请求中获取JSON数据:

def hello_world(request):
    # 获取请求中的JSON数据
    request_json = request.get_json()
    # 校验数据是否存在
    if not request_json or 'data' not in request_json:
        return '请求中缺少data字段', 400

    # 建立数据库连接
    conn = psycopg2.connect(
        database='somedb',
        user='someuser',
        password='somepwd',
        host='XX.XXX.XXX.XXX',
        port='5432'
    )
    cursor = conn.cursor()

    # 使用传入的数据进行插入
    data = request_json['data']
    for d in data:
        cursor.execute("INSERT into employee(name, state) VALUES (%s, %s)", d)

    conn.commit()
    conn.close()
    return '数据插入成功', 200

此时测试时需要传入包含data字段的JSON,示例内容:

{
    "data": [
        ["Babita", "Bihar"],
        ["Anushka", "Hyderabad"]
    ]
}

内容的提问来源于stack exchange,提问作者P Kernel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:35:15