Condividi tramite


Trovare BLOB per tag nel contenitore

L'operazione Find Blobs by Tags in Container trova tutti i BLOB i cui tag corrispondono a un'espressione di ricerca in un contenitore.

Richiesta

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

URI della richiesta del metodo GET Versione HTTP
https://myaccount.blob.core.windows.net/mycontainer?restype=container&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 informazioni su come costruire questa espressione, vedere Osservazioni più avanti in questo articolo.
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 specifica, ma restituire comunque 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

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 in Container 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 una maggiore sicurezza e facilità d'uso rispetto all'autorizzazione di 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 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 Microsoft Entra, un gruppo, un gruppo, un'identità gestita o un'entità servizio per chiamare l'operazione Find Blobs by Tags in Container 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 in Container è supportata nell'API REST versione 2021-04-10 e successive.

L'indice secondario utilizzato Find Blobs by Tags in Container è alla fine coerente. Aggiornamenti ai tag BLOB tramite Set Blob Tags potrebbe non essere immediatamente visibile alle Find Blobs by Tags in Container operazioni.

Creazione di un'espressione di ricerca

Il where parametro URI trova i BLOB nell'account di archiviazione e nel contenitore 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'

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à. @container non è supportato quando il contenitore fa parte di un URI.

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 in Container le richieste in base al tipo di account di archiviazione:

Operazione Tipo di account di archiviazione Categoria di fatturazione
Trovare BLOB per tag nel contenitore 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