Partager via


BlobServiceClient Classe

Client pour interagir avec le service Blob au niveau du compte.

Ce client fournit des opérations pour récupérer et configurer les propriétés du compte, ainsi que pour répertorier, créer et supprimer des conteneurs dans le compte. Pour les opérations relatives à un conteneur ou à un objet blob spécifique, les clients de ces entités peuvent également être récupérés à l’aide des fonctions get_client .

Pour une configuration plus facultative, cliquez ici.

Héritage
azure.storage.blob._shared.base_client.StorageAccountHostsMixin
BlobServiceClient
azure.storage.blob._encryption.StorageEncryptionMixin
BlobServiceClient

Constructeur

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

Paramètres

account_url
str
Obligatoire

URL du compte de stockage d’objets blob. Toutes les autres entités incluses dans le chemin d’URL (par exemple, conteneur ou objet blob) seront ignorées. Cette URL peut être éventuellement authentifiée avec un jeton SAS.

credential
valeur par défaut: None

Informations d’identification avec lesquelles s’authentifier. Cette option est facultative si l’URL du compte a déjà un jeton SAP. La valeur peut être une chaîne de jeton SAS, une instance d’une classe AzureSasCredential ou AzureNamedKeyCredential à partir d’azure.core.credentials, une clé d’accès partagé de compte ou une instance d’une classe TokenCredentials d’azure.identity. Si l’URI de ressource contient déjà un jeton SAP, celui-ci est ignoré au profit d’informations d’identification explicites.

  • sauf dans le cas d’AzureSasCredential, où les jetons SAP en conflit déclenchent une ValeurError. Si vous utilisez une instance d’AzureNamedKeyCredential, « name » doit être le nom du compte de stockage et « key » doit être la clé du compte de stockage.
api_version
str

Version de l’API de stockage à utiliser pour les requêtes. La valeur par défaut est la version de service la plus récente compatible avec le KIT de développement logiciel (SDK) actuel. La définition d’une version antérieure peut entraîner une compatibilité des fonctionnalités réduite.

Nouveautés de la version 12.2.0.

secondary_hostname
str

Nom d’hôte du point de terminaison secondaire.

max_block_size
int

Taille de segment maximale pour le chargement d’un objet blob de blocs en blocs. La valeur par défaut est 4*1024*1024 ou 4 Mo.

max_single_put_size
int

Si la taille de l’objet blob est inférieure ou égale max_single_put_size, l’objet blob est chargé avec une seule requête HTTP PUT. Si la taille de l’objet blob est supérieure à max_single_put_size, l’objet blob est chargé en blocs. La valeur par défaut est 64*1024*1024 ou 64 Mo.

min_large_block_upload_threshold
int

Taille de segment minimale requise pour utiliser l’algorithme mémoire efficace lors du chargement d’un objet blob de blocs. La valeur par défaut est 4*1024*1024+1.

use_byte_buffer
bool

Utilisez une mémoire tampon d’octets pour les chargements d’objets blob de blocs. Valeur par défaut False.

max_page_size
int

Taille de segment maximale pour le chargement d’un objet blob de pages. La valeur par défaut est 4*1024*1024 ou 4 Mo.

max_single_get_size
int

Taille maximale d’un objet blob à télécharger en un seul appel, la partie dépassée est téléchargée en blocs (peut être parallèle). La valeur par défaut est 32*1024*1024 ou 32 Mo.

max_chunk_get_size
int

Taille de segment maximale utilisée pour le téléchargement d’un objet blob. La valeur par défaut est 4*1024*1024 ou 4 Mo.

Méthodes

close

Cette méthode consiste à fermer les sockets ouverts par le client. Il n’a pas besoin d’être utilisé lors de l’utilisation avec un gestionnaire de contexte.

create_container

Crée un conteneur sous le compte spécifié.

Si le conteneur portant le même nom existe déjà, un ResourceExistsError est déclenché. Cette méthode retourne un client avec lequel interagir avec le conteneur nouvellement créé.

delete_container

Marque le conteneur spécifié pour la suppression.

