跳至主要內容
全部系列開放平台APIAPI開發課程
4.2 服務端部署案例講解
4.2 服務端部署案例講解
4 個月前已更新

本節要點

  • 服務端部署實例(定時框架)

  • 服務端部署案例(前端事件)

  • 服務端部署案例(Webhook)

課前準備

課程內容

後端應用實例(定時框架)

import json from apscheduler.schedulers.blocking import BlockingScheduler import requests  def get_jdy_data():     url = "https://www.jiandaoyun.com/api/v1/app/5afe2461743ef87fde26a894/entry/5c12198c99b0d10dc49edfff/data"     payload  = {}     headers = {       'Authorization': 'Bearer ????????????????????'     }     response = requests.request("POST", url, headers=headers, data = payload)     print(response.text)   if __name__ == '__main__':     scheduler = BlockingScheduler()     scheduler.add_job(get_jdy_data, 'cron', day_of_week='*' ,hour='14', minute='05', second='00')     scheduler.start() 

後端應用實例(前端事件)

類型

參數

資料格式

傳入參數

x

JSON

返回參數

y

JSON

from flask import Flask,request import json  app = Flask(__name__)         def calc(x):     y = x + 10     return y  @app.route('/test/' ,methods=['POST']) def hello_world():     x = json.loads(request.data)['x']     y = calc(int(x))          return json.dumps({'y':y})  if __name__ == '__main__':     app.run(host='0.0.0.0',port=3100) 

服務端部署案例(Webhook)

from flask import Flask,request import json import threading  app = Flask(__name__)         def calc(x):     y = x + 10     print(y)  @app.route('/test/' ,methods=['POST']) def hello_world():     x = json.loads(request.data)['data']['_widget_1586252392790']     threading.Thread(target=calc,args=(int(x),)).start()     return 'success',200  if __name__ == '__main__':     app.run(host='0.0.0.0',port=3100) 

課後作業

編程題作業

作業一:使用前端事件功能實現體積計算(v=xyz)(3分)截圖Python程式碼 提示:在表單中新增4個控件(x,y,z,v),輸入x,y,z後(z為前端事件觸發欄位) 觸發前端事件調用API計算並回寫v

作業二:使用Webhook實現體積計算(v=xyz)(3分)截圖Python程式碼 提示:在表單中新增4個控件(x,y,z,v),輸入x,y,z後送出資料觸發Webhook,推播至ECS計算體積,計算v後使用資料API回寫至對應的資料

from flask import Flask,request import json import threading import requests  app = Flask(__name__)         def post_to_jdy(v,data_id):     pass  def calc(x,y,z,data_id):     pass  @app.route('/test/' ,methods=['POST']) def hello_world():     x = json.loads(request.data)['data']['_widget_1586252719049']     y = json.loads(request.data)['data']['_widget_1586252719064']     z = json.loads(request.data)['data']['_widget_1586252719079']     data_id = json.loads(request.data)['data']['_id']     threading.Thread(target=calc,args=(float(x),float(y),float(z),data_id,)).start()     return 'success',200  if __name__ == '__main__':     app.run(host='0.0.0.0',port=3100) 

是否回答了您的問題?