Sdílet prostřednictvím


BlobServiceClient Třída

Klient pro interakci se službou Blob Service na úrovni účtu.

Tento klient poskytuje operace pro načtení a konfiguraci vlastností účtu a také výpis, vytváření a odstraňování kontejnerů v rámci účtu. U operací souvisejících s konkrétním kontejnerem nebo objektem blob je možné klienty pro tyto entity načíst také pomocí get_client funkcí.

Další volitelnou konfiguraci potřebujete kliknutím sem.

Dědičnost
azure.storage.blob._shared.base_client.StorageAccountHostsMixin
BlobServiceClient
azure.storage.blob._encryption.StorageEncryptionMixin
BlobServiceClient

Konstruktor

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

Parametry

account_url
str
Vyžadováno

Adresa URL účtu úložiště objektů blob. Všechny ostatní entity zahrnuté v cestě URL (např. kontejner nebo objekt blob) se zahodí. Tuto adresu URL je možné volitelně ověřit pomocí tokenu SAS.

credential
výchozí hodnota: None

Přihlašovací údaje, pomocí kterých se má ověřit. Tato možnost je volitelná, pokud adresa URL účtu už token SAS má. Hodnotou může být řetězec tokenu SAS, instance AzureSasCredential nebo AzureNamedKeyCredential z azure.core.credentials, sdílený přístupový klíč účtu nebo instance třídy TokenCredentials z azure.identity. Pokud identifikátor URI prostředku už obsahuje token SAS, bude se tento token ignorovat ve prospěch explicitních přihlašovacích údajů.

  • s výjimkou případu AzureSasCredential, kde konfliktní tokeny SAS způsobí chybu ValueError. Pokud používáte instanci AzureNamedKeyCredential, název by měl být název účtu úložiště a klíč by měl být klíč účtu úložiště.
api_version
str

Verze rozhraní API služby Storage, která se má použít pro požadavky. Výchozí hodnota je nejnovější verze služby, která je kompatibilní s aktuální sadou SDK. Nastavení na starší verzi může mít za následek snížení kompatibility funkcí.

Novinka ve verzi 12.2.0.

secondary_hostname
str

Název hostitele sekundárního koncového bodu.

max_block_size
int

Maximální velikost bloku pro nahrání objektu blob bloku v blocích. Výchozí hodnota je 4*1024*1024 nebo 4 MB.

max_single_put_size
int

Pokud je velikost objektu blob menší nebo rovna max_single_put_size, pak se objekt blob nahraje jenom s jedním požadavkem HTTP PUT. Pokud je velikost objektu blob větší než max_single_put_size, nahraje se objekt blob v blocích. Výchozí hodnota je 64*1024*1024 nebo 64 MB.

min_large_block_upload_threshold
int

Minimální velikost bloku potřebné k použití algoritmu efektivního z hlediska paměti při nahrávání objektu blob bloku. Výchozí hodnota je 4*1024*1024+1.

use_byte_buffer
bool

Pro nahrávání objektů blob bloku použijte vyrovnávací paměť bajtů. Výchozí hodnota je False.

max_page_size
int

Maximální velikost bloků dat pro nahrání objektu blob stránky Výchozí hodnota je 4*1024*1024 nebo 4 MB.

max_single_get_size
int

Maximální velikost objektu blob ke stažení při jednom volání, překročená část se stáhne v blocích (může být paralelní). Výchozí hodnota je 32*1024*1024 nebo 32 MB.

max_chunk_get_size
int

Maximální velikost bloku dat použitá ke stažení objektu blob. Výchozí hodnota je 4*1024*1024 nebo 4 MB.

Metody

close

Tato metoda slouží k zavření soketů otevřených klientem. Nemusí se používat při použití se správcem kontextu.

create_container

Vytvoří nový kontejner pod zadaným účtem.

Pokud kontejner se stejným názvem již existuje, bude vyvolána chyba ResourceExistsError. Tato metoda vrátí klienta, se kterým chcete pracovat s nově vytvořeným kontejnerem.

delete_container

Označí zadaný kontejner pro odstranění.

Kontejner a všechny objekty blob v něm obsažené se později odstraní během uvolňování paměti. Pokud se kontejner nenajde, vyvolá se chyba ResourceNotFoundError.

