Condividi tramite


BlobServiceClient Classe

Un client per interagire con il servizio BLOB a livello di account.

Questo client fornisce operazioni per recuperare e configurare le proprietà dell'account e l'elenco, creare ed eliminare contenitori all'interno dell'account. Per le operazioni relative a un contenitore o BLOB specifico, i client per tali entità possono essere recuperati anche usando le funzioni di get_client .

Per altre configurazioni facoltative, fare clic qui.

Ereditarietà
azure.storage.blob._shared.base_client.StorageAccountHostsMixin
BlobServiceClient
azure.storage.blob._encryption.StorageEncryptionMixin
BlobServiceClient

Costruttore

BlobServiceClient(account_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)

Parametri

account_url
str
Necessario

URL dell'account di archiviazione BLOB. Tutte le altre entità incluse nel percorso URL (ad esempio contenitore o BLOB) verranno rimosse. Questo URL può essere autenticato facoltativamente con un token di firma di accesso condiviso.

credential
valore predefinito: None

Credenziali con cui eseguire l'autenticazione. Questo è facoltativo se l'URL dell'account ha già un token di firma di accesso condiviso. Il valore può essere una stringa di token sas, un'istanza di AzureSasCredential o AzureNamedKeyCredential da azure.core.credential, una chiave di accesso condiviso dell'account o un'istanza di una classe TokenCredentials da azure.identity. Se l'URI della risorsa contiene già un token di firma di accesso condiviso, questo verrà ignorato a favore di una credenziale esplicita

  • tranne nel caso di AzureSasCredential, in cui i token sas in conflitto genereranno un valoreError. Se si usa un'istanza di AzureNamedKeyCredential, "name" deve essere il nome dell'account di archiviazione e "key" deve essere la chiave dell'account di archiviazione.
api_version
str

Versione dell'API di archiviazione da usare per le richieste. Il valore predefinito è la versione del servizio più recente compatibile con l'SDK corrente. L'impostazione su una versione precedente può comportare una riduzione della compatibilità delle funzionalità.

Novità nella versione 12.2.0.

secondary_hostname
str

Nome host dell'endpoint secondario.

max_block_size
int

Dimensioni massime del blocco per il caricamento di un BLOB a blocchi in blocchi. Il valore predefinito è 41024 1024o 4 MB.

max_single_put_size
int

Se le dimensioni del BLOB sono inferiori o uguali max_single_put_size, il BLOB verrà caricato con una sola richiesta PUT http. Se la dimensione del BLOB è maggiore di max_single_put_size, il BLOB verrà caricato in blocchi. Il valore predefinito è 641024 1024o 64 MB.

min_large_block_upload_threshold
int

Dimensioni minime di blocchi necessarie per usare l'algoritmo efficiente per la memoria durante il caricamento di un BLOB a blocchi. Il valore predefinito è 41024 1024+1.

use_byte_buffer
bool

Usare un buffer di byte per i caricamenti BLOB in blocchi. Il valore predefinito è False.

max_page_size
int

Dimensioni massime del blocco per il caricamento di un BLOB di pagine. Il valore predefinito è 41024 1024o 4 MB.

max_single_get_size
int

Le dimensioni massime per il download di un BLOB in una singola chiamata, la parte superata verrà scaricata in blocchi (potrebbe essere parallela). Il valore predefinito è32 1024 1024o 32 MB.

max_chunk_get_size
int

Dimensioni massime del blocco utilizzato per il download di un BLOB. Il valore predefinito è 41024 1024o 4 MB.

Metodi

close

Questo metodo consiste nel chiudere i socket aperti dal client. Non è necessario usare quando si usa con un gestore di contesto.

create_container

Crea un nuovo contenitore nell'account specificato.

Se il contenitore con lo stesso nome esiste già, verrà generato un oggetto ResourceExistsError. Questo metodo restituisce un client con cui interagire con il contenitore appena creato.