Le conteneur et les objets blob contenus dans ce conteneur sont supprimés lors du garbage collection. Si le conteneur est introuvable, un ResourceNotFoundError est déclenché.

find_blobs_by_tags

L’opération Filtrer les objets blob permet aux appelants de répertorier les objets blob sur tous les conteneurs dont les balises correspondent à une expression de recherche donnée. Les objets blob de filtre effectuent des recherches dans tous les conteneurs d’un compte de stockage, mais peuvent être délimités dans l’expression à un seul conteneur.

from_connection_string

Créez BlobServiceClient à partir d’une chaîne de connexion.

get_account_information

Obtient des informations relatives au compte de stockage.

Les informations peuvent également être récupérées si l’utilisateur dispose d’une signature SAP dans un conteneur ou un objet blob. Les clés du dictionnaire retourné incluent « sku_name » et « account_kind ».

get_blob_client

Obtenir un client pour interagir avec l’objet blob spécifié.

L’objet blob n’a pas besoin d’exister.

get_container_client

Obtenir un client pour interagir avec le conteneur spécifié.

Le conteneur n’a pas besoin d’exister.

get_service_properties

Obtient les propriétés du service Blob d’un compte de stockage, y compris Azure Storage Analytics.

get_service_stats

Récupère des statistiques relatives à la réplication pour le service BLOB.

Elle est disponible uniquement lorsque la réplication géoredondante avec accès en lecture est activée pour le compte de stockage.

Avec la réplication géographique redondante, le stockage Azure conserve vos données dans deux emplacements. Dans les deux emplacements, le stockage Azure conserve constamment plusieurs réplicas sains de vos données. L'emplacement où vous lisez, créez, mettez à jour ou supprimez les données est l'emplacement du compte de stockage principal. L’emplacement principal existe dans la région que vous choisissez au moment de créer un compte via le portail Azure Management Azure Classic, par exemple, USA Centre-Nord. L'emplacement dans lequel vos données sont répliquées est l'emplacement secondaire. L'emplacement secondaire est automatiquement déterminé en fonction de l'emplacement principal ; il se trouve dans un deuxième centre de données qui réside dans la même région que l'emplacement principal. L'accès en lecture seule est disponible à partir de l'emplacement secondaire, si la réplication géographique redondante avec accès en lecture est activée pour votre compte de stockage.

get_user_delegation_key

Obtenez une clé de délégation utilisateur dans le but de signer des jetons SAP. Des informations d’identification de jeton doivent être présentes sur l’objet de service pour que cette demande réussisse.

list_containers

Retourne un générateur pour répertorier les conteneurs sous le compte spécifié.

Le générateur suit paresseusement les jetons de continuation retournés par le service et s’arrête lorsque tous les conteneurs ont été retournés.

set_service_properties

Définit les propriétés du service Blob d’un compte de stockage, y compris Azure Storage Analytics.

Si un élément (par exemple, analytics_logging) est laissé comme Aucun, les paramètres existants sur le service pour cette fonctionnalité sont conservés.

undelete_container

Restaure le conteneur supprimé de manière réversible.

L’opération ne réussit que si elle est utilisée dans le nombre de jours spécifié défini dans la stratégie de rétention de suppression.

Nouveautés de la version 12.4.0 : cette opération a été introduite dans la version d’API « 2019-12-12 ».

close

Cette méthode consiste à fermer les sockets ouverts par le client. Il n’a pas besoin d’être utilisé lors de l’utilisation avec un gestionnaire de contexte.

close()

create_container

Crée un conteneur sous le compte spécifié.

Si le conteneur portant le même nom existe déjà, un ResourceExistsError est déclenché. Cette méthode retourne un client avec lequel interagir avec le conteneur nouvellement créé.

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

Paramètres

name
str
Obligatoire

Nom du conteneur à créer.

metadata
dict(str, str)
Obligatoire

dict avec des paires nom-valeur à associer au conteneur en tant que métadonnées. Exemple : {'Category':'test'}

public_access
str ou PublicAccess
Obligatoire

Les valeurs possibles sont les suivantes : 'container', 'blob'.