find_blobs_by_tags

Operace Filtrovat objekty blob umožňuje volajícím vypsat objekty blob ve všech kontejnerech, jejichž značky odpovídají danému vyhledávacímu výrazu. Objekty blob filtru prohledávají všechny kontejnery v rámci účtu úložiště, ale je možné je v rámci výrazu nastavit na jeden kontejner.

from_connection_string

Vytvořte Objekt BlobServiceClient z připojovacího řetězce.

get_account_information

Získá informace související s účtem úložiště.

Informace je možné načíst také v případě, že má uživatel sas ke kontejneru nebo objektu blob. Mezi klíče ve vráceném slovníku patří "sku_name" a "account_kind".

get_blob_client

Získejte klienta pro interakci se zadaným objektem blob.

Objekt blob ještě nemusí existovat.

get_container_client

Získejte klienta pro interakci se zadaným kontejnerem.

Kontejner ještě nemusí existovat.

get_service_properties

Získá vlastnosti služby Blob service účtu úložiště, včetně Azure Analýza úložiště.

get_service_stats

Načte statistiky související s replikací pro službu Blob Service.

Je k dispozici pouze v případě, že je pro účet úložiště povolená geograficky redundantní replikace s přístupem pro čtení.

Díky geograficky redundantní replikaci azure storage udržuje vaše data odolná ve dvou umístěních. V obou umístěních Azure Storage neustále udržuje několik replik dat, které jsou v pořádku. Umístění, kde čtete, vytváříte, aktualizujete nebo odstraňujete data, je primární umístění účtu úložiště. Primární umístění existuje v oblasti, kterou zvolíte, v okamžiku vytvoření účtu prostřednictvím portálu Azure Management Azure Classic, například USA – středosever. Umístění, do kterého se data replikují, je sekundární umístění. Sekundární umístění je automaticky určeno na základě umístění primární; nachází se ve druhém datovém centru, které se nachází ve stejné oblasti jako primární umístění. Přístup jen pro čtení je k dispozici ze sekundárního umístění, pokud je pro váš účet úložiště povolená geograficky redundantní replikace s přístupem pro čtení.

get_user_delegation_key

Získejte klíč delegování uživatele pro účely podepisování tokenů SAS. Aby byl tento požadavek úspěšný, musí být v objektu služby k dispozici přihlašovací údaje tokenu.

list_containers

Vrátí generátor pro výpis kontejnerů v zadaném účtu.

Generátor bude líně sledovat tokeny pokračování vrácené službou a zastaví se, jakmile se vrátí všechny kontejnery.

set_service_properties

Nastaví vlastnosti služby Blob service účtu úložiště, včetně Azure Analýza úložiště.

Pokud je prvek (např. analytics_logging) ponechán jako Žádný, stávající nastavení služby pro danou funkci se zachovají.

undelete_container

Obnoví obnovitelně odstraněný kontejner.

Operace bude úspěšná jenom v případě, že se použije v rámci zadaného počtu dnů nastaveného v zásadách uchovávání informací o odstranění.

Novinka ve verzi 12.4.0: Tato operace byla zavedena ve verzi rozhraní API 2019-12-12.2012.

close

Tato metoda slouží k zavření soketů otevřených klientem. Nemusí se používat při použití se správcem kontextu.

close()

create_container

Vytvoří nový kontejner pod zadaným účtem.

Pokud kontejner se stejným názvem již existuje, bude vyvolána chyba ResourceExistsError. Tato metoda vrátí klienta, se kterým chcete pracovat s nově vytvořeným kontejnerem.

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

Parametry

name
str
Vyžadováno

Název kontejneru, který chcete vytvořit.

metadata
dict(str, str)
Vyžadováno

Diktování s páry název-hodnota, které se přidruží ke kontejneru jako metadata. Příklad: {'Category':'test'}

public_access
str nebo PublicAccess
Vyžadováno

Mezi možné hodnoty patří kontejner, objekt blob.

container_encryption_scope
dict nebo ContainerEncryptionScope

Určuje výchozí obor šifrování, který se nastaví v kontejneru a použije se pro všechny budoucí zápisy.

