共用方式為


依標籤尋找 Blob

作業 Find Blobs by Tags 會尋找記憶體帳戶中標籤符合搜尋表示式的所有 Blob。

要求

您可以建構 Find Blobs by Tags 要求,如下所示。 我們建議使用 HTTPS。 以記憶體帳戶的名稱取代 myaccount

GET 方法要求 URI HTTP 版本
https://myaccount.blob.core.windows.net?comp=blobs&where=<expression> HTTP/1.1

URI 參數

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

參數 描述
expression 必要。 篩選結果集,只包含標記符合指定表達式的 Blob。

如需如何建構此表達式的詳細資訊,請參閱
marker 選擇性。 字串值,識別下一個作業要傳回的結果集部分。 如果傳回的結果集未完成,作業會傳回響應主體內的標記值。 標記值接著可用於後續呼叫,以要求下一組專案。

此標記值對於用戶端為不透明。
maxresults 選擇性。 指定要傳回的 Blob 數目上限。 如果要求未指定 maxresults 或指定大於5,000的值,則伺服器會傳回最多5,000個專案。 如果傳回其他結果,服務會在響應項目中傳回接續令牌 NextMarker 。 在某些情況下,服務可能會傳回比 maxresults 指定少的結果。 服務也可能傳回接續令牌。

若將 maxresults 設為小於或等於零的值,將會產生錯誤回應碼 400 (不正確的要求)。
timeout 選擇性。 以秒表示。 如需詳細資訊,請參閱 設定 Blob 記憶體作業的逾時

要求標頭

下表描述必要和選擇性的要求標頭:

要求標頭 描述
Authorization 必要。 指定授權配置、帳戶名稱和簽章。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
Datex-ms-date 必要。 指定要求的「國際標準時間」(UTC)。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
x-ms-version 所有授權要求都需要 ,但匿名要求則為選擇性。 指定用於這個要求的作業版本。 如需詳細資訊,請參閱 Azure 儲存體服務的版本
x-ms-client-request-id 選擇性。 提供客戶端產生的不透明值,其中包含設定記錄時記錄的 1 kibibyte (KiB) 字元限制。 強烈建議您使用此標頭,將用戶端活動與伺服器接收的要求相互關聯。

要求本文

無。

回應

回應包含 HTTP 狀態代碼、回應標頭和回應本文。

狀態碼

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

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

回應標頭

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

回應標頭 描述
Content-Type 指定 application/xml 為內容類型。
Content-Length 指定傳回之 XML 檔的大小,以位元組為單位。
x-ms-request-id 可唯一識別提出的要求。 您可以使用它對要求進行疑難解答。 如需詳細資訊,請參閱 針對 API 作業進行疑難解答
x-ms-version 指出用來執行要求的 Azure Blob 儲存體 版本。
Date UTC 日期/時間值,指出服務傳送響應的時間。
x-ms-client-request-id 可用來針對要求和對應的回應進行疑難解答。 如果此標頭存在於要求中,且此值最多為1,024個可見的ASCII字元,則此標頭的值等於標頭的值 x-ms-client-request-idx-ms-client-request-id如果要求中沒有標頭,此標頭將不會出現在回應中。

回應本文

在 2020-04-08 版和更新版本中,Blob 的相符標記會封裝在 元素內 Tags 。 回應主體的格式如下:

<?xml version="1.0" encoding="utf-8"?>  
<EnumerationResults ServiceEndpoint=http://myaccount.blob.core.windows.net/>  
  <Where>string-value</Where>  
  <Blobs>  
    <Blob>  
      <Name>blob-name</Name>  
      <ContainerName>container-name</ContainerName>  
      <Tags>
        <TagSet>
          <Tag>
            <Key>matching-tag-name1</Key>
            <Value>matching-tag-value1</Value>
          </Tag>
          <Tag>
            <Key>matching-tag-name2</Key>
            <Value>matching-tag-value2</Value>
          </Tag>
        </TagSet>
      </Tags> 
    </Blob>  
  </Blobs>  
  <NextMarker />  
</EnumerationResults>  

回應本文是格式正確的 UTF-8 XML 檔。

授權

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

重要

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 使用者、群組、受控識別或服務主體呼叫Find Blobs by Tags作業所需的 RBAC 動作,以及包含此動作的最低特殊許可權內建 Azure RBAC 角色:

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

備註

Find Blobs by Tags REST API 2019-12-12 版和更新版本支援此作業。

針對已啟用階層命名空間的帳戶,不支援此作業, Find Blobs by Tags 因為階層命名空間帳戶不支援 Blob 標籤。

使用的次要索引 Find Blobs by Tags 最終一致。 匯報 至 Blob 標籤的Set Blob Tags作業可能不會立即看到Find Blobs by Tags

建構搜尋表達式

where URI 參數會在標記符合表達式的記憶體帳戶中尋找 Blob。 表達式必須評估為 true ,才能在結果集中傳回 Blob。

記憶體服務支援查詢參數值的 where=<expression> ANSI SQL WHERE 子句文法子集。 記憶體服務支援下列運算子:

運算子 描述 範例
= 等於 &where=Status = 'In Progress'
> 大於 &where=LastModified > '2018-06-18 20:51:26Z'
>= 大於或等於 &where=Priority >= '05'
< 小於 &where=Age < '032'
<= 小於或等於 &where=Reviewer <= 'Smith'
AND 邏輯 AND &where=Name > 'C' AND Name < 'D'
&where=Age > '032' AND Age < '100'
@container 指定容器 &where=@container='mycontainer' AND Name = 'C'

注意

URI 參數的值 where 必須正確編碼, (包括空格和運算子) 。 上述範例省略此專案以供可讀性。

所有標記值都是字串。 支援的二進位關係運算符會使用標記值的語彙排序。 若要支援非字串資料類型,包括數位和日期,您必須使用適當的填補和可排序格式。 卷標值必須以單引弧括住。

如果標籤名稱是一般 SQL 識別碼,則可以在沒有逸出的情況下存在。 如果它們包含任何特殊字元,則必須以雙引號分隔 (例如, "TagName" = TagValue) 。 建議您一律以雙引號括住標籤名稱。

記憶體服務會拒絕包含無效表達式的任何要求,錯誤碼為 400 (不正確的要求) 。

計費

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

作業 儲存體帳戶類型 計費類別
依標籤尋找 Blob 進階區塊 Blob
標準一般用途 v2
標準一般用途 v1
列出和 Create 容器作業

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

另請參閱

使用 Blob 索引標籤來管理和尋找 Azure Blob 儲存體 上的資料
授權對 Azure 記憶體的要求
狀態和錯誤碼
Blob 記憶體錯誤碼