設定 Blob 屬性

Set Blob Properties 作業會在 Blob 上設定系統屬性。

要求

Set Blob Properties 要求的建構如下。 建議您使用 HTTPS。 以您的記憶體帳戶名稱取代 myaccount

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

模擬儲存體服務 URI

當您對模擬記憶體服務提出要求時,請將模擬器主機名和 Blob 記憶體埠指定為 127.0.0.1:10000,後面接著仿真的記憶體帳戶名稱:

PUT 方法要求 URI HTTP 版本
http://127.0.0.1:10000/ devstoreaccount1/mycontainer/myblob?comp=properties HTTP/1.1

如需詳細資訊,請參閱使用 Azure 模擬器進行本機 Azure 儲存體開發

URI 參數

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

參數 描述
timeout 選擇性。 timeout 參數以秒為單位。 如需詳細資訊,請參閱 設定 Blob 記憶體作業的逾時

要求標頭 (所有 blob 類型)

下表描述所有 Blob 類型的必要和選擇性要求標頭。

要求標頭 描述
Authorization 必要。 指定授權配置、帳戶名稱和簽章。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
Datex-ms-date 必要。 指定要求的「國際標準時間」(UTC)。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
x-ms-version 所有已授權要求都需要。 指定用於這個要求的作業版本。 如需詳細資訊,請參閱 Azure 儲存體服務的版本
x-ms-blob-cache-control 選擇性。 修改 Blob 的快取控制字串。

如果未在要求上指定此屬性,則會清除 Blob 的屬性。 取得 Blob 屬性的後續呼叫不會傳回此屬性,除非它再次明確設定在 Blob 上。
x-ms-blob-content-type 選擇性。 設定 Blob 的內容類型。

如果未在要求上指定此屬性,則會清除 Blob 的屬性。 取得 Blob 屬性的後續呼叫不會傳回此屬性,除非它再次明確設定在 Blob 上。
x-ms-blob-content-md5 選擇性。 設定 Blob 的 MD5 雜湊。

如果未在要求上指定此屬性,則會清除 Blob 的屬性。 取得 Blob 屬性的後續呼叫不會傳回此屬性,除非它再次明確設定在 Blob 上。
x-ms-blob-content-encoding 選擇性。 設定 Blob 的內容編碼。

如果未在要求上指定此屬性,則會清除 Blob 的屬性。 取得 Blob 屬性的後續呼叫不會傳回此屬性,除非它再次明確設定在 Blob 上。
x-ms-blob-content-language 選擇性。 設定 Blob 的內容語言。

如果未在要求上指定此屬性,則會清除 Blob 的屬性。 取得 Blob 屬性的後續呼叫不會傳回此屬性,除非它再次明確設定在 Blob 上。
x-ms-lease-id:<ID> 如果 Blob 具有作用中租用,則為必要項目。 若要在具有作用中租用的 Blob 執行這項作業,請指定此標頭的有效租用識別碼。
x-ms-client-request-id 選擇性。 提供客戶端產生的不透明值,其中包含設定記錄時記錄的 1 kibibyte (KiB) 字元限制。 強烈建議您使用此標頭,將用戶端活動與伺服器接收的要求相互關聯。 如需詳細資訊,請參閱監視 Azure Blob 儲存體
x-ms-blob-content-disposition 選擇性。 設定 Blob 的 Content-Disposition 標頭。 適用於 2013-08-15 版和更新版本。

響應 Content-Disposition 標頭欄位會傳達如何處理響應承載的其他資訊,並可用來附加其他元數據。 例如,如果設定 attachment為 ,表示使用者代理程式不應該顯示回應,而是改為顯示具有指定 Blob 名稱以外的檔名的 [另存新檔] 對話方塊。

取得 Blob取得 Blob 屬性作業的content-disposition回應包含標頭。
Origin 選擇性。 指定發出要求的來源。 此標頭的顯示會導致在回應上跨原始資源共用標頭。 如需詳細資訊,請參閱 CORS (跨原始來源資源分享) Azure 記憶體服務的支援

唯有在符合指定條件的情況下,此作業也支援使用條件式標頭,設定 Blob 屬性。 如需詳細資訊,請參閱 指定 Blob 記憶體作業的條件式標頭

