雲棲號資訊:【點擊查看更多行業資訊】
在這裏您能夠找到不一樣行業的第一手的上雲資訊,還在等什麼,快來!
python
要點mysql
將一個長url生成一個短連接是很常見的需求,本文嘗試經過serverless的方式來提供這個功能,主要有兩部份內容:sql
1.一個簡單的短連接生成方案數據庫
2.scf函數如何使用第三方依賴庫json
如何生成短連接less
這裏使用了一個很簡單的方案,提交url時,先經過mysql的自增id獲取一個整數,表結構大體以下:函數
這樣insert數據的時候,id會自增,獲取到這個自增的整數值,而後使用hashids這個庫將這個id轉換爲一個短字符串:post
hashids.org/python/測試
將這個短字符串做爲短網址域名的路徑就可使用了。url
scf如何使用第三方庫
因爲使用到了hashids這個第三方庫,就須要將這個庫也打包一塊兒上傳,這裏須要注意的要點就是安裝hashids庫的命令:
注意後面的 -t 參數,將依賴庫安裝在雲函數的代碼所在的目錄,這樣在使用scf命令打包上傳時,依賴庫也會被一塊兒上傳
直接貼代碼
測試
在本地建立一個測試數據文件,event.json:
本地測試驗證:
將返回的短字符串拼接到你想使用的域名後面,就能夠得到一個本身的短網址生成器了:
須要注意的問題
經嘗試,這個sdk裏面獲取到的cousor對象沒法獲取lastrowid,也就是取不到每次插入記錄後的自增id,因此這裏自行使用pymysql來操做數據庫,因此務必記得在最後要手動關閉連接。
【雲棲號在線課堂】天天都有產品技術專家分享!
課程地址:https://yqh.aliyun.com/live當即加入社羣,與專家面對面,及時瞭解課程最新動態!
【雲棲號在線課堂 社羣】https://c.tb.cn/F3.Z8gvnK
原文發佈時間:2020-05-10
本文做者:thor_lee
本文來自:「掘金,瞭解相關信息能夠關注「掘金」