設定 Blob 不變性原則

作業 Set Blob Immutability Policy 會在 Blob 上設定不變性原則。 此作業不會更新 Blob 的 ETag。 自 2020-06-12 版起,此 API 可供使用。

要求

Set Blob Immutability Policy 要求的建構如下。 建議您使用 HTTPS。 以記憶體帳戶的名稱取代 myaccount ,並將 myblob 取代為要變更不變性原則的 Blob 名稱。

方法 要求 URI HTTP 版本
PUT https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=immutabilityPolicies HTTP/1.1

URI 參數

您可以在要求 URI 上指定下列其他參數:

參數 描述
snapshot 選擇性。 快照集參數是不透明的 DateTime 值,當它存在時,會指定要設定層的 Blob 快照集。 如需使用 Blob 快照集的詳細資訊,請參閱 建立 Blob 的快照集
versionid 2019-12-12 版和更新版本的選擇性。 參數 versionid 是不透明的 DateTime 值,當它存在時,會指定要設定階層的 Blob 版本。
timeout 選擇性。 timeout 參數以秒為單位。 如需詳細資訊,請參閱 設定 Blob 記憶體作業的逾時

要求標頭

下表說明必要的和選擇性要求標頭:

要求標頭 描述
Authorization 必要。 指定授權配置、記憶體帳戶名稱和簽章。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
Datex-ms-date 必要。 指定要求的「國際標準時間」(UTC)。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
x-ms-immutability-policy-until-date 必要。 指出在 Blob 上設定日期之前的 保留 期。 這是可以保護 Blob 免於修改或刪除的日期。 針對 Blob 記憶體或一般用途 v2 帳戶,有效值的格式為 RFC1123。 過去時間無效。
x-ms-immutability-policy-mode 選擇性。 如果未指定,預設值為 Unlocked。 指出在 Blob 上設定的不變性原則模式。 對於 Blob 記憶體或一般用途 v2 帳戶,有效值為 Unlocked/Lockedunlocked 表示使用者可能會藉由增加或減少 保留期直到日期來 變更原則。 locked 表示禁止這些動作。
x-ms-version 所有授權要求都需要。 指定用於這個要求的作業版本。 如需詳細資訊,請參閱 Azure 儲存體服務的版本
x-ms-client-request-id 選擇性。 提供客戶端產生的不透明值,其中包含 1-kibibyte (KiB) 設定記錄時記錄在記錄中的字元限制。 強烈建議您使用此標頭,將用戶端活動與伺服器收到的要求相互關聯。 如需詳細資訊,請參閱監視 Azure Blob 儲存體

這項作業也支援使用條件式標頭,只有在符合指定的條件時,才能設定 Blob。 如需詳細資訊,請參閱 指定 Blob 記憶體作業的條件式標頭

要求本文

無。

回應

回應包括 HTTP 狀態碼和一組回應標頭。

狀態碼

成功的作業會傳回狀態碼 200 (OK)。

如需狀態代碼的相關信息,請參閱 狀態和錯誤碼

回應標頭

此作業的回應包含下列標頭。 回應也可能包括其他標準 HTTP 標頭。 所有標準標頭都符合 HTTP/1.1 通訊協議規格

回應標頭 描述
x-ms-request-id 可唯一識別已提出的要求,並可用來對要求進行疑難解答。 如需詳細資訊,請參閱 針對 API 作業進行疑難解答
x-ms-version 指出用來執行要求的 Blob 記憶體版本。 針對針對 2009-09-19 版和更新版本提出的要求傳回。
x-ms-client-request-id 可用來針對要求和對應的回應進行疑難解答。 如果此標頭存在於要求中,則此標頭的值等於標頭的值 x-ms-client-request-id ,且值不包含超過 1,024 個可見的 ASCII 字元。 x-ms-client-request-id如果要求中沒有標頭,則不會出現在回應中。
x-ms-immutability-policy-until-date 指出 Blob 上要設定的 保留日期 。 這是可以保護 Blob 免於修改或刪除的日期。
x-ms-immutability-policy-mode 指出在 Blob 上設定的不變性原則模式。 值為 unlockedlocked。 值unlocked 表示使用者可能會藉由增加或減少 保留期限 來變更原則,並 locked 指出禁止這些動作。

授權

在 Azure 記憶體中呼叫任何數據存取作業時,需要授權。 您可以授權 Set Blob Immutability Policy 作業,如下所示。

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 使用者、群組或服務主體呼叫Set Blob Immutability Policy作業所需的 RBAC 動作,以及包含此動作的最低特殊許可權 Azure RBAC 角色:

若要深入瞭解如何使用 Azure RBAC 指派角色,請參閱 指派 Azure 角色以存取 Blob 數據

備註

在 Blob 記憶體或一般用途 v2 帳戶上設定 Blob 不變性原則具有下列限制:

  • 自 REST 版本 2020-06-12 起,允許在快照集或版本上設定不變性原則。
  • 當不變性原則處於 unlocked 模式時,使用者可以更新 保留期直到 日期為止。 當不變性原則處於 locked 模式時,用戶可以延長 保留期,直到 日期為止。 不變性原則模式可以從 變更 unlockedlocked,但無法從 變更 lockedunlocked
  • 當 Blob 上有不變性原則,而且容器或帳戶上也有預設不變性原則時,Blob 不變性原則會優先使用。
  • 對於 Blob 層級不變性原則,允許作業, PutBlockList/PutBlob/CopyBlob 因為這些作業會產生新版本。
  • 當不變性原則處於 unlocked 模式時,使用者可以使用下列 API 來刪除不變性原則:
方法 要求 URI HTTP 版本
Delete https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=immutabilityPolicies HTTP/1.1

注意

如需詳細資訊,請參閱 固定記憶體

計費

定價要求可能源自使用 Blob 記憶體 API 的用戶端,無論是直接透過 Blob 記憶體 REST API,還是來自 Azure 記憶體用戶端連結庫。 這些要求會累算每個交易的費用。 交易類型會影響帳戶的收費方式。 例如,讀取交易會累算到與寫入交易不同的計費類別。 下表根據記憶體帳戶類型顯示要求的計費類別 Set Blob Immutability Policy

作業 儲存體帳戶類型 計費類別
設定 Blob 不變性原則 進階區塊 Blob
標準一般用途 v2
標準一般用途 v1
其他作業

若要瞭解指定計費類別的定價,請參閱 Azure Blob 儲存體 定價

另請參閱

授權對 Azure 記憶體的要求
狀態和錯誤碼
Blob 記憶體錯誤碼
設定 Blob 記憶體作業的逾時