這篇文章主要介紹了如何將fodi后端部署到cloudbase,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)公司是一家企業(yè)級(jí)云計(jì)算解決方案提供商,超15年IDC數(shù)據(jù)中心運(yùn)營(yíng)經(jīng)驗(yàn)。主營(yíng)GPU顯卡服務(wù)器,站群服務(wù)器,達(dá)州服務(wù)器托管,海外高防服務(wù)器,成都機(jī)柜租用,動(dòng)態(tài)撥號(hào)VPS,海外云手機(jī),海外云服務(wù)器,海外服務(wù)器租用托管等。
用cloudbase-cli提交backend-py:
{ "envId": "default-4gpm7vnrb911600e", "functionRoot": "functions", "functions": [{ "name": "fodi", //fodi就是backend-py "timeout": 6, "runtime": "Python3.6", "memorySize": 128, "installDependency": true, "handler": "index.main_handler" }] }
以下保證要使用https://xxxx.service.tcloudbase.com/fodi形式的調(diào)用路徑(后臺(tái)的接入路徑定義):
def router(event): """對(duì)多個(gè) api 路徑分發(fā) """ door = 'https://' + event['headers']['host'] print('door:'+door) func_path = '' #event['requestContext']['path'] //置空 print('func_path:'+func_path) api = event['path'].replace(func_path, '').strip('/') api_url = door + '/fodi' + event['path'] //加一個(gè)fodi串 queryString = event['queryStringParameters'] //這里改 body = None ......
弄好后,訪問(wèn)上面的接入路徑,僅/fodi,輸出path error和后面一長(zhǎng)串東西就代表服務(wù)器搭建正常,
然后就是那個(gè)refreshtoken的獲取,http://scfonedrive.github.io已經(jīng)掛掉了,我們可以自建,先在某網(wǎng)站下建一個(gè)get.html:
Error
Please set the
如果是國(guó)際版url換成: url="https://login.microsoftonline.com/common/oauth3/v2.0/authorize?scope=https%3A%2F%2Fgraph.microsoft.com%2FFiles.ReadWrite.All+offline_access&response_type=code&client_id=4da3e7f2-bf6d-467c-aaf0-578078f0bf7c&redirect_uri=https://scfonedrive.github.io&state="+encodeURIComponent(url);refresh_token
in environments
Get a refresh_tokenallow javascript
再在根下建一個(gè)index.html
OneManager jump page No link here!
If not auto jump, click the link to jump.
如果長(zhǎng)時(shí)間未跳轉(zhuǎn),請(qǐng)點(diǎn)擊上方鏈接繼續(xù)安裝。
把get中scfonedrive.github.io換成你的index.html所在的網(wǎng)站地址,(之后保證把py后端中用于認(rèn)證的地址和那個(gè)clientid,clientsecret替換用你自己新建的一個(gè),具體方法見(jiàn)我前面的一些文章)
調(diào)用后結(jié)果顯示在url中(整個(gè)頁(yè)面顯示404是沒(méi)有處理結(jié)果的php后端,除非你把https://github.com/qkqpttgf/OneDrive_SCF部署在index.html所在的網(wǎng)站),分辨復(fù)制即可。
安排好后端和refreshtoken后,調(diào)用接入路徑/fodi/fodi/,輸出看到其輸出的加密的json結(jié)果,就代表refreshtoken也正常了。 開(kāi)始部署前端,可以另外一個(gè)網(wǎng)站,能托管html的就行。也可以在后端另起一函數(shù),部署如下index.py:
#!/usr/bin/env python # -*- coding:utf-8 -*- def main_handler(event, context): f = open("./front.html", encoding='utf-8') html = f.read() return { "isBase64Encoded": False, "statusCode": 200, "headers": {'Content-Type': 'text/html; charset=utf-8'}, "body": html }
front.html當(dāng)然是配置好的那個(gè)前端文件。
如果你fodi前端調(diào)用發(fā)生for each,length之類的提示錯(cuò)誤,往往是refresh token沒(méi)獲取對(duì)。如果發(fā)生跨域錯(cuò)誤(chrome f12可看到),則在后端面板中需要配置一條客戶端網(wǎng)站的安全域名。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何將fodi后端部署到cloudbase”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!