I have made a REST API for my Ubuntu machine on Google Cloud. How can I connect this API with public IP address?
In the below code I am uploading image file in multipart/form-data format.
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()
It start on 127.0.0.1:5000 how make it on public IP.
 
    