delete_container

Contrassegna il contenitore specificato per l'eliminazione.

Il contenitore e tutti i BLOB in esso contenuti verranno eliminati in seguito durante un'operazione di Garbage Collection. Se il contenitore non viene trovato, verrà generato un oggetto ResourceNotFoundError.

find_blobs_by_tags

L'operazione Filtri BLOB consente ai chiamanti di elencare i BLOB in tutti i contenitori i cui tag corrispondono a un'espressione di ricerca specificata. Filtrare i BLOB esegue ricerche in tutti i contenitori all'interno di un account di archiviazione, ma può essere compreso nell'ambito dell'espressione in un singolo contenitore.

from_connection_string

Creare BLOBServiceClient da una stringa di connessione.

get_account_information

Ottiene informazioni correlate all'account di archiviazione.

Le informazioni possono essere recuperate anche se l'utente ha una firma di accesso condiviso in un contenitore o un BLOB. Le chiavi nel dizionario restituito includono 'sku_name' e 'account_kind'.

get_blob_client

Ottenere un client per interagire con il BLOB specificato.

Il BLOB non esiste già.

get_container_client

Ottenere un client per interagire con il contenitore specificato.

Il contenitore non esiste già.

get_service_properties

Ottiene le proprietà del servizio BLOB di un account di archiviazione, tra cui Azure Analisi archiviazione.

get_service_stats

Recupera le statistiche correlate alla replica per il servizio BLOB.

È disponibile solo quando la replica con ridondanza geografica di accesso in lettura è abilitata per l'account di archiviazione.

Con la replica geograficamente ridondante, Archiviazione di Azure mantiene i dati durevoli in due posizioni. In entrambe le posizioni Archiviazione di Azure gestisce costantemente più repliche integre dei dati. La posizione in cui si leggono, creano, aggiornano o eliminano i dati è la posizione dell'account di archiviazione primaria. La posizione primaria esiste nell'area scelta al momento della creazione di un account tramite il portale di Azure Management Azure classico, ad esempio Stati Uniti centro-settentrionali. La posizione in cui i dati vengono replicati è la posizione secondaria. La posizione secondaria viene determinata automaticamente in base alla posizione primaria. Si tratta di un secondo data center che risiede nella stessa area geografica della posizione primaria. Dalla posizione secondaria è disponibile l'accesso in sola lettura se la replica geograficamente ridondante con accesso in lettura è abilitata per l'account di archiviazione.

get_user_delegation_key

Ottenere una chiave di delega utente allo scopo di firmare i token di firma di accesso condiviso. Una credenziale del token deve essere presente nell'oggetto del servizio per la riuscita della richiesta.

list_containers

Restituisce un generatore per elencare i contenitori nell'account specificato.

Il generatore seguirà i token di continuazione restituiti dal servizio e arresterà quando tutti i contenitori sono stati restituiti.

set_service_properties

Imposta le proprietà del servizio BLOB di un account di archiviazione, tra cui Azure Analisi archiviazione.

Se un elemento (ad esempio, analytics_logging) viene lasciato come Nessuno, le impostazioni esistenti nel servizio per tale funzionalità vengono mantenute.

undelete_container

Ripristina il contenitore eliminato in modo temporanea.

L'operazione avrà esito positivo solo se viene usato entro il numero di giorni specificato impostato nei criteri di conservazione di eliminazione.

Novità nella versione 12.4.0: questa operazione è stata introdotta nella versione API '2019-12-12'.

close

Questo metodo consiste nel chiudere i socket aperti dal client. Non è necessario usare quando si usa con un gestore di contesto.

close()

create_container

Crea un nuovo contenitore nell'account specificato.

Se il contenitore con lo stesso nome esiste già, verrà generato un oggetto ResourceExistsError. Questo metodo restituisce un client con cui interagire con il contenitore appena creato.

