Supabase Storage 現已正式成為 S3 相容儲存提供者。這是最受歡迎的功能之一,現已在公共 alpha 版本中提供。可斷點續傳上傳也從測試版過渡到普遍可用。
https://supabase.com/ga-week ⚡️ 了解有關 GA 週的更多資訊
Supabase 儲存引擎是完全開源的,是為數不多的提供 3 種可互通協定來管理檔案的儲存解決方案之一:
我們始終努力在 Supabase 採用業界標準。支援標準使工作負載可移植,這是一個關鍵的產品原則。 S3 API 無疑是一種儲存標準,我們正在讓各種經驗水平的開發人員都可以使用它。
S3 協定向後相容我們的其他 API。如果您已經透過我們的 REST 或 TUS API 使用存儲,現在您可以使用任何 S3 用戶端與您的儲存桶和檔案進行互動:使用 TUS 上傳、使用 REST 提供服務以及使用 S3 協定管理它們。
該協議適用於雲端、本地開發和自託管。在我們的文件中查看 API 相容性
要使用 Supabase S3 進行身份驗證,您有 2 個選項:
1-標準access_key
和secret_key
憑證。您可以從儲存設定頁面產生這些。這種身份驗證方法與支援S3協定的工具廣泛相容。它也只能在伺服器端使用,因為它提供對儲存資源的完全存取。
我們將在不久的將來加入可以存取特定儲存桶的範圍存取金鑰憑證。
2-使用 RLS 的使用者範圍憑證。這利用了所有 Supabase 服務中廣泛採用的概念:行級安全性。它允許您透過將儲存操作範圍限定到特定的經過身份驗證的使用者或角色來與 S3 協定進行交互,同時尊重您現有的 RLS 策略。此方法是透過使用 S3 協定支援的會話令牌標頭來實現的。您可以在文件中找到有關如何使用會話令牌機制的更多資訊。
在 S3 協定的支援下,您現在可以透過提供一對可以隨時撤銷的憑證將 Supabase Storage 連接到許多第三方工具和服務。
您可以使用流行的工具進行備份和遷移,例如:
AWS CLI :官方 AWS CLI
rclone :用於管理雲端儲存上的檔案的命令列程式。
Cyberduck :適用於 Mac 和 Windows 的雲端儲存瀏覽器。
以及任何其他 s3 相容工具。
請在此處查看我們的 Cyberduck 指南。
S3 相容性為資料工程師提供了一個很好的原語。您可以將它與許多流行的工具一起使用:
ClickHouse 等資料倉儲
查詢引擎,如 DuckDB、Spark、Trino 和 Snowflake 外部表
資料載入器,例如 Fivetran 和 Airbyte
在此範例中,我們出色的資料分析師 Tyler 示範如何將 Parquet 檔案儲存在 Supabase Storage 中並使用 DuckDB 直接查詢它們:
除了標準上傳和斷點續傳之外,我們現在還支援透過 S3 協定進行分段上傳。這使您可以透過並行上傳區塊來最大化上傳吞吐量,然後將區塊連接到最後。
隨著平台 GA 的發布,我們也很高興地宣布可斷點上傳也普遍可用。
可斷點上傳由TUS 協定提供支援。與啟迪團隊的密切合作,到達這裡的旅程非常有意義。大力讚揚 TUS 協議的維護者@murderlon和@acconut ,感謝他們在開源方面的協作方式。
Supabase 貢獻了 TUS Spec 的 Node 實現的一些高級功能,包括分散式鎖定、最大檔案大小、過期擴展和大量錯誤修復:
這些功能對於 Supabase 至關重要,並且由於TUS 節點伺服器是開源的,因此它們也可供您使用。這是另一個核心原則:只要有可能,我們就會使用和支援現有工具,而不是從頭開始開發。
跨儲存桶傳輸:我們新增了跨儲存桶複製和移動物件的功能,而以前您只能在同一個 Supabase 儲存桶中執行這些操作。
標準化錯誤程式碼:錯誤程式碼現已在整個儲存伺服器上標準化,現在可以更輕鬆地針對特定錯誤進行邏輯分支。您可以在此處找到錯誤程式碼清單。
多租戶遷移:我們對所有租戶中執行的遷移進行了重大改進。這減少了整個佇列的遷移錯誤,並使我們能夠以非同步方式執行長時間執行的遷移。請繼續關注包含更多詳細資訊的單獨部落格文章。
解耦依賴:儲存與其他 Supabase 產品完全解耦,這意味著您可以將儲存作為獨立服務執行。開始使用這個docker-compose 檔案。
在我們的文件中查看 S3 API 相容性
了解S3 身份驗證
嘗試使用 Cyberduck 進行 S3:遵循我們的整合指南
嘗試使用 DuckDB 進行 S3:按照YouTube 上的指南進行操作
更多關於 GA 週的訊息
原文出處:https://dev.to/supabase/supabase-storage-now-supports-the-s3-protocol-3479