設定 Blob 標記

作業會將 Set Blob Tags 指定 Blob 的使用者定義標籤設定為一或多個索引鍵/值組。

要求

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

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

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=tags&versionid=<DateTime>
HTTP/1.1

URI 參數

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

參數 Description
versionid 選擇性版本 2019-12-12 和更新版本。 參數 versionid 是不透明的 DateTime 值,當存在時,會指定要擷取的 Blob 版本。
timeout 選擇性。 timeout 參數以秒為單位。 如需詳細資訊,請參閱 設定 Blob 記憶體作業的逾時

要求標頭

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

要求標頭 描述
Authorization 必要。 指定授權配置、帳戶名稱和簽章。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
Datex-ms-date 必要。 指定要求的「國際標準時間」(UTC)。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
x-ms-version 所有已授權要求都需要。 指定用於這個要求的作業版本。 如需詳細資訊,請參閱 Azure 儲存體服務的版本
Content-Length 必要。 要求內容的長度 (以位元組為單位)。 此標頭是指標記文件的內容長度,而不是 Blob 本身的內容長度。
Content-Type 必要。 此標頭的值應該是 application/xml;charset=UTF-8。
Content-MD5 選擇性。 要求內容的 MD5 雜湊。 在傳輸期間,此雜湊可用來驗證要求內容的完整性。 如果兩個哈希不相符,作業會失敗,錯誤碼為 400 (不正確的要求) 。

此標頭與要求內容相關聯,而不是與 Blob 本身的內容相關聯。
x-ms-content-crc64 選擇性。 要求內容的CRC64哈希。 在傳輸期間,此雜湊可用來驗證要求內容的完整性。 如果兩個哈希不相符,作業會失敗,錯誤碼為 400 (不正確的要求) 。

此標頭與要求內容相關聯,而不是與 Blob 本身的內容相關聯。

如果和 Content-MD5x-ms-content-crc64 標頭都存在,要求會失敗,錯誤碼為 400 (不正確的要求) 。
x-ms-lease-id:<ID> 如果 Blob 具有作用中租用,則為必要項目。

若要在具有作用中租用的 Blob 執行這項作業,請指定此標頭的有效租用識別碼。 如果未在要求上指定有效的租用標識符,作業會失敗,狀態代碼為 403 (禁止) 。
x-ms-client-request-id 選擇性。 提供客戶端產生的不透明值,其中包含設定記錄時記錄的 1 kibibyte (KiB) 字元限制。 強烈建議您使用此標頭,將用戶端活動與伺服器接收的要求相互關聯。 如需詳細資訊,請參閱監視 Azure Blob 儲存體

只有在符合指定的條件時,此作業才 x-ms-if-tags 支援條件標頭來設定 Blob 標記。 如需詳細資訊,請參閱 指定 Blob 記憶體作業的條件式標頭

要求本文

要求主體的格式如下:

<?xml version="1.0" encoding="utf-8"?>  
<Tags>  
    <TagSet>  
        <Tag>  
            <Key>tag-name-1</Key>  
            <Value>tag-value-1</Value>  
        </Tag>  
        <Tag>  
            <Key>tag-name-2</Key>  
            <Value>tag-value-2</Value>  
        </Tag>  
    </TagSet>  
</Tags>  

要求本文必須是格式正確的 UTF-8 XML 檔,且包含代表 Blob 標記的標記集。

標記集不能包含超過10個標記。 標記索引鍵和值會區分大小寫。 卷標索引鍵必須介於 1 到 128 個字元之間,標記值必須介於 0 到 256 個字元之間。 有效的標記索引鍵和值字元包括:

  • a-z、A-Z) (小寫和大寫字母
  • 數位 (0-9)
  • 空間 ( )
  • 加 (+) 、減 ( ) 、句點 (.) 、斜線 (/) 、冒號 (:) 、等於 (=) 和底線 (_)

回應

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

狀態碼

成功的作業會傳回狀態碼 204 (沒有內容)。

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

回應標頭

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

回應標頭 描述
x-ms-request-id 可唯一識別發出的要求,並可用來對要求進行疑難解答。 如需詳細資訊,請參閱 針對 API 作業進行疑難解答
x-ms-version 用來執行要求的 Blob 記憶體版本。
Date 服務所產生的 UTC 日期/時間值,表示起始響應的時間。
x-ms-client-request-id 可用來針對要求和對應的回應進行疑難解答。 如果此標頭存在於要求中,且值包含不超過 1,024 個可見的 ASCII 字元,則此標頭的值等於標頭的值 x-ms-client-request-idx-ms-client-request-id如果要求中沒有標頭,它就不會出現在回應中。

回應本文

無。

授權

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

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

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

備註

Set Blob Tags REST API 2019-12-12 版和更新版本支援此作業。

針對已啟用階層命名空間的帳戶,不支援作業, Set Blob Tags 因為階層命名空間帳戶不支援 Blob 標記。

Set Blob Tags 作業會覆寫 Blob 上的所有現有標記。 若要從 Blob 移除所有標記,請使用空 <TagSet>的 傳送Set Blob Tags要求。

此作業不會更新 Blob 的 ETag 或上次修改時間。 您可以在封存的 Blob 上設定標記。

記憶體服務會維護 Blob 與其標記之間的強式一致性。 Blob 標記的變更會立即顯示在 Blob 上的後續 Get Blob Tags 作業。 不過,次要索引最終會一致。 作業可能無法立即看到 Find Blobs by Tags Blob 標記的變更。

如果要求提供無效的標籤,Blob 記憶體會傳回狀態代碼 400 (不正確的要求) 。

計費

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

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

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

另請參閱

使用 Blob 索引標籤管理及尋找 Blob 記憶體數據
授權對 Azure 記憶體的要求
狀態和錯誤碼
Blob 記憶體錯誤碼