Trovare BLOB per tag

L'operazione Find Blobs by Tags trova tutti i BLOB nell'account di archiviazione i cui tag corrispondono a un'espressione di ricerca.

Richiesta

È possibile costruire la Find Blobs by Tags richiesta come indicato di seguito. È consigliabile HTTPS. Sostituire myaccount con il nome dell'account di archiviazione.

URI della richiesta del metodo GET Versione HTTP
https://myaccount.blob.core.windows.net?comp=blobs&where=<expression> HTTP/1.1

Parametri URI

Nell'URI della richiesta puoi specificare i parametri seguenti:

Parametro Descrizione
expression Obbligatorio. Filtra il set di risultati per includere solo BLOB i cui tag corrispondono all'espressione specificata.

Per altre informazioni su come costruire questa espressione, vedere Osservazioni.
marker facoltativo. Valore stringa che identifica la parte del set di risultati da restituire con l'operazione successiva. L'operazione restituisce un valore di marcatore all'interno del corpo della risposta se il set di risultati restituito non è stato completato. Il valore del marcatore può quindi essere usato in una chiamata successiva per richiedere il set successivo di elementi.

Il valore marcatore risulta opaco al client.
maxresults facoltativo. Specifica il numero massimo di BLOB da restituire. Se la richiesta non specifica maxresults o specifica un valore maggiore di 5.000, il server restituisce fino a 5.000 elementi. Se sono presenti risultati aggiuntivi da restituire, il servizio restituisce un token di continuazione nell'elemento NextMarker di risposta. In alcuni casi, il servizio potrebbe restituire meno risultati rispetto a maxresults quelli specificati. Il servizio potrebbe anche restituire un token di continuazione.

L'impostazione di maxresults su un valore minore o uguale a zero restituisce il codice di risposta 400 (Richiesta non valida).
timeout facoltativo. Espresso in secondi. Per altre informazioni, vedere Impostare timeout per le operazioni di archiviazione BLOB.

Intestazioni della richiesta

Nella tabella seguente vengono descritte le intestazioni richieste e facoltative:

Intestazione della richiesta Descrizione
Authorization Obbligatorio. Specifica lo schema di autorizzazione, il nome dell'account e la firma. Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure.
Date o x-ms-date Obbligatorio. Specifica la data per la richiesta nel fuso orario UTC (Coordinated Universal Time). Per altre informazioni, vedere Autorizzare le richieste ad Archiviazione di Azure.
x-ms-version Obbligatorio per tutte le richieste autorizzate, ma facoltativo per le richieste anonime. Specifica la versione dell'operazione da usare per questa richiesta. Per altre informazioni, vedere Controllo delle versioni per i servizi di archiviazione di Azure.
x-ms-client-request-id facoltativo. Fornisce un valore opaco generato dal client con un limite di caratteri di 1 kibibyte (KiB) registrato nei log quando la registrazione è configurata. È consigliabile usare questa intestazione per correlare le attività lato client con le richieste ricevute dal server.

Testo della richiesta

Nessuno.

Risposta

La risposta include un codice di stato HTTP, intestazioni di risposta e un corpo della risposta.

Codice stato

Un'operazione completata correttamente restituisce 200 (OK).

Per informazioni sui codici di stato, vedere Codici di stato e di errore.

Intestazioni di risposta

Nella risposta per questa operazione sono incluse le intestazioni riportate di seguito; La risposta potrebbe includere anche intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.

Intestazione risposta Descrizione
Content-Type application/xml Specifica come tipo di contenuto.
Content-Length Specifica le dimensioni del documento XML restituito, in byte.
x-ms-request-id Identifica in modo univoco la richiesta effettuata. È possibile usarlo per risolvere la risoluzione dei problemi della richiesta. Per altre informazioni, vedere Risolvere i problemi relativi alle operazioni api.
x-ms-version Indica la versione di Archiviazione BLOB di Azure usata per eseguire la richiesta.
Date Valore di data/ora UTC che indica l'ora in cui il servizio ha inviato la risposta.
x-ms-client-request-id Può essere usato per risolvere le richieste e le risposte corrispondenti. Il valore di questa intestazione è uguale al valore dell'intestazione x-ms-client-request-id , se presente nella richiesta e il valore è al massimo 1.024 caratteri ASCII visibili. Se l'intestazione x-ms-client-request-id non è presente nella richiesta, questa intestazione non sarà presente nella risposta.

Corpo della risposta

Nella versione 2020-04-08 e versioni successive, i tag corrispondenti del BLOB vengono incapsulati all'interno di un Tags elemento. Il formato del corpo della risposta è il seguente:

<?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>  

Il corpo della risposta è un documento XML UTF-8 ben formato.

Autorizzazione

L'autorizzazione è necessaria quando si chiama qualsiasi operazione di accesso ai dati in Archiviazione di Azure. È possibile autorizzare l'operazione Find Blobs by Tags come descritto di seguito.