create_container(name: str, metadata: Dict[str, str] | None = None, public_access: PublicAccess | str | None = None, **kwargs) -> ContainerClient

Parametri

name
str
Necessario

Nome del contenitore da creare.

metadata
dict(str, str)
Necessario

Una dict con coppie nome-valore da associare al contenitore come metadati. Esempio: {'Category':'test'}

public_access
str oppure PublicAccess
Necessario

I valori possibili includono: 'contenitore', 'BLOB'.

container_encryption_scope
dict oppure ContainerEncryptionScope

Specifica l'ambito di crittografia predefinito da impostare nel contenitore e usare per tutte le scritture future.

Novità nella versione 12.2.0.

timeout
int

Imposta il timeout lato server per l'operazione in secondi. Per informazioni dettagliate, vedere https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Questo valore non viene monitorato o convalidato nel client. Per configurare i timeout di rete lato client, vedere qui.

Tipo restituito

delete_container

Contrassegna il contenitore specificato per l'eliminazione.

Il contenitore e tutti i BLOB in esso contenuti verranno eliminati in seguito durante un'operazione di Garbage Collection. Se il contenitore non viene trovato, verrà generato un oggetto ResourceNotFoundError.

delete_container(container: ContainerProperties | str, lease: BlobLeaseClient | str | None = None, **kwargs) -> None

Parametri

container
str oppure ContainerProperties
Necessario

Contenitore da eliminare. Può essere il nome del contenitore o un'istanza di ContainerProperties.

lease
Necessario

Se specificato, delete_container ha esito positivo solo se il lease del contenitore è attivo e corrisponde a questo ID. Obbligatorio se il contenitore ha un lease attivo.

if_modified_since
datetime

Valore DateTime. Azure prevede che il valore di data passato sia UTC. Se il fuso orario è incluso, le datetime non UTC verranno convertite in formato UTC. Se una data viene passata senza informazioni sul fuso orario, si presuppone che sia UTC. Specificare questa intestazione per eseguire l'operazione solo se la risorsa è stata modificata dopo l'ora specificata.

if_unmodified_since
datetime

Valore DateTime. Azure prevede che il valore di data passato sia UTC. Se il fuso orario è incluso, le datetime non UTC verranno convertite in formato UTC. Se una data viene passata senza informazioni sul fuso orario, si presuppone che sia UTC. Specificare questa intestazione per eseguire l'operazione solo se la risorsa non è stata modificata dopo l'ora e la data specificate.

etag
str

Valore ETag o il carattere jolly (*). Usato per verificare se la risorsa è cambiata e agire in base alla condizione specificata dal parametro match_condition .

match_condition
MatchConditions

Condizione di corrispondenza da utilizzare sul etag.

timeout
int

Imposta il timeout lato server per l'operazione in secondi. Per informazioni dettagliate, vedere https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Questo valore non viene monitorato o convalidato nel client. Per configurare i timeout di rete lato client, vedere qui.

Tipo restituito

find_blobs_by_tags

L'operazione Filtri BLOB consente ai chiamanti di elencare i BLOB in tutti i contenitori i cui tag corrispondono a un'espressione di ricerca specificata. Filtrare i BLOB esegue ricerche in tutti i contenitori all'interno di un account di archiviazione, ma può essere compreso nell'ambito dell'espressione in un singolo contenitore.

find_blobs_by_tags(filter_expression: str, **kwargs: Any) -> ItemPaged[FilteredBlob]

Parametri

filter_expression
str
Necessario

Espressione per trovare BLOB i cui tag corrispondono alla condizione specificata. Ad esempio: ""yourtagname"='firsttag' e "yourtagname2"='secondtag'" Per specificare un contenitore, ad esempio. "@container='containerName' e "Name"='C'"

results_per_page
int

Risultato massimo per pagina quando si impagina.

timeout
int

