Как отправить информацию (данные) с сервера (клиента) FastAPI на другой FastAPI (модель)Python

Программы на Python
Гость
Как отправить информацию (данные) с сервера (клиента) FastAPI на другой FastAPI (модель)

Сообщение Гость »


Я новичок в RESTful API...

поэтому я пытаюсь развернуть два сервера (клиент и модель). Основная идея:
[*]Клиент загружает свои изображения на клиентский сервер, клиентский сервер (порт 8000) выполнит некоторые преобразования. [*]затем я хочу, чтобы клиентский сервер отправил сообщение (с преобразованными данными) на другой сервер (также используя FastAPI через порт 8008).
В настоящее время я борюсь с клиент-серверной частью, как отправить сообщение на другой сервер?
# Определить приложение Flask приложение = ФастAPI() app.mount("/static", StaticFiles(directory="static"), name="static") шаблоны = Jinja2Templates(directory="./templates") происхождение = ["*"] методы = ["*"] заголовки = ["*"] app.add_middleware( CORSПромежуточное ПО, allow_origins = происхождение, allow_credentials = Истина, разрешить_методы = методы, allow_headers = заголовки ) @app.get('/', response_class=HTMLResponse) корень защиты (запрос: Запрос): вернуть шаблоны.TemplateResponse("index.html", {"request": request}) #render_template('index.html') #здесь клиент загрузит свое изображение на сервер #а затем зашифровать его той же кнопкой @app.post('/encrypt', status_code=200) async def upload_img(f: UploadFile = File(...)): Рет = {} logger.debug(f) #base_path = "загрузки" # имя файла = "predict.jpg" f.filename = "predict.jpg" base_path = os.path.dirname(__file__) file_path = os.path.join(base_path, 'uploads',secure_filename(f.filename)) os.madeirs(base_path,exist_ok=True) пытаться: с open(file_path, "wb") в качестве буфера: Shutil.copyfileobj(f.file, буфер) кроме исключения как e: print("Ошибка: {}".format(str(e))) image_info = {"имя_файла": f.имя_файла, "изображение": f} #предварительная обработка изображения Plain_input = load_input (f) #создаем публичный контекст и удаляем sk ctx, sk = create_ctx() #шифровать enc_input = submit_input(ctx, Plain_input) enc_input_serialize = enc_input.serialize() # la tu dois faire un post auserveur возврат СК класс inference_param (BaseModel): контекст: байты enc_input: байты @app.post("/data") #отправляем данные на сервер модели асинхронная защита send_data (данные: inference_param): возвращать данные

Вернуться в «Python»