Archiviazione di Azure supporta l'uso di Microsoft Entra ID per autorizzare le richieste ai dati BLOB. Con Microsoft Entra ID è possibile usare il controllo degli accessi in base al ruolo di Azure per concedere le autorizzazioni a un'entità di sicurezza. L'entità di sicurezza può essere un utente, un gruppo, un'entità servizio applicazione o un'identità gestita di Azure. L'entità di sicurezza viene autenticata da Microsoft Entra ID per restituire un token OAuth 2.0. Il token può quindi essere usato per autorizzare una richiesta relativa al servizio BLOB.

Per altre informazioni sull'autorizzazione usando Microsoft Entra ID, vedere Autorizzare l'accesso ai BLOB usando Microsoft Entra ID.

Autorizzazioni

Di seguito è riportata l'azione RBAC necessaria per un utente, un gruppo o un'entità servizio di Microsoft Entra per chiamare l'operazione Find Blobs by Tags e il ruolo di controllo degli accessi in base al ruolo predefinito di Azure con privilegi minimi che include questa azione:

Per altre informazioni sull'assegnazione dei ruoli tramite controllo degli accessi in base al ruolo di Azure, vedere Assegnare un ruolo di Azure per l'accesso ai dati BLOB.

Commenti

L'operazione Find Blobs by Tags è supportata nell'API REST versione 2019-12-12 e versioni successive.

Per gli account con spazio dei nomi gerarchico abilitato, l'operazione Find Blobs by Tags non è supportata come tag BLOB non sono supportati per gli account dello spazio dei nomi gerarchici.

L'indice secondario che Find Blobs by Tags usa è infine coerente. Aggiornamenti ai tag BLOB tramite Set Blob Tags potrebbe non essere immediatamente visibile alle Find Blobs by Tags operazioni.

Creazione di un'espressione di ricerca

Il where parametro URI trova BLOB nell'account di archiviazione i cui tag corrispondono a un'espressione. L'espressione deve essere valutata true per restituire un BLOB nel set di risultati.

Il servizio di archiviazione supporta un subset della grammatica della clausola ANSI SQL WHERE per il valore del parametro di where=<expression> query. Il servizio di archiviazione supporta gli operatori seguenti:

Operatore Descrizione Esempio
= Uguale &where=Status = 'In Progress'
> Maggiore di &where=LastModified > '2018-06-18 20:51:26Z'
>= Maggiore o uguale a &where=Priority >= '05'
< Minore di &where=Age < '032'
<= Minore o uguale a &where=Reviewer <= 'Smith'
AND Logico e &where=Name > 'C' AND Name < 'D'
&where=Age > '032' AND Age < '100'
@container Specificare un contenitore &where=@container='mycontainer' AND Name = 'C'

Nota

Il valore del where parametro URI deve essere codificato correttamente con URI (inclusi spazi e operatori). Gli esempi precedenti omettono questo valore per la leggibilità.

Tutti i valori di tag sono stringhe. Gli operatori relazionali binari supportati usano un ordinamento lessicografico dei valori di tag. Per supportare tipi di dati non stringa, inclusi i numeri e le date, è necessario usare la formattazione spaziatura interna e ordinabile appropriata. I valori dei tag devono essere racchiusi tra virgolette singole.

Se i nomi dei tag sono identificatori SQL regolari, possono essere presenti senza escaping. Se contengono caratteri speciali, devono essere delimitati con virgolette doppie (ad esempio, "TagName" = TagValue). È consigliabile racchiudere sempre i nomi dei tag tra virgolette doppie.

Il servizio di archiviazione rifiuterà qualsiasi richiesta contenente un'espressione non valida con codice di errore 400 (richiesta non valida).

Fatturazione

Le richieste di prezzi possono derivare dai client che usano le API di archiviazione BLOB, direttamente tramite l'API REST dell'archiviazione BLOB o da una libreria client di Archiviazione di Azure. Queste richieste accumulano addebiti per transazione. Il tipo di transazione influisce sul modo in cui viene addebitato l'account. Ad esempio, le transazioni di lettura si accumulano in una categoria di fatturazione diversa rispetto alle transazioni di scrittura. Nella tabella seguente viene illustrata la categoria di fatturazione per Find Blobs by Tags le richieste in base al tipo di account di archiviazione:

Operazione Tipo di account di archiviazione Categoria di fatturazione
Trovare BLOB per tag BLOB di blocchi Premium
Utilizzo generico v2 Standard
Utilizzo generico standard v1
Elencare e creare operazioni contenitore

Per informazioni sui prezzi per la categoria di fatturazione specificata, vedere prezzi Archiviazione BLOB di Azure.

Vedi anche

Gestire e trovare dati in Archiviazione BLOB di Azure con tag di indice BLOB
Autorizzare le richieste ad Archiviazione di Azure
Stato e codici errore
Codici di errore dell'archiviazione BLOB