[英]How to serve REST API on Google Cloud?
我在 Google Cloud 上为我的 Ubuntu 机器制作了一个 REST API。 如何将此 API 与公共 IP 地址连接?
在下面的代码中,我以 multipart/form-data 格式上传图像文件。
from flask import Flask, url_for, send_from_directory, request
import logging, os
# from werkzeug import secure_filename
import werkzeug
app = Flask(__name__)
file_handler = logging.FileHandler('server.log')
app.logger.addHandler(file_handler)
app.logger.setLevel(logging.INFO)
PROJECT_HOME = os.path.dirname(os.path.realpath(__file__))
UPLOAD_FOLDER = '{}/uploads/'.format(PROJECT_HOME)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
def create_new_folder(local_dir):
newpath = local_dir
if not os.path.exists(newpath):
os.makedirs(newpath)
return newpath
@app.route('/Classifier01', methods = ['POST'])
def api_upload():
app.logger.info(PROJECT_HOME)
if request.method == 'POST':
app.logger.info(app.config['UPLOAD_FOLDER'])
#get image and save in ../uploads
img = request.files['image']
img_name = werkzeug.secure_filename(img.filename)
create_new_folder(app.config['UPLOAD_FOLDER'])
saved_path = os.path.join(app.config['UPLOAD_FOLDER'], img_name)
app.logger.info("saving {}".format(saved_path))
img.save(saved_path)
#do some processing here
return "I got your image"
else:
return "Where is the image?"
if __name__ == '__main__':
app.run()
它从127.0.0.1:5000开始,如何在公共 IP 上创建它。
首先,启动您的应用程序以侦听 VM 的接口 -> 像这样运行app.run(host='0.0.0.0')
那么,你有2个解决方案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.