僅) 要求標頭 (分頁 Blob

下表描述僅適用於分頁 Blob 作業的要求標頭:

要求標頭 描述
x-ms-blob-content-length: byte value 選擇性。 將分頁 Blob 調整為指定的大小。 如果指定的值小於 Blob 目前的大小,則會清除大於指定值的所有分頁 Blob。

此屬性無法用來變更區塊 Blob 或附加 Blob 的大小。 設定區塊 Blob 或附加 Blob 的這個屬性會傳回狀態代碼 400 (不正確的要求) 。
x-ms-sequence-number-action: {max, update, increment} 選擇性項目,但是如果為要求設定 x-ms-blob-sequence-number 標頭,則為必要項目。 此屬性只會套用至分頁 Blob。

此屬性會指出服務應如何修改 Blob 的序號。 請為此屬性指定下列其中一個選項:

- max:將序號設定為要求中包含的值,以及目前為 Blob 儲存的值。
- update:將序號設定為要求中包含的值。
- increment:將序號的值遞增 1。 如果您要指定這個選項,請勿包含 x-ms-blob-sequence-number header。 這麼做會傳回狀態代碼 400 (不正確的要求) 。
x-ms-blob-sequence-number: <num> 選擇性項目,但是如果 x-ms-sequence-number-action 屬性設為 maxupdate,則為必要項目。 此屬性只會套用至分頁 Blob。

屬性會設定 Blob 的序號。 序號是使用者控制的屬性,可用來追蹤要求和管理並行問題。 如需詳細資訊,請參閱 放置頁面 作業。

搭配使用這個屬性 x-ms-sequence-number-action ,將 Blob 的序號更新為指定的值或要求所指定值越高,或目前與 Blob 一起儲存的值。 如果 x-ms-sequence-number-action 設定為 increment,則不應該指定這個標頭,在此情況下,服務會自動將序號遞增一個。

若要將序號設為您選擇的值,則必須將此屬性與 x-ms-sequence-number-action 一起指定在要求中。

要求本文

無。

回應

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

狀態碼

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

如需狀態代碼的詳細資訊,請參閱 狀態和錯誤碼

回應標頭

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

語法 描述
ETag 包含值,您可以用來有條件地執行作業。 如需詳細資訊 ,請參閱指定 Blob 記憶體作業的條件式標頭 。 如果要求版本是 2011-08-18 或更新版本,ETag 值會以引號括住。
Last-Modified 上次修改 Blob 的日期/時間。 日期格式會依照 RFC 1123。 如需詳細資訊,請參閱 代表標頭中的日期/時間值

Blob 上的任何寫入作業 (包括 Blob 的中繼資料或屬性更新) 都會變更 Blob 的上次修改時間。
x-ms-blob-sequence-number 如果 Blob 是分頁 Blob,則會將 Blob 目前的序號與此標頭一起傳回。
x-ms-request-id 可唯一識別已提出的要求,並可用來對要求進行疑難解答。 如需詳細資訊,請參閱 針對 API 作業進行疑難解答
x-ms-version 指出用來執行要求的 Blob 記憶體版本。 針對針對 2009-09-19 版和更新版本提出的要求,會傳回此標頭。
Date 服務所產生的 UTC 日期/時間值,表示起始響應的時間。
Access-Control-Allow-Origin 如果要求包含 Origin 標頭,並啟用 CORS 及比對規則,則傳回此標頭。 如果有相符專案,此標頭會傳回原始要求標頭的值。
Access-Control-Expose-Headers 如果要求包含 Origin 標頭,並啟用 CORS 及比對規則,則傳回此標頭。 傳回向要求的用戶端或簽發者公開的回應標頭清單。
Access-Control-Allow-Credentials 如果要求包含 Origin 標頭且 CORS 已啟用,且符合不允許所有來源的規則,則會傳回 。 標頭會設定為 true
x-ms-client-request-id 可用來針對要求和對應的回應進行疑難解答。 如果此標頭存在於要求中,則此標頭的值等於標頭的值 x-ms-client-request-id ,且值不包含超過 1,024 個可見的 ASCII 字元。 x-ms-client-request-id如果要求中沒有標頭,則不會出現在回應中。

回應本文

無。

授權

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

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 Properties作業所需的 RBAC 動作,以及包含此動作的最低特殊許可權 Azure RBAC 角色:

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

備註

更新 Blob 屬性的語意如下:

  • 要求必須符合下列條件之一,才能更新分頁 Blob 的序號:

    • 要求會將 x-ms-sequence-number-action 設定為 maxupdate,並指定標頭的值 x-ms-blob-sequence-number

    • 要求會將 x-ms-sequence-number-action 設定為 increment,表示服務應該將序號遞增一個。

  • 要求必須為 x-ms-content-length 標頭指定一個值,才能修改分頁 Blob 的大小。

  • 若要變更進階記憶體帳戶中的分頁 Blob 大小,新大小不得超過現有層所允許的內容長度。 在調整 Blob 大小之前,請先呼叫 [設定 Blob 層 ]。 如需階層和允許的內容長度清單,請參閱 VM 的高效能進階記憶體和受控磁碟

  • 如果要求只 x-ms-blob-sequence-number 設定 或 x-ms-content-length,則不會修改 Blob 的其他屬性。

  • 如果在要求中設定了下列一或多個屬性,所有屬性都會一起設定。 如果至少設定其中一個值時未為屬性提供值,則會清除該屬性給 Blob。

    • x-ms-blob-cache-control
    • x-ms-blob-content-type
    • x-ms-blob-content-md5
    • x-ms-blob-content-encoding
    • x-ms-blob-content-language
    • x-ms-blob-content-disposition

注意

對於共用存取簽章 (SAS) ,您可以藉由將查詢參數指定為共用存取簽章的一部分,覆寫為 Blob 所儲存的特定屬性。 這些屬性包括 cache-controlcontent-typecontent-encodingcontent-languagecontent-disposition 屬性。 如需詳細資訊,請參閱 建立服務 SAS

計費

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

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

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

另請參閱