container_encryption_scope
dict ou ContainerEncryptionScope

Spécifie l’étendue de chiffrement par défaut à définir sur le conteneur et à utiliser pour toutes les écritures ultérieures.

Nouveautés de la version 12.2.0.

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Type de retour

delete_container

Marque le conteneur spécifié pour la suppression.

Le conteneur et les objets blob contenus dans ce conteneur sont supprimés lors du garbage collection. Si le conteneur est introuvable, un ResourceNotFoundError est déclenché.

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

Paramètres

container
str ou ContainerProperties
Obligatoire

Conteneur à supprimer. Il peut s’agir du nom du conteneur ou d’un instance de ContainerProperties.

lease
Obligatoire

S’il est spécifié, delete_container réussit uniquement si le bail du conteneur est actif et correspond à cet ID. Obligatoire si le conteneur a un bail actif.

if_modified_since
datetime

Valeur DateTime. Azure s’attend à ce que la valeur de date transmise soit UTC. Si le fuseau horaire est inclus, toutes les dates-heures non UTC seront converties en UTC. Si une date est transmise sans informations de fuseau horaire, elle est supposée être UTC. Spécifiez cet en-tête pour exécuter l'opération uniquement si la ressource a été modifiée depuis le temps indiqué.

if_unmodified_since
datetime

Valeur DateTime. Azure s’attend à ce que la valeur de date transmise soit UTC. Si le fuseau horaire est inclus, toutes les dates-heures non UTC seront converties en UTC. Si une date est transmise sans informations de fuseau horaire, elle est supposée être UTC. Spécifiez cet en-tête pour exécuter l'opération uniquement si la ressource n'a pas été modifiée depuis la date/l'heure indiquées.

etag
str

Spécifiez une valeur ETag ou le caractère générique *. Permet de case activée si la ressource a changé et d’agir en fonction de la condition spécifiée par le paramètre match_condition.

match_condition
MatchConditions

Condition de correspondance à utiliser sur l’etag.

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Type de retour

find_blobs_by_tags

L’opération Filtrer les objets blob permet aux appelants de répertorier les objets blob sur tous les conteneurs dont les balises correspondent à une expression de recherche donnée. Les objets blob de filtre effectuent des recherches dans tous les conteneurs d’un compte de stockage, mais peuvent être délimités dans l’expression à un seul conteneur.

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

Paramètres

filter_expression
str
Obligatoire

Expression permettant de rechercher des objets blob dont les balises correspondent à la condition spécifiée. par exemple « "yourtagname"='firsttag' et « yourtagname2"='secondtag' » Pour spécifier un conteneur, par exemple. « @container='containerName' et « Name"='C' »

results_per_page
int

Résultat maximal par page lors de la pagination.

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Retours

Réponse itérable (pagination automatique) de BlobProperties.

Type de retour

from_connection_string

Créez BlobServiceClient à partir d’une chaîne de connexion.

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

Paramètres

conn_str
str
Obligatoire

Chaîne de connexion à un compte stockage Azure.

credential
valeur par défaut: None

Informations d’identification avec lesquelles s’authentifier. Cette option est facultative si l’URL du compte a déjà un jeton SAS ou si la chaîne de connexion a déjà des valeurs de clé d’accès partagé. La valeur peut être une chaîne de jeton SAS, une instance d’une classe AzureSasCredential ou AzureNamedKeyCredential à partir d’azure.core.credentials, une clé d’accès partagé de compte ou une instance d’une classe TokenCredentials d’azure.identity. Les informations d’identification fournies ici sont prioritaires sur celles de la chaîne de connexion. Si vous utilisez une instance d’AzureNamedKeyCredential, « name » doit être le nom du compte de stockage et « key » doit être la clé du compte de stockage.

Retours

Un client de service Blob.

Type de retour

get_account_information

Obtient des informations relatives au compte de stockage.

Les informations peuvent également être récupérées si l’utilisateur dispose d’une signature SAP dans un conteneur ou un objet blob. Les clés du dictionnaire retourné incluent « sku_name » et « account_kind ».

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

Retours

dict d’informations de compte (référence SKU et type de compte).