Novinka ve verzi 12.2.0.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Tato hodnota není v klientovi sledována ani ověřena. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návratový typ

delete_container

Označí zadaný kontejner pro odstranění.

Kontejner a všechny objekty blob v něm obsažené se později odstraní během uvolňování paměti. Pokud se kontejner nenajde, vyvolá se chyba ResourceNotFoundError.

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

Parametry

container
str nebo ContainerProperties
Vyžadováno

Kontejner, který chcete odstranit. Může to být buď název kontejneru, nebo instance ContainerProperties.

lease
Vyžadováno

Pokud je zadáno, delete_container bude úspěšná jenom v případě, že je zapůjčení kontejneru aktivní a odpovídá tomuto ID. Vyžaduje se, pokud má kontejner aktivní zapůjčení.

if_modified_since
datetime

Hodnota DateTime. Azure očekává, že hodnota předaného data bude UTC. Pokud je zahrnuté časové pásmo, všechny hodnoty datetime mimo UTC se převedou na UTC. Pokud je datum předáno bez informací o časovém pásmu, předpokládá se, že je to UTC. Tuto hlavičku zadejte, aby se operace prováděla pouze v případě, že byl prostředek od zadaného času změněn.

if_unmodified_since
datetime

Hodnota DateTime. Azure očekává, že hodnota předaného data bude UTC. Pokud je zahrnuté časové pásmo, všechny hodnoty datetime mimo UTC se převedou na UTC. Pokud je datum předáno bez informací o časovém pásmu, předpokládá se, že je to UTC. Tuto hlavičku zadejte pro provedení operace pouze v případě, že prostředek nebyl od zadaného data a času změněn.

etag
str

Hodnota značky ETag nebo zástupný znak (*). Slouží ke kontrole, jestli se prostředek změnil, a k chování podle podmínky zadané parametrem match_condition .

match_condition
MatchConditions

Podmínka shody, která se má použít u značky etag.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Tato hodnota není v klientovi sledována ani ověřena. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návratový typ

find_blobs_by_tags

Operace Filtrovat objekty blob umožňuje volajícím vypsat objekty blob ve všech kontejnerech, jejichž značky odpovídají danému vyhledávacímu výrazu. Objekty blob filtru prohledávají všechny kontejnery v rámci účtu úložiště, ale je možné je v rámci výrazu nastavit na jeden kontejner.

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

Parametry

filter_expression
str
Vyžadováno

Výraz pro vyhledání objektů blob, jejichž značky odpovídají zadané podmínce. např. ""yourtagname"='firsttag' and "yourtagname2"='secondtag'" Určení kontejneru, např. "@container='containerName' and "Name"='C'"

results_per_page
int

Maximální výsledek na stránku při stránkování

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Tato hodnota není v klientovi sledována ani ověřena. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Iterovatelná (automaticky stránkovací) odpověď objektu BlobProperties.

Návratový typ

from_connection_string

Vytvořte Objekt BlobServiceClient z připojovacího řetězce.

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

Parametry

conn_str
str
Vyžadováno

Připojovací řetězec k účtu služby Azure Storage.

credential
výchozí hodnota: None

Přihlašovací údaje, pomocí kterých se má ověřit. Tato možnost je volitelná, pokud adresa URL účtu už má token SAS nebo připojovací řetězec už obsahuje hodnoty sdíleného přístupového klíče. Hodnotou může být řetězec tokenu SAS, instance AzureSasCredential nebo AzureNamedKeyCredential z azure.core.credentials, sdílený přístupový klíč účtu nebo instance třídy TokenCredentials z azure.identity. Zde zadané přihlašovací údaje budou mít přednost před přihlašovacími údaji v připojovacím řetězci. Pokud používáte instanci AzureNamedKeyCredential, název by měl být název účtu úložiště a klíč by měl být klíč účtu úložiště.

Návraty

Klient služby Blob Service.

Návratový typ

get_account_information

Získá informace související s účtem úložiště.

Informace je možné načíst také v případě, že má uživatel sas ke kontejneru nebo objektu blob. Mezi klíče ve vráceném slovníku patří "sku_name" a "account_kind".

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

Návraty

