如何在googlecloud函数中正确使用python3导入

2024-10-02 10:21:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个简单的函数来检查一个网址的状态和404重定向。这个应用程序在Flask localhost中运行良好,但当我将其移动到Google云函数时,我不断得到“错误:无法处理请求”。这就是我在Cloud函数和localhost上的参数完全相同的时候。你知道吗

从Flask导入“重定向”是否有问题?你知道吗

GCLOUD代码:不工作

from flask import Flask, redirect
from flask import request
import requests


def urlincoming():
    custID = request.args['custID']
    token = request.args['token']
    custEmail = request.args['custEmail']
    storeDomain = request.args['domain']
    adminEmail = request.args['adminEmail']
    baseUrl = f"{storeDomain}/account/reset/{custID}/{token}"
    baseUrlFailedAuth = f"{storeDomain}/account/invalid_token"
    requestBaseUrl = requests.head(baseUrl)
    if(requestBaseUrl.status_code == 200):
        return redirect(baseUrl)
    else:
        return redirect(baseUrlFailedAuth)

LOCALHOST代码:工作

from flask import Flask, redirect
from flask import request
import requests

app = Flask(__name__)


@app.route('/urlincoming')
def urlincoming():
    custID = request.args['custID']
    token = request.args['token']
    custEmail = request.args['custEmail']
    storeDomain = request.args['domain']
    adminEmail = request.args['adminEmail']
    baseUrl = f"{storeDomain}/account/reset/{custID}/{token}"
    baseUrlFailedAuth = f"{storeDomain}/account/invalid_token"
    requestBaseUrl = requests.head(baseUrl)
    if(requestBaseUrl.status_code == 200):
        return redirect(baseUrl)
    else:
        return redirect(baseUrlFailedAuth)

Tags: fromimporttokenflaskrequestargsaccountrequests
2条回答
from flask import redirect
import requests


def urlincoming(request):

我可以通过添加请求作为参数来解决问题,但我不确定它为什么有效:/

所有谷歌云功能都需要有以下两个签名之一:

HTTP函数:

function_name(request):
    ...

后台功能:

function_name(data, context):
    ...

根据要创建的函数类型,需要添加requestdata, context参数。你知道吗

相关问题 更多 >

    热门问题