Type de retour

get_blob_client

Obtenir un client pour interagir avec l’objet blob spécifié.

L’objet blob n’a pas besoin d’exister.

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

Paramètres

container
str ou ContainerProperties
Obligatoire

Conteneur dans lequel se trouve l’objet blob. Il peut s’agir du nom du conteneur ou d’un instance de ContainerProperties.

blob
str ou BlobProperties
Obligatoire

Objet blob avec lequel interagir. Il peut s’agir du nom de l’objet blob ou d’un instance de BlobProperties.

snapshot
str ou dict(str, Any)
valeur par défaut: None

L’objet blob facultatif instantané sur lequel fonctionner. Il peut s’agir de l’ID du instantané ou d’une sortie de dictionnaire retournée par create_snapshot.

version_id
str

Le paramètre d’id de version est une valeur DateTime opaque qui, lorsqu’elle est présente, spécifie la version de l’objet blob à utiliser.

Retours

A BlobClient.

Type de retour

get_container_client

Obtenir un client pour interagir avec le conteneur spécifié.

Le conteneur n’a pas besoin d’exister.

get_container_client(container: ContainerProperties | str) -> ContainerClient

Paramètres

container
str ou ContainerProperties
Obligatoire

Conteneur. Il peut s’agir du nom du conteneur ou d’un instance de ContainerProperties.

Retours

ConteneurClient.

Type de retour

get_service_properties

Obtient les propriétés du service Blob d’un compte de stockage, y compris Azure Storage Analytics.

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

Paramètres

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Retours

Objet contenant des propriétés de service blob telles que la journalisation analytique, les métriques d’heure/minute, les règles cors, etc.

Type de retour

get_service_stats

Récupère des statistiques relatives à la réplication pour le service BLOB.

Elle est disponible uniquement lorsque la réplication géoredondante avec accès en lecture est activée pour le compte de stockage.

Avec la réplication géographique redondante, le stockage Azure conserve vos données dans deux emplacements. Dans les deux emplacements, le stockage Azure conserve constamment plusieurs réplicas sains de vos données. L'emplacement où vous lisez, créez, mettez à jour ou supprimez les données est l'emplacement du compte de stockage principal. L’emplacement principal existe dans la région que vous choisissez au moment de créer un compte via le portail Azure Management Azure Classic, par exemple, USA Centre-Nord. L'emplacement dans lequel vos données sont répliquées est l'emplacement secondaire. L'emplacement secondaire est automatiquement déterminé en fonction de l'emplacement principal ; il se trouve dans un deuxième centre de données qui réside dans la même région que l'emplacement principal. L'accès en lecture seule est disponible à partir de l'emplacement secondaire, si la réplication géographique redondante avec accès en lecture est activée pour votre compte de stockage.

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

Paramètres

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Retours

Statistiques du service BLOB.

Type de retour

get_user_delegation_key

Obtenez une clé de délégation utilisateur dans le but de signer des jetons SAP. Des informations d’identification de jeton doivent être présentes sur l’objet de service pour que cette demande réussisse.

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

Paramètres

key_start_time
datetime
Obligatoire

Valeur DateTime. Indique quand la clé devient valide.

key_expiry_time
datetime
Obligatoire

Valeur DateTime. Indique quand la clé cesse d’être valide.

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Retours

Clé de délégation utilisateur.

Type de retour

list_containers

Retourne un générateur pour répertorier les conteneurs sous le compte spécifié.

Le générateur suit paresseusement les jetons de continuation retournés par le service et s’arrête lorsque tous les conteneurs ont été retournés.

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

Paramètres

name_starts_with
str
Obligatoire

Filtre les résultats pour renvoyer uniquement les conteneurs dont les noms commencent par le préfixe spécifié.

include_metadata
bool
Obligatoire

Spécifie les métadonnées de conteneur à retourner dans la réponse. La valeur par défaut est False.

include_deleted
bool

Spécifie que les conteneurs supprimés doivent être retournés dans la réponse. Il s’agit du compte pour lequel la restauration de conteneur est activée. La valeur par défaut est False. .. versionadded:: 12.4.0