Dikt informací o účtu (SKU a typ účtu).

Návratový typ

get_blob_client

Získejte klienta pro interakci se zadaným objektem blob.

Objekt blob ještě nemusí existovat.

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

Parametry

container
str nebo ContainerProperties
Vyžadováno

Kontejner, ve které se objekt blob nachází. Může to být buď název kontejneru, nebo instance ContainerProperties.

blob
str nebo BlobProperties
Vyžadováno

Objekt blob, se kterým chcete pracovat. Může to být buď název objektu blob, nebo instance objektu BlobProperties.

snapshot
str nebo dict(str, Any)
výchozí hodnota: None

Volitelný snímek objektu blob, se kterým se má pracovat. Může to být ID snímku nebo výstup slovníku vrácený nástrojem create_snapshot.

version_id
str

Parametr id verze je neprůselná hodnota DateTime, která pokud je k dispozici, určuje verzi objektu blob, se kterou se má pracovat.

Návraty

A BlobClient.

Návratový typ

get_container_client

Získejte klienta pro interakci se zadaným kontejnerem.

Kontejner ještě nemusí existovat.

get_container_client(container: ContainerProperties | str) -> ContainerClient

Parametry

container
str nebo ContainerProperties
Vyžadováno

Kontejner Může to být buď název kontejneru, nebo instance ContainerProperties.

Návraty

A ContainerClient.

Návratový typ

get_service_properties

Získá vlastnosti služby Blob service účtu úložiště, včetně Azure Analýza úložiště.

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

Parametry

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Tato hodnota není v klientovi sledována ani ověřena. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Objekt obsahující vlastnosti služby Blob Service, jako je protokolování analýz, metriky hodin a minut, pravidla cors atd.

Návratový typ

get_service_stats

Načte statistiky související s replikací pro službu Blob Service.

Je k dispozici pouze v případě, že je pro účet úložiště povolená geograficky redundantní replikace s přístupem pro čtení.

Díky geograficky redundantní replikaci azure storage udržuje vaše data odolná ve dvou umístěních. V obou umístěních Azure Storage neustále udržuje několik replik dat, které jsou v pořádku. Umístění, kde čtete, vytváříte, aktualizujete nebo odstraňujete data, je primární umístění účtu úložiště. Primární umístění existuje v oblasti, kterou zvolíte, v okamžiku vytvoření účtu prostřednictvím portálu Azure Management Azure Classic, například USA – středosever. Umístění, do kterého se data replikují, je sekundární umístění. Sekundární umístění je automaticky určeno na základě umístění primární; nachází se ve druhém datovém centru, které se nachází ve stejné oblasti jako primární umístění. Přístup jen pro čtení je k dispozici ze sekundárního umístění, pokud je pro váš účet úložiště povolená geograficky redundantní replikace s přístupem pro čtení.

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

Parametry

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Tato hodnota není v klientovi sledována ani ověřena. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Statistiky služby Blob Service.

Návratový typ

get_user_delegation_key

Získejte klíč delegování uživatele pro účely podepisování tokenů SAS. Aby byl tento požadavek úspěšný, musí být v objektu služby k dispozici přihlašovací údaje tokenu.

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

Parametry

key_start_time
datetime
Vyžadováno

Hodnota DateTime. Označuje, kdy se klíč stane platným.

key_expiry_time
datetime
Vyžadováno

Hodnota DateTime. Označuje, kdy klíč přestane být platný.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Tato hodnota není v klientovi sledována ani ověřena. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Klíč delegování uživatele.

Návratový typ

list_containers

Vrátí generátor pro výpis kontejnerů v zadaném účtu.

Generátor bude líně sledovat tokeny pokračování vrácené službou a zastaví se, jakmile se vrátí všechny kontejnery.

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

Parametry

name_starts_with
str
Vyžadováno

Filtruje výsledky tak, aby vracely pouze kontejnery, jejichž názvy začínají zadanou předponou.

include_metadata
bool
Vyžadováno

Určuje, že metadata kontejneru se mají vrátit v odpovědi. Výchozí hodnota je False.

include_deleted
bool

