iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
生成式 AI

AI的雲上漫遊系列 第 19

Day19 FastAPI調整雲端元件實作 - Cloud Storage

  • 分享至 

  • xImage
  •  

首先先創建一個CLoud Storage,按下建立之後選擇禁止公開存取!這很重要不然每一個GB都是算錢的!!
https://ithelp.ithome.com.tw/upload/images/20240920/201060947RH9cIVdjC.png

我們先試做一個API接口把他上傳到Storage上,設定好.env BUCKET_NAME及init storage,解釋一下程式,給他一個bucket 名稱讓他去找到我專案底下的bucket並且已存在,還需要先寫好一個路徑f'uploads/{file.filename}' 這個意思就是會幫我產生一個uploads的資料夾,裡面會有這個檔案名稱,最後做一個上傳的動作,return 一個file name及檔案位置!

from google.cloud import storage

BUCKET_NAME=os.getenv('BUCKET_NAME')

storage_client = storage.Client()

@app.post("/upload_gcs")
async def upload_gcp(file: UploadFile = File(...)):
    bucket = storage_client.bucket(BUCKET_NAME)
    blob_path = f'uploads/{file.filename}'
    blob = bucket.blob(blob_path)
    blob.upload_from_file(file.file, content_type=file.content_type)
    return {"msg:" f"{file.filename}, path: {blob_path}"}

再來測試一下這個API是否有打通~
https://ithelp.ithome.com.tw/upload/images/20240920/20106094ZUyYgi621M.png

https://ithelp.ithome.com.tw/upload/images/20240920/20106094Ulf7cL3JUX.png

測試之後看起來是沒有問題的啦! 這邊要注意一下,上傳一樣的路徑及名字是會直接覆蓋過去的,那有上傳也會有刪除功能,並且有些組合技可以做出一些操作如copy到另一個bucket或者是改檔名等,詳細的話可以看一下API實作文件!indexing會再我們後續大調整之後做一個整合!

參考資料:https://cloud.google.com/python/docs/reference/storage/latest


上一篇
Day18 Cloud Storage介紹
下一篇
Day20 Cloud SQL介紹
系列文
AI的雲上漫遊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言