Django有可能將圖像文件存儲在外部對象存儲的不同存儲桶/容器中OpenStack Swift?Django中的多個存儲容器
我有一個與創建正確的方式來通過REST服務請求上傳圖像文件相關的問題。用戶可以通過第一個終端POST'Task'實例,包含名稱,說明,owner_id等等。他還能夠通過另一個終端發佈圖像,這個終端與Task有很多關係。
在我的情況下(服務器已經存在,被設置等),圖像應該存儲在獨特的容器/桶如下所示:owner_id_task_id。與此相關的是,用戶可以上傳具有相同名稱和擴展名但內容不同的文件。
另一部分也將發送到OpenStack Swift中的相同容器中的一個來自Celery worker任務的文件(一些基於上傳文件的處理)。
我的目標是在運行時容器結構中實現動態創建/覆蓋,用於存儲原始圖像以及後期處理的圖像。
任何想法如何解決這個問題?
感謝您的幫助!
它不僅可能,但建議。例如,Heroku建議用戶使用s3作爲靜態文件和媒體文件https://devcenter.heroku.com/articles/s3 django解決方案將使用「whitenoise」,但其更多用於靜態文件,而不是縮放更大文件。 – hansTheFranz
@hansTheFranz更具體:我想上傳OpenStack Swift的圖片到獨特的容器,名爲'{1} _ {2}'。format(user_id,task_id)。我從request請求中獲取的user_id,來自REST請求的task_id。因此容器應該命名爲例如'12_05'或'23_111'。是否有可能做這樣的事情? – sorryMike
我不是OpenStack專家我不能告訴你他們是如何管理容器的名稱策略的,但總的來說,你應該可以像你想要的那樣調用它們。但似乎你想爲每個用戶創建一個容器?我不認爲這是OpenStack的最佳做法。請在問題中告訴我們你想做什麼以及爲什麼。也許你正在尋找一種解決方案,通過其他途徑可以更輕鬆地實現。 – hansTheFranz