Určuje, že odstraněné kontejnery mají být vráceny v odpovědi. Toto je pro účet s povoleným obnovením kontejneru. Výchozí hodnota je False. .. verzeadded:: 12.4.0

include_system
bool

Příznak určující, že by se měly zahrnout systémové kontejnery. .. verzeadded:: 12.10.0

results_per_page
int

Maximální počet názvů kontejnerů, které se mají načíst na volání rozhraní API. Pokud požadavek neurčil, server vrátí až 5 000 položek.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Tato hodnota není v klientovi sledována ani ověřena. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Iterable (automatické stránkování) ContainerProperties.

Návratový typ

set_service_properties

Nastaví vlastnosti služby Blob service účtu úložiště, včetně Azure Analýza úložiště.

Pokud je prvek (např. analytics_logging) ponechán jako Žádný, stávající nastavení služby pro danou funkci se zachovají.

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

Parametry

analytics_logging
BlobAnalyticsLogging
Vyžadováno

Seskupí nastavení protokolování Azure Analytics.

hour_metrics
Metrics
Vyžadováno

Nastavení hodinových metrik poskytuje souhrn statistik žádostí seskupených podle rozhraní API v hodinové agregaci objektů blob.

minute_metrics
Metrics
Vyžadováno

Nastavení minutových metrik poskytuje statistiky žádostí pro každou minutu pro objekty blob.

cors
list[CorsRule]
Vyžadováno

Do seznamu můžete zahrnout až pět prvků CorsRule. Pokud je zadaný prázdný seznam, odstraní se všechna pravidla CORS a cors se pro službu zakáže.

target_version
str
Vyžadováno

Označuje výchozí verzi, která se má použít pro požadavky, pokud není zadána verze příchozího požadavku.

delete_retention_policy
RetentionPolicy
Vyžadováno

Zásada odstranění uchovávání informací určuje, jestli se mají zachovat odstraněné objekty blob. Určuje také počet dnů a verze objektu blob, které se mají zachovat.

static_website
StaticWebsite
Vyžadováno

Určuje, jestli je povolená funkce statického webu, a pokud ano, označuje dokument indexu a dokument chyby 404, který se má použít.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Tato hodnota není v klientovi sledována ani ověřena. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návratový typ

undelete_container

Obnoví obnovitelně odstraněný kontejner.

Operace bude úspěšná jenom v případě, že se použije v rámci zadaného počtu dnů nastaveného v zásadách uchovávání informací o odstranění.

Novinka ve verzi 12.4.0: Tato operace byla zavedena ve verzi rozhraní API 2019-12-12.2012.

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

Parametry

deleted_container_name
str
Vyžadováno

Určuje název odstraněného kontejneru, který se má obnovit.

deleted_container_version
str
Vyžadováno

Určuje verzi odstraněného kontejneru, který se má obnovit.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Tato hodnota není v klientovi sledována ani ověřena. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Zrušený kontejner ContainerClient.

Návratový typ

Atributy

api_version

Verze rozhraní API služby Storage, která se používá pro požadavky.

location_mode

Režim umístění, který klient aktuálně používá.

Ve výchozím nastavení to bude "primární". Mezi možnosti patří "primární" a "sekundární".

primary_endpoint

Úplná adresa URL primárního koncového bodu.

primary_hostname

Název hostitele primárního koncového bodu.

secondary_endpoint

Úplná adresa URL sekundárního koncového bodu, pokud je nakonfigurovaná.

Pokud není k dispozici, bude vyvolána chyba ValueError. Pokud chcete explicitně zadat název sekundárního hostitele, použijte volitelný argument secondary_hostname klíčového slova pro vytvoření instance.

Výjimky

secondary_hostname

Název hostitele sekundárního koncového bodu.

Pokud není k dispozici, bude to Žádný. Pokud chcete explicitně zadat název sekundárního hostitele, použijte volitelný argument secondary_hostname klíčového slova pro vytvoření instance.

url

Úplná adresa URL koncového bodu pro tuto entitu, včetně tokenu SAS, pokud je použit.

To může být primární koncový bod nebo sekundární koncový bod v závislosti na aktuálním location_mode. :returns: Úplná adresa URL koncového bodu pro tuto entitu, včetně tokenu SAS, pokud je použit. :rtype: str