Imposta il timeout lato server per l'operazione in secondi. Per informazioni dettagliate, vedere https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Questo valore non viene monitorato o convalidato nel client. Per configurare i timeout di rete lato client, vedere qui.

Restituisce

Risposta iterabile (paging automatico) di BLOBProperties.

Tipo restituito

from_connection_string

Creare BLOBServiceClient da una stringa di connessione.

from_connection_string(conn_str: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self

Parametri

conn_str
str
Necessario

Stringa di connessione a un account di archiviazione di Azure.

credential
valore predefinito: None

Credenziali con cui eseguire l'autenticazione. Questo è facoltativo se l'URL dell'account ha già un token di firma di accesso condiviso o la stringa di connessione ha già valori di chiave di accesso condiviso. Il valore può essere una stringa di token sas, un'istanza di AzureSasCredential o AzureNamedKeyCredential da azure.core.credential, una chiave di accesso condiviso dell'account o un'istanza di una classe TokenCredentials da azure.identity. Le credenziali fornite qui avranno la precedenza su quelle nella stringa di connessione. Se si usa un'istanza di AzureNamedKeyCredential, "name" deve essere il nome dell'account di archiviazione e "key" deve essere la chiave dell'account di archiviazione.

Restituisce

Client del servizio BLOB.

Tipo restituito

get_account_information

Ottiene informazioni correlate all'account di archiviazione.

Le informazioni possono essere recuperate anche se l'utente ha una firma di accesso condiviso in un contenitore o un BLOB. Le chiavi nel dizionario restituito includono 'sku_name' e 'account_kind'.

get_account_information(**kwargs: Any) -> Dict[str, str]

Restituisce

Una descrizione delle informazioni sull'account (SKU e tipo di account).

Tipo restituito

get_blob_client

Ottenere un client per interagire con il BLOB specificato.

Il BLOB non esiste già.

get_blob_client(container: ContainerProperties | str, blob: BlobProperties | str, snapshot: Dict[str, Any] | str | None = None, *, version_id: str | None = None) -> BlobClient

Parametri

container
str oppure ContainerProperties
Necessario

Contenitore in cui si trova il BLOB. Può essere il nome del contenitore o un'istanza di ContainerProperties.

blob
str oppure BlobProperties
Necessario

BLOB con cui interagire. Questo può essere il nome del BLOB o un'istanza di BlobProperties.

snapshot
str oppure dict(str, Any)
valore predefinito: None

Snapshot BLOB facoltativo su cui operare. Questo può essere l'ID dello snapshot o un output del dizionario restituito da create_snapshot.

version_id
str

Il parametro id versione è un valore DateTime opaco su cui, quando presente, specifica la versione del BLOB da usare.

Restituisce

A BlobClient.

Tipo restituito

get_container_client

Ottenere un client per interagire con il contenitore specificato.

Il contenitore non esiste già.

get_container_client(container: ContainerProperties | str) -> ContainerClient

Parametri

container
str oppure ContainerProperties
Necessario

Contenitore. Può essere il nome del contenitore o un'istanza di ContainerProperties.

Restituisce

ContenitoreClient.

Tipo restituito

get_service_properties

Ottiene le proprietà del servizio BLOB di un account di archiviazione, tra cui Azure Analisi archiviazione.

get_service_properties(**kwargs: Any) -> Dict[str, Any]

Parametri

timeout
int

Imposta il timeout lato server per l'operazione in secondi. Per informazioni dettagliate, vedere https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Questo valore non viene monitorato o convalidato nel client. Per configurare i timeout di rete lato client, vedere qui.

Restituisce

Oggetto contenente proprietà del servizio BLOB, ad esempio registrazione analisi, metriche orarie/minuti, regole cors e così via.

Tipo restituito

get_service_stats

Recupera le statistiche correlate alla replica per il servizio BLOB.

È disponibile solo quando la replica con ridondanza geografica di accesso in lettura è abilitata per l'account di archiviazione.

Con la replica geograficamente ridondante, Archiviazione di Azure mantiene i dati durevoli in due posizioni. In entrambe le posizioni Archiviazione di Azure gestisce costantemente più repliche integre dei dati. La posizione in cui si leggono, creano, aggiornano o eliminano i dati è la posizione dell'account di archiviazione primaria. La posizione primaria esiste nell'area scelta al momento della creazione di un account tramite il portale di Azure Management Azure classico, ad esempio Stati Uniti centro-settentrionali. La posizione in cui i dati vengono replicati è la posizione secondaria. La posizione secondaria viene determinata automaticamente in base alla posizione primaria. Si tratta di un secondo data center che risiede nella stessa area geografica della posizione primaria. Dalla posizione secondaria è disponibile l'accesso in sola lettura se la replica geograficamente ridondante con accesso in lettura è abilitata per l'account di archiviazione.

get_service_stats(**kwargs: Any) -> Dict[str, Any]

Parametri

timeout
int

Imposta il timeout lato server per l'operazione in secondi. Per informazioni dettagliate, vedere https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Questo valore non viene monitorato o convalidato nel client. Per configurare i timeout di rete lato client, vedere qui.

Restituisce

Statistiche del servizio Blob.

Tipo restituito

get_user_delegation_key

Ottenere una chiave di delega utente allo scopo di firmare i token di firma di accesso condiviso. Una credenziale del token deve essere presente nell'oggetto del servizio per la riuscita della richiesta.

get_user_delegation_key(key_start_time: datetime, key_expiry_time: datetime, **kwargs: Any) -> UserDelegationKey

Parametri

key_start_time
datetime
Necessario

Valore DateTime. Indica quando la chiave diventa valida.

key_expiry_time
datetime
Necessario

Valore DateTime. Indica quando la chiave smette di essere valida.

timeout
int

Imposta il timeout lato server per l'operazione in secondi. Per informazioni dettagliate, vedere https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Questo valore non viene monitorato o convalidato nel client. Per configurare i timeout di rete lato client, vedere qui.

Restituisce

Chiave di delega utente.

Tipo restituito

list_containers

Restituisce un generatore per elencare i contenitori nell'account specificato.

Il generatore seguirà i token di continuazione restituiti dal servizio e arresterà quando tutti i contenitori sono stati restituiti.

list_containers(name_starts_with: str | None = None, include_metadata: bool | None = False, **kwargs) -> ItemPaged[ContainerProperties]

Parametri

name_starts_with
str
Necessario

Filtra i risultati per restituire solo contenitori i cui nomi iniziano con il prefisso specificato.

include_metadata
bool
Necessario

Specifica che i metadati del contenitore da restituire nella risposta. Il valore predefinito è False.

include_deleted
bool

Specifica che i contenitori eliminati da restituire nella risposta. Si tratta di un account abilitato per il ripristino del contenitore. Il valore predefinito è False. .. versionadded:: 12.4.0

include_system
bool

Flag che specifica che i contenitori di sistema devono essere inclusi. .. versionadded:: 12.10.0

results_per_page
int

Numero massimo di nomi di contenitori da recuperare per chiamata API. Se la richiesta non specifica il server restituirà fino a 5.000 elementi.

timeout
int

Imposta il timeout lato server per l'operazione in secondi. Per informazioni dettagliate, vedere https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Questo valore non viene monitorato o convalidato nel client. Per configurare i timeout di rete lato client, vedere qui.

Restituisce

Iterabile (paging automatico) di ContainerProperties.

Tipo restituito

set_service_properties

Imposta le proprietà del servizio BLOB di un account di archiviazione, tra cui Azure Analisi archiviazione.

Se un elemento (ad esempio, analytics_logging) viene lasciato come Nessuno, le impostazioni esistenti nel servizio per tale funzionalità vengono mantenute.

set_service_properties(analytics_logging: BlobAnalyticsLogging | None = None, hour_metrics: Metrics | None = None, minute_metrics: Metrics | None = None, cors: List[CorsRule] | None = None, target_version: str | None = None, delete_retention_policy: RetentionPolicy | None = None, static_website: StaticWebsite | None = None, **kwargs) -> None

Parametri

analytics_logging
BlobAnalyticsLogging
Necessario

Raggruppa le impostazioni di registrazione di Azure Analytics.

hour_metrics
Metrics
Necessario

Le impostazioni delle metriche orarie forniscono un riepilogo delle statistiche richieste raggruppate dall'API in aggregazioni orarie per i BLOB.

minute_metrics
Metrics
Necessario

Le impostazioni delle metriche minuti forniscono statistiche di richiesta per ogni minuto per i BLOB.

cors
list[CorsRule]
Necessario

È possibile includere fino a cinque elementi CorsRule nell'elenco. Se viene specificato un elenco vuoto, tutte le regole CORS verranno eliminate e CORS verrà disabilitata per il servizio.

target_version
str
Necessario

Indica la versione predefinita da usare per le richieste se non è specificata la versione di una richiesta in ingresso.

delete_retention_policy
RetentionPolicy
Necessario

Il criterio di conservazione elimina specifica se conservare i BLOB eliminati. Specifica anche il numero di giorni e versioni del BLOB da mantenere.

static_website
StaticWebsite
Necessario

Specifica se la funzionalità del sito Web statico è abilitata e, se sì, indica il documento di errore di indice e 404 da usare.

timeout
int

Imposta il timeout lato server per l'operazione in secondi. Per informazioni dettagliate, vedere https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Questo valore non viene monitorato o convalidato nel client. Per configurare i timeout di rete lato client, vedere qui.

Tipo restituito

undelete_container

Ripristina il contenitore eliminato in modo temporanea.

L'operazione avrà esito positivo solo se viene usato entro il numero di giorni specificato impostato nei criteri di conservazione di eliminazione.

Novità nella versione 12.4.0: questa operazione è stata introdotta nella versione API '2019-12-12'.

undelete_container(deleted_container_name: str, deleted_container_version: str, **kwargs: Any) -> ContainerClient

Parametri

deleted_container_name
str
Necessario

Specifica il nome del contenitore eliminato da ripristinare.

deleted_container_version
str
Necessario

Specifica la versione del contenitore eliminato da ripristinare.

timeout
int

Imposta il timeout lato server per l'operazione in secondi. Per informazioni dettagliate, vedere https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Questo valore non viene monitorato o convalidato nel client. Per configurare i timeout di rete lato client, vedere qui.

Restituisce

Contenitore non specificatoClient.

Tipo restituito

Attributi

api_version

Versione dell'API di archiviazione usata per le richieste.

location_mode

Modalità percorso attualmente usata dal client.

Per impostazione predefinita, questo sarà "primario". Le opzioni includono "primary" e "secondary".

primary_endpoint

URL dell'endpoint primario completo.

primary_hostname

Nome host dell'endpoint primario.

secondary_endpoint

URL dell'endpoint secondario completo se configurato.

Se non è disponibile, verrà generato un valore ValueError. Per specificare in modo esplicito un nome host secondario, usare l'argomento della parola chiave facoltativo secondary_hostname nell'istanza.

Eccezioni

secondary_hostname

Nome host dell'endpoint secondario.

Se non è disponibile, questo sarà Nessuno. Per specificare in modo esplicito un nome host secondario, usare l'argomento della parola chiave facoltativo secondary_hostname nell'istanza.

url

URL completo dell'endpoint per questa entità, incluso il token di firma di accesso condiviso se usato.

Questo potrebbe essere l'endpoint primario o l'endpoint secondario a seconda dell'oggetto corrente location_mode. :restituisce: URL completo dell'endpoint per questa entità, incluso il token di firma di accesso condiviso se usato. :rtype: str