#python #azure #azure-functions
#python #azure #azure-функции
Вопрос:
Предположим, у меня есть API для регистрации. Я хочу получить данные из запроса и проверить их в функции Util, которую я написал и поместил в другой каталог (см. API регистрации и мой каталог Util на рисунке). Если проверка завершится неудачей, я хочу вернуть HTTP-ответ непосредственно из этой функции Util. Как я могу этого добиться?
В init.py
from utils.common_utils import validate
def main(req: func.HttpRequest) -> func.HttpResponse:
req_body = validate(req)
# other stuff
return func.HttpResponse("ok", status_code=200)
и в моей утилитарной функции (функция проверки)
def validate(input):
if ...:
return func.HttpResponse("check your input", status_code=406)
Комментарии:
1. Я не думаю, что это может быть реализовано только с помощью кода в
validate
функции, вы не могли бы добавить некоторый код в основную функцию?
Ответ №1:
Насколько я знаю, я не думаю, что он может возвращаться HttpResponse
непосредственно из этой функции Util и выходить из основной функции. В вашем коде вы можете просто вернуться HttpResponse
к req_body
, а затем выполнить следующий код функции main .
Но я думаю, что если вы напишете код, подобный приведенному ниже, он также может соответствовать вашим требованиям. Это то же самое.
def main(req: func.HttpRequest) -> func.HttpResponse:
req_body = validate(req)
if req_body.status_code == 406:
return req_body
return func.HttpResponse("ok", status_code=200)
Комментарии:
1. Кажется, у меня нет другого варианта, поэтому я продолжаю двигаться вперед, как и вы, спасибо.
2. @MohammadGhorbani Спасибо за ваш голос, не могли бы вы также отметить его как «принятый», еще раз спасибо.