Condividi tramite


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 usare 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 in modo da includere solo i 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 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 di quanto maxresults specificato. 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 i timeout per le operazioni di archiviazione BLOB.

Intestazioni della richiesta

La tabella seguente descrive le intestazioni di richiesta obbligatorie 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 al momento della configurazione della registrazione. È consigliabile usare questa intestazione per correlare le attività lato client alle 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 Specifica application/xml 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 i 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 utilizzata 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 i problemi relativi alle richieste e alle 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 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 un'operazione di accesso ai dati in Archiviazione di Azure. È possibile autorizzare l'operazione Find Blobs by Tags come descritto di seguito.

Importante

Microsoft consiglia di usare Microsoft Entra ID con identità gestite per autorizzare le richieste ad Archiviazione di Azure. Microsoft Entra ID offre maggiore sicurezza e facilità d'uso rispetto all'autorizzazione con chiave condivisa.

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 tramite Microsoft Entra ID, vedere Autorizzare l'accesso ai BLOB usando Microsoft Entra ID.

Autorizzazioni

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

Per altre informazioni sull'assegnazione dei ruoli tramite il 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 successive.

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

L'indice secondario utilizzato Find Blobs by Tags è alla fine 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 i BLOB nell'account di archiviazione i cui tag corrispondono a un'espressione. L'espressione deve restituire true un BLOB nel set di risultati.

Il servizio di archiviazione supporta un subset della grammatica della clausola SQL WHERE ANSI per il valore del where=<expression> parametro di 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 gli spazi e gli 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 dei tag. Per supportare tipi di dati non stringa, inclusi numeri e date, è necessario usare la spaziatura interna e la formattazione ordinabile appropriata. I valori dei tag devono essere racchiusi tra virgolette singole.

Se i nomi dei tag sono identificatori SQL normali, possono essere presenti senza escape. Se contengono caratteri speciali, devono essere delimitati da virgolette doppie ,ad esempio "TagName" = TagValue. È consigliabile racchiudere sempre i nomi di 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 determinazione dei prezzi possono provenire dai client che usano le API di archiviazione BLOB, direttamente tramite l'API REST di 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. La tabella seguente illustra 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 in blocchi Premium
Utilizzo generico v2 Standard
Standard per utilizzo generico v1
Elencare e Create operazioni del 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 di Archiviazione BLOB