附加 Blob 密封
作業的目的是 Append Blob Seal
允許使用者和應用程式密封附加 Blob,並將其標示為唯讀。 本檔概述此功能的建議 REST API 規格。
要求
您可以建構 Append Blob Seal
要求,如下所示。 建議使用 HTTPS。 使用您的儲存體帳戶名稱取代 myaccount
。
PUT 方法要求 URI | HTTP 版本 |
---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=seal |
HTTP/1.1 |
標題
Append Blob Seal
會傳回常見的 API 標頭, ETag
/LMT
(上次修改的時間) 、、content-length
x-ms-version
x-ms-request-id
、 和 。Date
Append Blob Seal
不會變更 ETag
/LMT
。
回應標頭 | 值 | 描述 |
---|---|---|
x-ms-blob-sealed |
true/false | 選擇性。 預設為 False。 如果 Blob 已密封,當您密封並取得 Blob 的屬性時,回應中會包含此標頭。 此標頭應該會出現在 、GetBlobProperties 、 AppendBlobSeal 和 ListBlobs 中GetBlob ,用於附加 Blob。 |
查詢參數
沒有其他 URI 參數。
要求本文
無。
回應
回應包含 HTTP 狀態代碼和回應標頭清單。
狀態碼
您可能會收到下列任何狀態代碼:
200 (成功) :Blob 已密封。 呼叫是等冪的,如果 Blob 已經密封,就會成功。
409 (InvalidBlobType) :如果呼叫位於現有的分頁 Blob 或區塊 Blob 上,服務會傳回此狀態代碼。
404 (BlobNotFound) :如果呼叫位於不存在的 Blob 上,服務會傳回此狀態代碼。
授權
在 Azure 記憶體中呼叫任何數據存取作業時,需要授權。 您可以授權 Append Blob Seal
作業,如下所述。
重要
Microsoft 建議使用 Microsoft Entra ID 搭配受控識別來授權對 Azure 記憶體的要求。 相較於共用密鑰授權,Microsoft Entra ID 提供更高的安全性和易於使用性。
Azure 記憶體支援使用 Microsoft Entra ID 來授權 Blob 數據的要求。 使用 Microsoft Entra ID,您可以使用 Azure 角色型存取控制 (Azure RBAC) 授與安全性主體的許可權。 安全性主體可能是使用者、群組、應用程式服務主體或 Azure 受控識別。 安全性主體是由 Microsoft Entra ID 驗證,以傳回 OAuth 2.0 令牌。 權杖接著可以用來授權對 Blob 服務的要求。
若要深入瞭解使用 Microsoft Entra ID 授權,請參閱使用 Microsoft Entra ID 授權 Blob 的存取權。
權限
以下列出 Microsoft Entra 使用者、群組、受控識別或服務主體呼叫Append Blob Seal
作業所需的 RBAC 動作,以及包含此動作的最低特殊許可權 Azure RBAC 角色:
- Azure RBAC 動作:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
- 最低特殊許可權的內建角色:記憶體 Blob 數據參與者
若要深入瞭解如何使用 Azure RBAC 指派角色,請參閱 指派 Azure 角色以存取 Blob 數據。
備註
如果附加 Blob 有租用,您需要租用標識符來密封 Blob。
密封 Blob 之後,您仍然可以更新屬性、Blob 索引標籤和元數據。 虛刪除密封的 Blob 會保留密封狀態。 您可以覆寫密封的 Blob。
如果您擷取密封 Blob 的快照集,快照集會包含密封旗標。 針對新版本中的現有快照集,Microsoft 會傳回 屬性。
當您複製密封 Blob 時,預設會傳播密封旗標。 標頭會公開,允許覆寫旗標。
新的 XML 專案將會新增至 ListBlob
名為 的 Sealed
回應。 這個值可以是 true
或 false
。
如果您在已密封的 Blob 上呼叫 AppendBlock
,服務會傳回下表所示的錯誤訊息。 這適用於舊版的 API。
錯誤碼 | HTTP 狀態碼 | 使用者訊息 |
---|---|---|
BlobIsSealed | 衝突 (409) | 指定的 Blob 是密封的,除非在刪除之後重新建立 Blob,否則無法修改其內容。 |
如果您在已經密封的附加 Blob 上呼叫 Append Blob Seal
,您只會看到狀態代碼 200 (Success) 。
計費
定價要求可能源自使用 Blob 記憶體 API 的用戶端,無論是直接透過 Blob 記憶體 REST API,還是來自 Azure 記憶體用戶端連結庫。 這些要求會累算每個交易的費用。 交易類型會影響帳戶的收費方式。 例如,讀取交易會累算到與寫入交易不同的計費類別。 下表根據記憶體帳戶類型顯示要求的計費類別 Append Blob Seal
:
作業 | 儲存體帳戶類型 | 計費類別 |
---|---|---|
附加 Blob 密封 | 進階區塊 Blob 標準一般用途 v2 標準一般用途 v1 |
寫入作業 |
若要瞭解指定計費類別的定價,請參閱 Azure Blob 儲存體 定價。