Azure NetApp Files 物件 REST API 允許基於物件存取儲存在 Azure NetApp Files 卷中的資料。 此功能允許應用程式使用基於檔案的協定(NFS/SMB)與物件 API(S3相容)存取同一資料集,而無需重複或遷移資料。
這種統一存取模式允許現有的檔案資料直接用於分析、人工智慧及現代應用工作流程,而無需獨立的儲存系統、資料轉換解決方案或資料副本。
關鍵概念
桶
貯體代表磁碟區內目錄的對應視圖,並作為物件型存取的進入點使用。
- 貯體與磁碟區相關聯。
- 刪除磁碟區會永久刪除相關聯的貯體。
物件
映射目錄階層中的每個檔案都以一個物件表示。
- 物件名稱是根據相對於映射目錄的檔案路徑推導而來。
- 物件操作直接作用於檔案內容。
物件 REST API 的運作方式
Azure NetApp Files 將磁碟區內的目錄映射到物件桶,使使用物件存取模式的應用程式與服務能與檔案資料互動。
- 目錄路徑 (包括磁碟區的根目錄) 可公開為貯體。
- 目錄以邏輯前綴形式呈現於一個桶中。
- 每個檔案都以物件形式表示。
- 物件路徑直接對應檔案系統路徑。
- 目錄邊界以
/分隔符表示。 - 物件操作可以讀取、寫入並枚舉資料。
- 物件操作會被轉換成等效的檔案系統操作。
這種映射讓應用程式能利用物件 API 與仍儲存為檔案的資料互動。
架構概觀
下圖說明了同時存取同一 Azure NetApp Files 資料集的檔案與物件:
在此模型中:
- NAS 用戶端與應用程式透過 NFS 或 SMB 存取資料。
- 物件用戶端會透過物件 REST API 存取相同的資料。
- 分析與 AI 服務(如 Azure Databricks、Microsoft Fabric 及 Azure AI 服務)透過物件式存取與 Azure NetApp Files 整合。
- 資料仍儲存在 Azure NetApp Files 卷中。
物件存取工作流程
在高層次,物件 REST API 存取遵循以下流程:
- 貯體是從 Azure NetApp 檔案磁碟區中的目錄建立。
- 應用程式與服務透過物件式 API 連接。
- 物件操作(如讀、寫、列)會被轉換成檔案系統操作。
- 物件 REST API 使用存取金鑰驗證請求,並利用設定的冒充身份來評估檔案存取。
- 資料會回傳給客戶端,不會重複或移動。
此工作流程允許應用程式使用物件 API 存取資料,同時底層儲存仍作為檔案系統運作。
安全性和權限
物件 REST API 引入了桶級權限,這是物件 REST API 專屬的主要存取控制。 桶設定同時定義了在使用物件 REST API 存取資料時所冒充的檔案系統身份。 現有的 NAS 檔案權限仍會根據所模擬的身分強制執行。
- 桶權限定義了物件 REST API 用戶端對桶的唯讀或可讀寫存取權限。
- 認證身份與檔案系統授權身份是不同的概念:
- S3 存取金鑰會驗證貯體的用戶端。
- 桶中設定的模擬身份決定可存取哪些檔案與目錄。
- 每個貯體都會設定一個模擬的檔案系統身分識別:
- NFS 磁碟區使用使用者 ID(UID)和群組 ID(GID)。
- SMB 磁碟區使用使用者帳號。
- 雙通訊協定磁碟區會依所設定的安全性樣式,使用 UID/GID 或使用者帳戶。
- 物件 REST API 要求使用設定的模擬身分識別存取資料。 Azure NetApp Files 磁碟上的標準檔案權限與 ACL 仍會對該身份強制執行。
- 使用者只能存取已設定的冒充身份已透過標準 NFS 或 SMB 權限存取的檔案與目錄。 桶存取並不會自動授予映射目錄或卷內所有物件的存取權限。
- 現有的 NAS ACL 與檔案權限仍具權威性,以取得物件 REST API 存取。 物件 REST API 不會繞過或取代現有的 NAS 存取控制。
- 透過 SMB 與 NFS 協定存取檔案仍沿用現有的認證與授權模式,且未作修改。
- 與物件 REST API 的安全通訊需要為物件 REST API 端點設定 TLS 憑證。
支援的作業
- 清單存儲桶
- ListObjects / ListObjectsV2
- GetObject
- PutObject
- 刪除物件
- HeadObject
常見場景
物件 REST API 啟用了 Azure NetApp Files 的新工作負載模式。
資料分析與人工智慧
資料工程團隊需要分析已儲存在 Azure NetApp Files 卷中的大量資料集。 團隊不將資料集複製到獨立的物件儲存服務,而是直接使用基於物件的工具連接,開始在原地處理資料。 此方法能加速分析工作流程的上線,同時減少儲存重複。
混合與現代化應用
需要同時存取檔案與物件存取的應用程式,可以在同一資料集上操作,而無需維護多份副本。 這使得舊有應用程式與現代服務能夠共存,進而可逐步現代化,同時不中斷現有工作負載。
資料處理管線
資料管線可利用基於物件的工具擷取、轉換及處理資料集,而資料仍儲存在 Azure NetApp Files 中。 這支持與依賴基於物件存取模式的廣泛工具與服務生態系統整合。
需求和考量
使用 Azure NetApp Files 物件 REST API 時,請考慮以下需求與限制:
- Bucket 與磁碟區相關聯,當磁碟區被刪除時,Bucket 也會一併刪除。
- 支援已啟用非經常性存取且具大型磁碟區的貯體。
- Azure NetApp Files 快取磁碟區不支援貯體。
- 貯體需要一個包含現有資料的磁碟區;不支援空磁碟區。
- 憑證生命週期管理是維持對物件 REST API 端點安全存取的必要條件。
- 你負責管理 bucket 憑證的生命週期。
- 啟用所有 Azure Key Vault 的診斷日誌,以確保安全調查時能取得稽核軌跡。
- 配置網路存取控制清單(ACL),以限制 Azure Key Vault 對授權網路的存取,包括 NetApp 虛擬網路及授權客戶虛擬網路。
- 考慮分別使用Azure Key Vault來存放憑證和S3憑證,以符合最低權限安全措施。
- 在可能的情況下,為憑證與 S3 憑證分別設定 Azure Key Vault 存取政策,以維持清晰的操作與安全邊界。
Note
物件 REST API 提供基於物件的檔案資料存取,但不改變資料的實體儲存方式。 基於物件的存取由桶組態與物件存取機制所規範,而檔案存取則持續遵循 SMB 與 NFS 權限模型。