include_system
bool

Indicateur spécifiant que les conteneurs système doivent être inclus. .. versionadded:: 12.10.0

results_per_page
int

Nombre maximal de noms de conteneur à récupérer par appel d’API. Si la demande ne spécifie pas, le serveur retourne jusqu’à 5 000 éléments.

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Retours

Itérable (pagination automatique) de ContainerProperties.

Type de retour

set_service_properties

Définit les propriétés du service Blob d’un compte de stockage, y compris Azure Storage Analytics.

Si un élément (par exemple, analytics_logging) est laissé comme Aucun, les paramètres existants sur le service pour cette fonctionnalité sont conservés.

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

Paramètres

analytics_logging
BlobAnalyticsLogging
Obligatoire

Regroupe les paramètres de journalisation d'analyse Azure.

hour_metrics
Metrics
Obligatoire

Les paramètres des métriques d’heure fournissent un résumé des statistiques de requête regroupées par API dans des agrégats horaires pour les objets blob.

minute_metrics
Metrics
Obligatoire

Les paramètres des métriques de minute fournissent des statistiques de requête pour chaque minute pour les objets blob.

cors
list[CorsRule]
Obligatoire

Vous pouvez inclure jusqu’à cinq éléments CorsRule dans la liste. Si une liste vide est spécifiée, toutes les règles CORS sont supprimées et CORS sont désactivées pour le service.

target_version
str
Obligatoire

Indique la version par défaut à utiliser pour les requêtes si la version d’une requête entrante n’est pas spécifiée.

delete_retention_policy
RetentionPolicy
Obligatoire

La stratégie de rétention de suppression spécifie s’il faut conserver les objets blob supprimés. Il spécifie également le nombre de jours et de versions d’objet blob à conserver.

static_website
StaticWebsite
Obligatoire

Spécifie si la fonctionnalité de site web statique est activée et, si oui, indique le document d’index et le document d’erreur 404 à utiliser.

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Type de retour

undelete_container

Restaure le conteneur supprimé de manière réversible.

L’opération ne réussit que si elle est utilisée dans le nombre de jours spécifié défini dans la stratégie de rétention de suppression.

Nouveautés de la version 12.4.0 : cette opération a été introduite dans la version d’API « 2019-12-12 ».

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

Paramètres

deleted_container_name
str
Obligatoire

Spécifie le nom du conteneur supprimé à restaurer.

deleted_container_version
str
Obligatoire

Spécifie la version du conteneur supprimé à restaurer.

timeout
int

Définit le délai d’attente côté serveur pour l’opération en secondes. Pour plus d’informations, consultez https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Cette valeur n’est pas suivie ou validée sur le client. Pour configurer les délais d’expiration du réseau côté client, consultez ici.

Retours

ConteneurClient non supprimé.

Type de retour

Attributs

api_version

Version de l’API de stockage utilisée pour les requêtes.

location_mode

Mode d’emplacement que le client utilise actuellement.

Par défaut, il s’agit de « primary ». Les options incluent « principal » et « secondaire ».

primary_endpoint

URL complète du point de terminaison principal.

primary_hostname

Nom d’hôte du point de terminaison principal.

secondary_endpoint

URL de point de terminaison secondaire complète si configurée.

S’il n’est pas disponible, un objet ValueError est déclenché. Pour spécifier explicitement un nom d’hôte secondaire, utilisez l’argument facultatif secondary_hostname mot clé lors de l’instanciation.

Exceptions

secondary_hostname

Nom d’hôte du point de terminaison secondaire.

S’il n’est pas disponible, il s’agit de Aucun. Pour spécifier explicitement un nom d’hôte secondaire, utilisez l’argument facultatif secondary_hostname mot clé lors de l’instanciation.

url

URL de point de terminaison complète de cette entité, y compris le jeton SAP s’il est utilisé.

Il peut s’agir du point de terminaison principal ou du point de terminaison secondaire en fonction du actuel location_mode. :returns : URL de point de terminaison complète de cette entité, y compris le jeton SAP s’il est utilisé. :rtype: str