Share via


ContainerClient Klasse

Ein Client, der mit einem bestimmten Container interagiert, obwohl dieser Container möglicherweise noch nicht vorhanden ist.

Für Vorgänge, die sich auf ein bestimmtes Blob in diesem Container beziehen, kann ein Blobclient mithilfe der get_blob_client -Funktion abgerufen werden.

Weitere optionale Konfigurationen finden Sie hier.

Vererbung
azure.storage.blob._shared.base_client.StorageAccountHostsMixin
ContainerClient
azure.storage.blob._encryption.StorageEncryptionMixin
ContainerClient

Konstruktor

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

Parameter

account_url
str
Erforderlich

Der URI für das Speicherkonto. Um einen Client mit dem vollständigen URI für den Container zu erstellen, verwenden Sie die from_container_url classmethod.

container_name
str
Erforderlich

Der Name des Containers für das Blob.

credential
Standardwert: None

Die Anmeldeinformationen, mit denen die Authentifizierung erfolgt. Dies ist optional, wenn die Konto-URL bereits über ein SAS-Token verfügt. Der Wert kann eine SAS-Tokenzeichenfolge, eine instance eines AzureSasCredential- oder AzureNamedKeyCredential-Elements von azure.core.credentials, ein kontofreigaber Zugriffsschlüssel oder ein instance einer TokenCredentials-Klasse aus azure.identity sein. Wenn der Ressourcen-URI bereits ein SAS-Token enthält, wird dies zugunsten einer expliziten Anmeldeinformation ignoriert.

  • außer im Fall von AzureSasCredential, bei dem die in Konflikt stehenden SAS-Token einen ValueError auslösen. Wenn Sie eine instance von AzureNamedKeyCredential verwenden, sollte "name" der Name des Speicherkontos und "key" der Speicherkontoschlüssel sein.
api_version
str

Die Speicher-API-Version, die für Anforderungen verwendet werden soll. Der Standardwert ist die neueste Dienstversion, die mit dem aktuellen SDK kompatibel ist. Die Einstellung auf eine ältere Version kann zu einer verringerten Featurekompatibilität führen.

Neu in Version 12.2.0.

secondary_hostname
str

Der Hostname des sekundären Endpunkts.

max_block_size
int

Die maximale Blockgröße für das Hochladen eines Blockblobs in Blöcken. Der Standardwert ist 4*1024*1024 oder 4 MB.

max_single_put_size
int

Wenn die Blobgröße kleiner oder gleich max_single_put_size ist, wird das Blob mit nur einer HTTP PUT-Anforderung hochgeladen. Wenn die Blobgröße größer als max_single_put_size ist, wird das Blob in Blöcken hochgeladen. Der Standardwert ist 64*1024*1024 oder 64 MB.

min_large_block_upload_threshold
int

Die minimale Blockgröße, die erforderlich ist, um den speichereffizienten Algorithmus beim Hochladen eines Blockblobs zu verwenden. Der Standardwert ist 4*1024*1024+1.

use_byte_buffer
bool

Verwenden Sie einen Bytepuffer für Blockblobuploads. Der Standardwert lautet „False“.

max_page_size
int

Die maximale Blockgröße für das Hochladen eines Seitenblobs. Der Standardwert ist 4*1024*1024 oder 4 MB.

max_single_get_size
int

Die maximale Größe für ein Blob, das in einem einzelnen Aufruf heruntergeladen werden soll, der überschrittene Teil wird in Blöcken heruntergeladen (kann parallel sein). Der Standardwert ist 32*1024*1024 oder 32 MB.

max_chunk_get_size
int

Die maximale Blockgröße, die zum Herunterladen eines Blobs verwendet wird. Der Standardwert ist 4*1024*1024 oder 4 MB.

Methoden

acquire_lease

Fordert eine neue Lease an. Wenn der Container über keine aktive Lease verfügt, erstellt der Blob-Dienst eine Lease für den Container und gibt eine neue Lease-ID zurück.

close

Diese Methode besteht darin, die vom Client geöffneten Sockets zu schließen. Es muss nicht verwendet werden, wenn sie mit einem Kontext-Manager verwendet wird.

create_container

Erstellt einen neuen Container unter dem angegebenen Konto. Wenn ein Container mit demselben Namen bereits vorhanden ist, schlägt der Vorgang fehl.

delete_blob

Markiert das angegebene Blob oder Momentaufnahme zum Löschen.

Das BLOB wird später während der automatischen Speicherbereinigung gelöscht. Beachten Sie, dass Sie zum Löschen eines BLOB alle zugehörigen Momentaufnahmen löschen müssen. Sie können beide gleichzeitig mit dem delete_blob-Vorgang löschen.

Wenn eine Aufbewahrungsrichtlinie für das Löschen für den Dienst aktiviert ist, löscht dieser Vorgang das Blob oder die Momentaufnahme vorläufig und behält das Blob oder die Momentaufnahme für die angegebene Anzahl von Tagen. Nach der angegebenen Anzahl von Tagen werden die Blobdaten während der Garbage Collection aus dem Dienst entfernt. Auf vorläufig gelöschte Blobs oder Momentaufnahme kann über list_blobs die Option include=["deleted"] zugegriffen werden. Vorläufig gelöschte Blobs oder Momentaufnahme können mithilfe von wiederhergestellt werden.<xref:azure.storage.blob.BlobClient.undelete>

delete_blobs

Markiert die angegebenen Blobs oder Momentaufnahmen zum Löschen.

Die Blobs werden später während der Garbage Collection gelöscht. Beachten Sie, dass Sie zum Löschen von Blobs alle momentaufnahmen löschen müssen. Sie können beide gleichzeitig mit dem delete_blobs-Vorgang löschen.

Wenn eine Aufbewahrungsrichtlinie für das Löschen für den Dienst aktiviert ist, löscht dieser Vorgang die Blobs oder Momentaufnahmen vorläufig und behält die Blobs oder Momentaufnahmen für die angegebene Anzahl von Tagen bei. Nach der angegebenen Anzahl von Tagen werden die Daten von Blobs während der Garbage Collection aus dem Dienst entfernt. Vorläufig gelöschte Blobs oder Momentaufnahmen können mithilfe von list_blobsinclude=["deleted"] vorläufig gelöschte Blobs oder Momentaufnahmen wiederhergestellt werden. <xref:azure.storage.blob.BlobClient.undelete>

Die maximale Anzahl von Blobs, die in einer einzelnen Anforderung gelöscht werden können, beträgt 256.

delete_container

Markiert den angegebenen Container zum Löschen. Der Container und alle darin enthaltenen BLOBs werden später während der automatischen Speicherbereinigung gelöscht.

download_blob

Lädt ein Blob in den StorageStreamDownloader herunter. Die readall()-Methode muss verwendet werden, um den gesamten Inhalt zu lesen, oder readinto() muss verwendet werden, um das Blob in einen Stream herunterzuladen. Mithilfe von chunks() wird ein Iterator zurückgegeben, der es dem Benutzer ermöglicht, den Inhalt in Blöcken zu durchlaufen.

exists

Gibt True zurück, wenn ein Container vorhanden ist, und gibt andernfalls False zurück.

find_blobs_by_tags

Gibt einen Generator zurück, um die Blobs unter dem angegebenen Container aufzulisten, dessen Tags mit dem angegebenen Suchausdruck übereinstimmen. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken faul.

from_connection_string

Erstellen Sie ContainerClient aus einer Verbindungszeichenfolge.

from_container_url

Erstellen Sie ContainerClient aus einer Container-URL.

get_account_information

Ruft Informationen ab, die sich auf das Speicherkonto beziehen.

Die Informationen können auch abgerufen werden, wenn der Benutzer über eine SAS für einen Container oder blob verfügt. Die Schlüssel im zurückgegebenen Wörterbuch enthalten "sku_name" und "account_kind".

get_blob_client

Rufen Sie einen Client für die Interaktion mit dem angegebenen Blob ab.

Das Blob muss noch nicht vorhanden sein.

get_container_access_policy

Ruft die Berechtigungen für den angegebenen Container ab. Mit den Berechtigungen wird angegeben, ob auf die Containerdaten öffentlich zugegriffen werden kann.

get_container_properties

Gibt alle benutzerdefinierten Metadaten und Systemeigenschaften für den angegebenen Container zurück. Die zurückgegebenen Daten enthalten nicht die Liste von BLOBs des Containers.

list_blob_names

Gibt einen Generator zurück, um die Namen von Blobs unter dem angegebenen Container aufzulisten. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken faul.

Beachten Sie, dass bei Verwendung dieser API keine zusätzlichen Eigenschaften oder Metadaten zurückgegeben werden. Darüber hinaus hat diese API keine Option, zusätzliche Blobs wie Momentaufnahmen, Versionen, vorläufig gelöschte Blobs usw. einzuschließen. Um diese Daten abzurufen, verwenden Sie list_blobs.

list_blobs

Gibt einen Generator zurück, der die Blobs unter dem angegebenen Container auflistet. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken faul.

set_container_access_policy

Legt die Berechtigungen für den angegebenen Container oder die gespeicherten Zugriffsrichtlinien fest, die mit Shared Access Signatures verwendet werden können. Die Berechtigungen geben an, ob öffentlicher Zugriff auf BLOBs in einem Container zulässig ist.

set_container_metadata

Legt mindestens ein benutzerdefiniertes Name-Wert-Paar für den angegebenen Container fest. Bei jedem Aufruf dieses Vorgangs werden alle vorhandenen Metadaten ersetzt, die an den Container angefügt sind. Um alle Metadaten aus dem Container zu entfernen, rufen Sie diesen Vorgang ohne Metadatendikt auf.

set_premium_page_blob_tier_blobs

Legt die Seitenblobebenen für alle Blobs fest. Diese API wird nur für Seitenblobs in Premium-Konten unterstützt.

Die maximale Anzahl von Blobs, die in einer einzelnen Anforderung aktualisiert werden können, beträgt 256.

set_standard_blob_tier_blobs

Mit diesem Vorgang wird die Ebene für Blockblobs festgelegt.

Die Ebene eines Blockblobs bestimmt den Speichertyp Hot/Cool/Archive. Bei diesem Vorgang wird das ETag des Blobs nicht aktualisiert.

Die maximale Anzahl von Blobs, die in einer einzelnen Anforderung aktualisiert werden können, beträgt 256.

upload_blob

Erstellt ein neues Blob aus einer Datenquelle mit automatischem Blocking.

walk_blobs

Gibt einen Generator zurück, der die Blobs unter dem angegebenen Container auflistet. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken verzögert. Bei diesem Vorgang werden Blobs gemäß einer Hierarchie aufgelistet, die durch das angegebene Trennzeichen getrennt ist.

acquire_lease

Fordert eine neue Lease an. Wenn der Container über keine aktive Lease verfügt, erstellt der Blob-Dienst eine Lease für den Container und gibt eine neue Lease-ID zurück.

acquire_lease(lease_duration: int = -1, lease_id: str | None = None, **kwargs) -> BlobLeaseClient

Parameter

lease_duration
int
Erforderlich

Gibt die Dauer der Lease in Sekunden oder als minus eins (-1) für eine nie ablaufende Lease an. Die Dauer einer nicht unendlichen Lease kann zwischen 15 und 60 Sekunden liegen. Eine Leasedauer kann nicht mithilfe von Verlängerung oder Änderung geändert werden. Der Standardwert ist -1 (unbegrenzte Lease).

lease_id
str
Erforderlich

Vorgeschlagene Lease-ID in einem GUID-Zeichenfolgenformat. Der Blob-Dienst gibt 400 (Ungültige Anforderung) zurück, wenn die vorgeschlagene Lease-ID nicht das richtige Format aufweist.

if_modified_since
datetime

Ein DateTime-Wert Azure erwartet, dass der übergebene Datumswert UTC ist. Wenn die Zeitzone enthalten ist, werden alle datumstimen, die nicht utc sind, in UTC konvertiert. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist. Mit diesem Header legen Sie fest, dass der Vorgang nur ausgeführt wird, wenn die Ressource seit der angegebenen Zeit geändert wurde.

if_unmodified_since
datetime

Ein DateTime-Wert Azure erwartet, dass der übergebene Datumswert UTC ist. Wenn die Zeitzone enthalten ist, werden alle datumstimen, die nicht utc sind, in UTC konvertiert. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist. Mit diesem Header legen Sie fest, dass der Vorgang nur ausgeführt wird, wenn die Ressource seit dem angegebenen Datum/der angegebenen Uhrzeit nicht geändert wurde.

etag
str

Ein ETag-Wert oder das Platzhalterzeichen (*). Wird verwendet, um zu überprüfen, ob sich die Ressource geändert hat, und handelt gemäß der Bedingung, die vom parameter match_condition angegeben wird.

match_condition
MatchConditions

Die Übereinstimmungsbedingung, die für das etag verwendet werden soll.

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird auf dem Client nicht nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

Gibt zurück

Ein BlobLeaseClient-Objekt, das in einem Kontext-Manager ausgeführt werden kann.

Rückgabetyp

close

Diese Methode besteht darin, die vom Client geöffneten Sockets zu schließen. Es muss nicht verwendet werden, wenn sie mit einem Kontext-Manager verwendet wird.

close()

create_container

Erstellt einen neuen Container unter dem angegebenen Konto. Wenn ein Container mit demselben Namen bereits vorhanden ist, schlägt der Vorgang fehl.

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

Parameter

metadata
dict[str, str]
Erforderlich

Ein Diktat mit name_value Paaren, die dem Container als Metadaten zugeordnet werden sollen. Beispiel:{'Category':'test'}

public_access
PublicAccess
Erforderlich

Mögliche Werte sind: "container", "blob".

container_encryption_scope
dict oder ContainerEncryptionScope

Gibt den Standardverschlüsselungsbereich an, der für den Container festgelegt und für alle zukünftigen Schreibvorgänge verwendet werden soll.

Neu in Version 12.2.0.

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird auf dem Client nicht nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

Gibt zurück

Ein Wörterbuch mit Antwortheadern.

Rückgabetyp

delete_blob

Markiert das angegebene Blob oder Momentaufnahme zum Löschen.

Das BLOB wird später während der automatischen Speicherbereinigung gelöscht. Beachten Sie, dass Sie zum Löschen eines BLOB alle zugehörigen Momentaufnahmen löschen müssen. Sie können beide gleichzeitig mit dem delete_blob-Vorgang löschen.

Wenn eine Aufbewahrungsrichtlinie für das Löschen für den Dienst aktiviert ist, löscht dieser Vorgang das Blob oder die Momentaufnahme vorläufig und behält das Blob oder die Momentaufnahme für die angegebene Anzahl von Tagen. Nach der angegebenen Anzahl von Tagen werden die Blobdaten während der Garbage Collection aus dem Dienst entfernt. Auf vorläufig gelöschte Blobs oder Momentaufnahme kann über list_blobs die Option include=["deleted"] zugegriffen werden. Vorläufig gelöschte Blobs oder Momentaufnahme können mithilfe von wiederhergestellt werden.<xref:azure.storage.blob.BlobClient.undelete>

delete_blob(blob: str | BlobProperties, delete_snapshots: str | None = None, **kwargs) -> None

Parameter

blob
str oder BlobProperties
Erforderlich

Das Blob, mit dem interagiert werden soll. Wenn angegeben, überschreibt dieser Wert einen in der Blob-URL angegebenen Blobwert.

delete_snapshots
str
Erforderlich

Erforderlich, wenn dem BLOB Momentaufnahmen zugeordnet sind. Mögliche Werte:

  • "nur": Löscht nur die Blobmomentaufnahmen.

  • "include": Löscht das Blob zusammen mit allen Momentaufnahmen.

version_id
str

Der Versions-ID-Parameter ist ein undurchsichtiger DateTime-Wert, der, sofern vorhanden, die Version des zu löschenden Blobs angibt.

Neu in Version 12.4.0.

Dieses Schlüsselwort (keyword) Argument wurde in der API-Version "2019-12-12" eingeführt.

lease
BlobLeaseClient oder str

Erforderlich, wenn das BLOB über eine aktive Lease verfügt. Der Wert kann ein BlobLeaseClient-Objekt oder die Lease-ID als Zeichenfolge sein.

if_modified_since
datetime

Ein DateTime-Wert Azure erwartet, dass der übergebene Datumswert UTC ist. Wenn Zeitzone enthalten ist, werden alle Datumstimes ohne UTC in UTC konvertiert. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist. Mit diesem Header legen Sie fest, dass der Vorgang nur ausgeführt wird, wenn die Ressource seit der angegebenen Zeit geändert wurde.

if_unmodified_since
datetime

Ein DateTime-Wert Azure erwartet, dass der übergebene Datumswert UTC ist. Wenn Zeitzone enthalten ist, werden alle Datumstimes ohne UTC in UTC konvertiert. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist. Mit diesem Header legen Sie fest, dass der Vorgang nur ausgeführt wird, wenn die Ressource seit dem angegebenen Datum/der angegebenen Uhrzeit nicht geändert wurde.

etag
str

Ein ETag-Wert oder das Platzhalterzeichen (*). Wird verwendet, um zu überprüfen, ob sich die Ressource geändert hat, und handelt gemäß der Bedingung, die vom parameter match_condition angegeben wird.

match_condition
MatchConditions

Die Übereinstimmungsbedingung, die für das etag verwendet werden soll.

if_tags_match_condition
str

Geben Sie eine SQL-Klausel für Blobtags an, die nur für Blobs mit einem übereinstimmenden Wert ausgeführt werden soll. Beispiel: "\"tagname\"='my tag'"

Neu in Version 12.4.0.

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird nicht auf dem Client nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

Rückgabetyp

delete_blobs

Markiert die angegebenen Blobs oder Momentaufnahmen zum Löschen.

Die Blobs werden später während der Garbage Collection gelöscht. Beachten Sie, dass Sie zum Löschen von Blobs alle momentaufnahmen löschen müssen. Sie können beide gleichzeitig mit dem delete_blobs-Vorgang löschen.

Wenn eine Aufbewahrungsrichtlinie für das Löschen für den Dienst aktiviert ist, löscht dieser Vorgang die Blobs oder Momentaufnahmen vorläufig und behält die Blobs oder Momentaufnahmen für die angegebene Anzahl von Tagen bei. Nach der angegebenen Anzahl von Tagen werden die Daten von Blobs während der Garbage Collection aus dem Dienst entfernt. Vorläufig gelöschte Blobs oder Momentaufnahmen können mithilfe von list_blobsinclude=["deleted"] vorläufig gelöschte Blobs oder Momentaufnahmen wiederhergestellt werden. <xref:azure.storage.blob.BlobClient.undelete>

Die maximale Anzahl von Blobs, die in einer einzelnen Anforderung gelöscht werden können, beträgt 256.

delete_blobs(*blobs: str | Dict[str, Any] | BlobProperties, **kwargs: Any) -> Iterator[HttpResponse]

Parameter

blobs
str oder dict(str, Any) oder BlobProperties
Erforderlich

Die zu löschenden Blobs. Dies kann ein einzelnes Blob sein, oder es können mehrere Werte angegeben werden, wobei jeder Wert entweder der Name des Blobs (str) oder BlobProperties ist.

Hinweis

Wenn der Blobtyp dict ist, finden Sie hier eine Liste von Schlüsseln und Wertregeln.

Blobname:

schlüssel: 'name', Werttyp: str

Momentaufnahme Sie löschen möchten:

key: 'Momentaufnahme', Werttyp: str

Versions-ID:

key: 'version_id', Werttyp: str

ob Momentaufnahmen beim Löschen des Blobs gelöscht werden sollen:

Schlüssel: "delete_snapshots", Wert: "include" oder "only"

wenn das Blob geändert hat oder nicht:

schlüssel: 'if_modified_since', 'if_unmodified_since', Werttyp: datetime

Etag:

Key: 'etag', Werttyp: str

mit dem etag übereinstimmen oder nicht:

Key: 'match_condition', Werttyp: MatchConditions

Tags stimmen bedingung überein:

key: 'if_tags_match_condition', Werttyp: str

mieten:

key: 'lease_id', Werttyp: Union[str, LeaseClient]

Timeout für Unteranforderung:

schlüssel: 'timeout', Werttyp: int

delete_snapshots
str

Erforderlich, wenn ein Blob über zugeordnete Momentaufnahmen verfügt. Mögliche Werte:

  • "nur": Löscht nur die Blobs-Momentaufnahmen.

  • "include": Löscht das Blob zusammen mit allen Momentaufnahmen.

if_modified_since
datetime

Ein DateTime-Wert Azure erwartet, dass der übergebene Datumswert UTC ist. Wenn Zeitzone enthalten ist, werden alle Datumstimes ohne UTC in UTC konvertiert. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist. Mit diesem Header legen Sie fest, dass der Vorgang nur ausgeführt wird, wenn die Ressource seit der angegebenen Zeit geändert wurde.

if_unmodified_since
datetime

Ein DateTime-Wert Azure erwartet, dass der übergebene Datumswert UTC ist. Wenn Zeitzone enthalten ist, werden alle Datumstimes ohne UTC in UTC konvertiert. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist. Mit diesem Header legen Sie fest, dass der Vorgang nur ausgeführt wird, wenn die Ressource seit dem angegebenen Datum/der angegebenen Uhrzeit nicht geändert wurde.

if_tags_match_condition
str

Geben Sie eine SQL-Klausel für Blobtags an, die nur für Blobs mit einem übereinstimmenden Wert ausgeführt werden soll. Beispiel: "\"tagname\"='my tag'"

Neu in Version 12.4.0.

raise_on_any_failure
bool

Dies ist ein boolescher Param, der standardmäßig auf True festgelegt ist. Wenn dies festgelegt ist, wird eine Ausnahme ausgelöst, auch wenn ein einzelner Vorgang ausfällt.

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird nicht auf dem Client nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

Gibt zurück

Ein Iterator mit Antworten, einer für jedes Blob in der Reihenfolge

Rückgabetyp

delete_container

Markiert den angegebenen Container zum Löschen. Der Container und alle darin enthaltenen BLOBs werden später während der automatischen Speicherbereinigung gelöscht.

delete_container(**kwargs: Any) -> None

Parameter

lease
BlobLeaseClient oder str

Wenn angegeben, ist delete_container nur erfolgreich, wenn die Lease des Containers aktiv ist und dieser ID entspricht. Erforderlich, wenn der Container über eine aktive Lease verfügt.

if_modified_since
datetime

Ein DateTime-Wert Azure erwartet, dass der übergebene Datumswert UTC ist. Wenn Zeitzone enthalten ist, werden alle Datumstimes ohne UTC in UTC konvertiert. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist. Mit diesem Header legen Sie fest, dass der Vorgang nur ausgeführt wird, wenn die Ressource seit der angegebenen Zeit geändert wurde.

if_unmodified_since
datetime

Ein DateTime-Wert Azure erwartet, dass der übergebene Datumswert UTC ist. Wenn Zeitzone enthalten ist, werden alle Datumstimes ohne UTC in UTC konvertiert. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist. Mit diesem Header legen Sie fest, dass der Vorgang nur ausgeführt wird, wenn die Ressource seit dem angegebenen Datum/der angegebenen Uhrzeit nicht geändert wurde.

etag
str

Ein ETag-Wert oder das Platzhalterzeichen (*). Wird verwendet, um zu überprüfen, ob sich die Ressource geändert hat, und handelt gemäß der Bedingung, die vom parameter match_condition angegeben wird.

match_condition
MatchConditions

Die Übereinstimmungsbedingung, die für das etag verwendet werden soll.

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird nicht auf dem Client nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

Rückgabetyp

download_blob

Lädt ein Blob in den StorageStreamDownloader herunter. Die readall()-Methode muss verwendet werden, um den gesamten Inhalt zu lesen, oder readinto() muss verwendet werden, um das Blob in einen Stream herunterzuladen. Mithilfe von chunks() wird ein Iterator zurückgegeben, der es dem Benutzer ermöglicht, den Inhalt in Blöcken zu durchlaufen.

download_blob(blob: str | BlobProperties, offset: int = None, length: int = None, *, encoding: str, **kwargs) -> StorageStreamDownloader[str]

Parameter

blob
str oder BlobProperties
Erforderlich

Das Blob, mit dem interagiert werden soll. Wenn angegeben, überschreibt dieser Wert einen Blobwert, der in der Blob-URL angegeben ist.

offset
int
Erforderlich

Start des Bytebereichs, der zum Herunterladen eines Abschnitts des Blobs verwendet werden soll. Muss festgelegt werden, wenn die Länge angegeben wird.

length
int
Erforderlich

Anzahl der Bytes, die aus dem Stream gelesen werden sollen. Dies ist optional, sollte aber für eine optimale Leistung bereitgestellt werden.

version_id
str

Der Versions-ID-Parameter ist ein undurchsichtiger DateTime-Wert, der, wenn vorhanden, die Version des herunterzuladenden Blobs angibt.

Neu in Version 12.4.0.

Dieses Schlüsselwort (keyword)-Argument wurde in der API-Version "2019-12-12" eingeführt.

validate_content
bool

Wenn true, berechnet ein MD5-Hash für jeden Block des Blobs. Der Speicherdienst überprüft den Hash des Inhalts, der mit dem gesendeten Hash eingetroffen ist. Dies ist in erster Linie nützlich für die Erkennung von Bitflips im Kabel, wenn http anstelle von https verwendet wird, da https (der Standardwert) bereits überprüft wird. Beachten Sie, dass dieser MD5-Hash nicht mit dem BLOB gespeichert wird. Beachten Sie außerdem, dass der speichereffiziente Uploadalgorithmus bei Aktivierung nicht verwendet wird, da die Berechnung des MD5-Hashs das Puffern ganzer Blöcke erfordert und dadurch den Zweck des speichereffizienten Algorithmus vereitet.

lease
BlobLeaseClient oder str

Erforderlich, wenn das BLOB über eine aktive Lease verfügt. Wenn angegeben, download_blob nur erfolgreich, wenn die Lease des Blobs aktiv ist und dieser ID entspricht. Der Wert kann ein BlobLeaseClient-Objekt oder die Lease-ID als Zeichenfolge sein.

if_modified_since
datetime

Ein DateTime-Wert Azure erwartet, dass der übergebene Datumswert UTC ist. Wenn Zeitzone enthalten ist, werden alle Datumstimes ohne UTC in UTC konvertiert. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist. Mit diesem Header legen Sie fest, dass der Vorgang nur ausgeführt wird, wenn die Ressource seit der angegebenen Zeit geändert wurde.

if_unmodified_since
datetime

Ein DateTime-Wert Azure erwartet, dass der übergebene Datumswert UTC ist. Wenn Zeitzone enthalten ist, werden alle Datumstimes ohne UTC in UTC konvertiert. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist. Mit diesem Header legen Sie fest, dass der Vorgang nur ausgeführt wird, wenn die Ressource seit dem angegebenen Datum/der angegebenen Uhrzeit nicht geändert wurde.

etag
str

Ein ETag-Wert oder das Platzhalterzeichen (*). Wird verwendet, um zu überprüfen, ob sich die Ressource geändert hat, und handelt gemäß der Bedingung, die vom parameter match_condition angegeben wird.

match_condition
MatchConditions

Die Übereinstimmungsbedingung, die für das etag verwendet werden soll.

if_tags_match_condition
str

Geben Sie eine SQL-Klausel für Blobtags an, die nur für Blobs mit einem übereinstimmenden Wert ausgeführt werden soll. Beispiel: "\"tagname\"='my tag'"

Neu in Version 12.4.0.

cpk
CustomerProvidedEncryptionKey

Verschlüsselt die Daten auf der Dienstseite mit dem angegebenen Schlüssel. Die Verwendung der vom Kunden bereitgestellten Schlüssel muss über HTTPS erfolgen. Da der Verschlüsselungsschlüssel selbst in der Anforderung angegeben wird, muss eine sichere Verbindung hergestellt werden, um den Schlüssel zu übertragen.

max_concurrency
int

Die Anzahl der parallelen Verbindungen, mit denen heruntergeladen werden soll.

encoding
str

Codierung zum Decodieren der heruntergeladenen Bytes. Der Standardwert ist Keine, d. h. keine Decodierung.

progress_hook
Callable[[int, int], None]

Ein Rückruf, um den Fortschritt eines lange ausgeführten Downloads nachzuverfolgen. Die Signatur ist function(current: int, total: int), wobei current die Anzahl der bisher übertragenen Bytes ist, und total ist die Gesamtgröße des Downloads.

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird nicht auf dem Client nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier. Diese Methode kann mehrere Aufrufe des Diensts tätigen, und das Timeout gilt für jeden Aufruf einzeln. Mehrere Aufrufe des Azure-Diensts und das Timeout gelten für jeden Aufruf einzeln.

Gibt zurück

Ein Streamingobjekt (StorageStreamDownloader)

Rückgabetyp

exists

Gibt True zurück, wenn ein Container vorhanden ist, und gibt andernfalls False zurück.

exists(**kwargs: Any) -> bool

Parameter

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird nicht auf dem Client nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

Gibt zurück

boolean

Rückgabetyp

find_blobs_by_tags

Gibt einen Generator zurück, um die Blobs unter dem angegebenen Container aufzulisten, dessen Tags mit dem angegebenen Suchausdruck übereinstimmen. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken faul.

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

Parameter

filter_expression
str
Erforderlich

Der Ausdruck, um Blobs zu finden, deren Tags der angegebenen Bedingung entsprechen. Beispiel: "yourtagname"='firsttag' und "yourtagname2"='secondtag'"

results_per_page
int

Das maximale Ergebnis pro Seite beim Paginieren.

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird nicht auf dem Client nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

Gibt zurück

Eine iterierbare Antwort (automatisches Paging) von FilteredBlob.

Rückgabetyp

from_connection_string

Erstellen Sie ContainerClient aus einer Verbindungszeichenfolge.

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

Parameter

conn_str
str
Erforderlich

Eine Verbindungszeichenfolge zu einem Azure Storage-Konto.

container_name
str
Erforderlich

Der Containername für das Blob.

credential
Standardwert: None

Die Anmeldeinformationen, mit denen die Authentifizierung erfolgt. Dies ist optional, wenn die Konto-URL bereits über ein SAS-Token verfügt oder die Verbindungszeichenfolge bereits freigegebene Zugriffsschlüsselwerte aufweist. Der Wert kann eine SAS-Tokenzeichenfolge, ein instance einer AzureSasCredential- oder AzureNamedKeyCredential-Instanz von azure.core.credentials, ein freigegebener Zugriffsschlüssel für ein Konto oder ein instance einer TokenCredentials-Klasse aus azure.identity sein. Die hier angegebenen Anmeldeinformationen haben Vorrang vor denen in der Verbindungszeichenfolge. Wenn Sie eine instance von AzureNamedKeyCredential verwenden, sollte "name" der Name des Speicherkontos und "key" der Speicherkontoschlüssel sein.

Gibt zurück

Ein Containerclient.

Rückgabetyp

from_container_url

Erstellen Sie ContainerClient aus einer Container-URL.

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

Parameter

container_url
str
Erforderlich

Die vollständige Endpunkt-URL für den Container, einschließlich SAS-Token, falls verwendet. Dies kann entweder der primäre Endpunkt oder der sekundäre Endpunkt sein, abhängig vom aktuellen location_mode.

credential
Standardwert: None

Die Anmeldeinformationen, mit denen die Authentifizierung erfolgt. Dies ist optional, wenn die Konto-URL bereits über ein SAS-Token verfügt oder die Verbindungszeichenfolge bereits freigegebene Zugriffsschlüsselwerte aufweist. Der Wert kann eine SAS-Tokenzeichenfolge, ein instance einer AzureSasCredential- oder AzureNamedKeyCredential-Instanz von azure.core.credentials, ein freigegebener Zugriffsschlüssel für ein Konto oder ein instance einer TokenCredentials-Klasse aus azure.identity sein. Wenn der Ressourcen-URI bereits ein SAS-Token enthält, wird dies zugunsten expliziter Anmeldeinformationen ignoriert.

  • außer im Fall von AzureSasCredential, bei dem die in Konflikt stehenden SAS-Token einen ValueError auslösen. Wenn Sie eine instance von AzureNamedKeyCredential verwenden, sollte "name" der Name des Speicherkontos und "key" der Speicherkontoschlüssel sein.

Gibt zurück

Ein Containerclient.

Rückgabetyp

get_account_information

Ruft Informationen ab, die sich auf das Speicherkonto beziehen.

Die Informationen können auch abgerufen werden, wenn der Benutzer über eine SAS für einen Container oder blob verfügt. Die Schlüssel im zurückgegebenen Wörterbuch enthalten "sku_name" und "account_kind".

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

Gibt zurück

Ein Dict der Kontoinformationen (SKU und Kontotyp).

Rückgabetyp

get_blob_client

Rufen Sie einen Client für die Interaktion mit dem angegebenen Blob ab.

Das Blob muss noch nicht vorhanden sein.

get_blob_client(blob: str | BlobProperties, snapshot: str = None, *, version_id: str | None = None) -> BlobClient

Parameter

blob
str oder BlobProperties
Erforderlich

Das Blob, mit dem interagiert werden soll.

snapshot
str
Standardwert: None

Das optionale Blob Momentaufnahme, mit dem ausgeführt werden soll. Dies kann die Momentaufnahme-ID-Zeichenfolge oder die von create_snapshotzurückgegebene Antwort sein.

version_id
str

Der Versions-ID-Parameter ist ein undurchsichtiger DateTime-Wert, der, wenn vorhanden, die Version des Blobs angibt, mit dem ausgeführt werden soll.

Gibt zurück

Ein BlobClient.

Rückgabetyp

get_container_access_policy

Ruft die Berechtigungen für den angegebenen Container ab. Mit den Berechtigungen wird angegeben, ob auf die Containerdaten öffentlich zugegriffen werden kann.

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

Parameter

lease
BlobLeaseClient oder str

Wenn angegeben, get_container_access_policy nur erfolgreich, wenn die Lease des Containers aktiv ist und dieser ID entspricht.

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird nicht auf dem Client nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

Gibt zurück

Greifen Sie auf Richtlinieninformationen in einem Dict zu.

Rückgabetyp

get_container_properties

Gibt alle benutzerdefinierten Metadaten und Systemeigenschaften für den angegebenen Container zurück. Die zurückgegebenen Daten enthalten nicht die Liste von BLOBs des Containers.

get_container_properties(**kwargs: Any) -> ContainerProperties

Parameter

lease
BlobLeaseClient oder str

Wenn angegeben, ist get_container_properties nur erfolgreich, wenn die Lease des Containers aktiv ist und dieser ID entspricht.

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird nicht auf dem Client nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

Gibt zurück

Eigenschaften für den angegebenen Container in einem Containerobjekt.

Rückgabetyp

list_blob_names

Gibt einen Generator zurück, um die Namen von Blobs unter dem angegebenen Container aufzulisten. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken faul.

Beachten Sie, dass bei Verwendung dieser API keine zusätzlichen Eigenschaften oder Metadaten zurückgegeben werden. Darüber hinaus hat diese API keine Option, zusätzliche Blobs wie Momentaufnahmen, Versionen, vorläufig gelöschte Blobs usw. einzuschließen. Um diese Daten abzurufen, verwenden Sie list_blobs.

list_blob_names(**kwargs: Any) -> ItemPaged[str]

Parameter

name_starts_with
str

Filtert die Ergebnisse, um nur BLOBs zurückgegeben, deren Namen mit dem angegebenen Präfix beginnen.

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird nicht auf dem Client nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

Gibt zurück

Eine iterierbare Antwort (automatisches Paging) von Blobnamen als Zeichenfolgen.

Rückgabetyp

list_blobs

Gibt einen Generator zurück, der die Blobs unter dem angegebenen Container auflistet. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken faul.

list_blobs(name_starts_with: str | None = None, include: str | List[str] | None = None, **kwargs: Any) -> ItemPaged[BlobProperties]

Parameter

name_starts_with
str
Erforderlich

Filtert die Ergebnisse, um nur BLOBs zurückgegeben, deren Namen mit dem angegebenen Präfix beginnen.

include
list[str] oder str
Erforderlich

Gibt mindestens ein zusätzliches Dataset an, das in die Antwort eingeschlossen werden soll. Zu den Optionen gehören "snapshots", "metadata", "uncommittedblobs", "copy", "deletedwithversions", "tags", "versions", "immutabilitypolicy", "legalhold".

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird nicht auf dem Client nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

Gibt zurück

Eine iterierbare Antwort (automatisches Paging) von BlobProperties.

Rückgabetyp

set_container_access_policy

Legt die Berechtigungen für den angegebenen Container oder die gespeicherten Zugriffsrichtlinien fest, die mit Shared Access Signatures verwendet werden können. Die Berechtigungen geben an, ob öffentlicher Zugriff auf BLOBs in einem Container zulässig ist.

set_container_access_policy(signed_identifiers: Dict[str, AccessPolicy], public_access: str | PublicAccess | None = None, **kwargs) -> Dict[str, str | datetime]

Parameter

signed_identifiers
dict[str, AccessPolicy]
Erforderlich

Ein Wörterbuch mit Zugriffsrichtlinien, die dem Container zugeordnet werden sollen. Das Wörterbuch kann bis zu 5 Elemente enthalten. Ein leeres Wörterbuch löscht die Zugriffsrichtlinien, die für den Dienst festgelegt sind.

public_access
PublicAccess
Erforderlich

Mögliche Werte sind : "container", "blob".

lease
BlobLeaseClient oder str

Erforderlich, wenn der Container über eine aktive Lease verfügt. Der Wert kann ein BlobLeaseClient-Objekt oder die Lease-ID als Zeichenfolge sein.

if_modified_since
datetime

Ein datetime-Wert. Azure erwartet, dass der übergebene Datumswert UTC ist. Wenn Zeitzone enthalten ist, werden alle Datumstimes ohne UTC in UTC konvertiert. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist. Geben Sie diesen Header an, um den Vorgang nur auszuführen, wenn die Ressource seit dem angegebenen Datum/der angegebenen Uhrzeit geändert wurde.

if_unmodified_since
datetime

Ein datetime-Wert. Azure erwartet, dass der übergebene Datumswert UTC ist. Wenn Zeitzone enthalten ist, werden alle Datumstimes ohne UTC in UTC konvertiert. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist. Mit diesem Header legen Sie fest, dass der Vorgang nur ausgeführt wird, wenn die Ressource seit dem angegebenen Datum/der angegebenen Uhrzeit nicht geändert wurde.

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird nicht auf dem Client nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

Gibt zurück

Container-aktualisierter Eigenschaftsedikt (Etag und zuletzt geändert).

Rückgabetyp

set_container_metadata

Legt mindestens ein benutzerdefiniertes Name-Wert-Paar für den angegebenen Container fest. Bei jedem Aufruf dieses Vorgangs werden alle vorhandenen Metadaten ersetzt, die an den Container angefügt sind. Um alle Metadaten aus dem Container zu entfernen, rufen Sie diesen Vorgang ohne Metadatendikt auf.

set_container_metadata(metadata: Dict[str, str] | None = None, **kwargs) -> Dict[str, str | datetime]

Parameter

metadata
dict[str, str]
Erforderlich

Ein Diktat, das Name-Wert-Paare enthält, die dem Container als Metadaten zugeordnet werden sollen. Beispiel: {'category':'test'}

lease
BlobLeaseClient oder str

Wenn angegeben, ist set_container_metadata nur erfolgreich, wenn die Lease des Containers aktiv ist und dieser ID entspricht.

if_modified_since
datetime

Ein DateTime-Wert Azure erwartet, dass der übergebene Datumswert UTC ist. Wenn Zeitzone enthalten ist, werden alle Datumstimes ohne UTC in UTC konvertiert. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist. Mit diesem Header legen Sie fest, dass der Vorgang nur ausgeführt wird, wenn die Ressource seit der angegebenen Zeit geändert wurde.

if_unmodified_since
datetime

Ein DateTime-Wert Azure erwartet, dass der übergebene Datumswert UTC ist. Wenn Zeitzone enthalten ist, werden alle Datumstimes ohne UTC in UTC konvertiert. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist. Mit diesem Header legen Sie fest, dass der Vorgang nur ausgeführt wird, wenn die Ressource seit dem angegebenen Datum/der angegebenen Uhrzeit nicht geändert wurde.

etag
str

Ein ETag-Wert oder das Platzhalterzeichen (*). Wird verwendet, um zu überprüfen, ob sich die Ressource geändert hat, und handelt gemäß der Bedingung, die vom parameter match_condition angegeben wird.

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird nicht auf dem Client nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

Gibt zurück

Container-aktualisierter Eigenschaftsedikt (Etag und zuletzt geändert).

Rückgabetyp

set_premium_page_blob_tier_blobs

Legt die Seitenblobebenen für alle Blobs fest. Diese API wird nur für Seitenblobs in Premium-Konten unterstützt.

Die maximale Anzahl von Blobs, die in einer einzelnen Anforderung aktualisiert werden können, beträgt 256.

set_premium_page_blob_tier_blobs(premium_page_blob_tier: str | PremiumPageBlobTier | None, *blobs: str | Dict[str, Any] | BlobProperties, **kwargs: Any) -> Iterator[HttpResponse]

Parameter

premium_page_blob_tier
PremiumPageBlobTier
Erforderlich

Ein Seitenblobebenenwert, auf den das Blob festgelegt werden soll. Die Ebene korreliert mit der Größe des Blobs und der Anzahl der zulässigen IOPS. Dies gilt nur für Seitenblobs in Storage Premium-Konten.

Hinweis

Wenn Sie eine andere Ebene für verschiedene Blobs festlegen möchten, legen Sie diesen Positionsparameter auf None fest.

Dann wird die Blobebene für alle BlobProperties übernommen.

blobs
str oder dict(str, Any) oder BlobProperties
Erforderlich

Die Blobs, mit denen interagiert werden soll. Dies kann ein einzelnes Blob sein, oder es können mehrere Werte angegeben werden, wobei jeder Wert entweder der Name des Blobs (str) oder BlobProperties ist.

Hinweis

Wenn der Blobtyp dict ist, finden Sie hier eine Liste von Schlüsseln und Wertregeln.

Blobname:

schlüssel: 'name', Werttyp: str

Premium-Blobebene:

key: 'blob_tier', Werttyp: PremiumPageBlobTier

mieten:

key: 'lease_id', Werttyp: Union[str, LeaseClient]

Timeout für Unteranforderung:

schlüssel: 'timeout', Werttyp: int

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird nicht auf dem Client nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

raise_on_any_failure
bool

Dies ist ein boolescher Param, der standardmäßig auf True festgelegt ist. Wenn dies festgelegt ist, wird eine Ausnahme ausgelöst, auch wenn ein einzelner Vorgang ausfällt.

Gibt zurück

Ein Iterator mit Antworten, einer für jedes Blob in der Reihenfolge

Rückgabetyp

<xref:iterator>[HttpResponse]

set_standard_blob_tier_blobs

Mit diesem Vorgang wird die Ebene für Blockblobs festgelegt.

Die Ebene eines Blockblobs bestimmt den Speichertyp Hot/Cool/Archive. Bei diesem Vorgang wird das ETag des Blobs nicht aktualisiert.

Die maximale Anzahl von Blobs, die in einer einzelnen Anforderung aktualisiert werden können, beträgt 256.

set_standard_blob_tier_blobs(standard_blob_tier: str | StandardBlobTier | None, *blobs: str | Dict[str, Any] | BlobProperties, **kwargs: Any) -> Iterator[HttpResponse]

Parameter

standard_blob_tier
str oder StandardBlobTier
Erforderlich

Gibt die Ebene an, die für alle Blobs festgelegt werden soll. Zu den Optionen gehören "Heiß", "Cool", "Archiv". Die heiße Ebene ist für das Speichern von Daten optimiert, auf die häufig zugegriffen wird. Die kühle Speicherebene ist für das Speichern von Daten optimiert, auf die selten zugegriffen und mindestens einen Monat lang gespeichert wird. Die Archivebene ist für das Speichern von Daten optimiert, auf die selten zugegriffen und mindestens sechs Monate lang mit flexiblen Latenzanforderungen gespeichert wird.

Hinweis

Wenn Sie eine andere Ebene für verschiedene Blobs festlegen möchten, legen Sie diesen Positionsparameter auf None fest.

Dann wird die Blobebene für alle BlobProperties übernommen.

blobs
str oder dict(str, Any) oder BlobProperties
Erforderlich

Die Blobs, mit denen interagiert werden soll. Dies kann ein einzelnes Blob sein, oder es können mehrere Werte angegeben werden, wobei jeder Wert entweder der Name des Blobs (str) oder BlobProperties ist.

Hinweis

Wenn der Blobtyp dict ist, finden Sie hier eine Liste von Schlüsseln und Wertregeln.

Blobname:

schlüssel: 'name', Werttyp: str

Standardblobebene:

schlüssel: 'blob_tier', Werttyp: StandardBlobTier

Rehydrierungspriorität:

key: 'rehydrate_priority', Werttyp: RehydratePriority

mieten:

key: 'lease_id', Werttyp: Union[str, LeaseClient]

Momentaufnahme:

key: "Momentaufnahme", Werttyp: str

Versions-ID:

key: "version_id", Werttyp: str

Tags stimmen bedingung überein:

key: 'if_tags_match_condition', Werttyp: str

Timeout für Unteranforderung:

schlüssel: 'timeout', Werttyp: int

rehydrate_priority
RehydratePriority

Gibt die Priorität an, mit der ein archiviertes Blob rehydriert werden soll.

if_tags_match_condition
str

Geben Sie eine SQL-Klausel für Blobtags an, die nur für Blobs mit einem übereinstimmenden Wert ausgeführt werden soll. Beispiel: "\"tagname\"='my tag'"

Neu in Version 12.4.0.

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird nicht auf dem Client nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

raise_on_any_failure
bool

Dies ist ein boolescher Param, der standardmäßig auf True festgelegt ist. Wenn dies festgelegt ist, wird eine Ausnahme ausgelöst, auch wenn ein einzelner Vorgang ausfällt.

Gibt zurück

Ein Iterator mit Antworten, einer für jedes Blob in der Reihenfolge

Rückgabetyp

upload_blob

Erstellt ein neues Blob aus einer Datenquelle mit automatischem Blocking.

upload_blob(name: str | BlobProperties, data: bytes | str | Iterable | IO, blob_type: str | BlobType = BlobType.BLOCKBLOB, length: int | None = None, metadata: Dict[str, str] | None = None, **kwargs) -> BlobClient

Parameter

name
str oder BlobProperties
Erforderlich

Das Blob, mit dem interagiert werden soll. Wenn angegeben, überschreibt dieser Wert einen Blobwert, der in der Blob-URL angegeben ist.

data
Erforderlich

Die hochzuladenden Blobdaten.

blob_type
BlobType
Erforderlich

Der Typ des Blobs. Dies kann entweder BlockBlob, PageBlob oder AppendBlob sein. Der Standardwert ist BlockBlob.

length
int
Erforderlich

Anzahl der Bytes, die aus dem Stream gelesen werden sollen. Dies ist optional, sollte aber für eine optimale Leistung bereitgestellt werden.

metadata
dict(str, str)
Erforderlich

Name-Wert-Paare, die dem BLOB als Metadaten zugeordnet sind.

overwrite
bool

Gibt an, ob das hochzuladende Blob die aktuellen Daten überschreiben soll. Bei True überschreibt upload_blob die vorhandenen Daten. Wenn auf False festgelegt ist, schlägt der Vorgang mit ResourceExistsError fehl. Die Ausnahme von oben besteht bei Anfügeblobtypen: Wenn auf False festgelegt ist und die Daten bereits vorhanden sind, wird kein Fehler ausgelöst, und die Daten werden an das vorhandene Blob angefügt. Wenn set overwrite=True, wird das vorhandene Anfügeblob gelöscht und ein neues erstellt. Der Standardwert lautet „False“.

content_settings
ContentSettings

ContentSettings-Objekt, das zum Festlegen von Blobeigenschaften verwendet wird. Wird zum Festlegen von Inhaltstyp, Codierung, Sprache, Disposition, md5 und Cachesteuerung verwendet.

validate_content
bool

Wenn true, berechnet ein MD5-Hash für jeden Block des Blobs. Der Speicherdienst überprüft den Hash des Inhalts, der mit dem gesendeten Hash eingetroffen ist. Dies ist in erster Linie nützlich für die Erkennung von Bitflips im Kabel, wenn http anstelle von https verwendet wird, da https (der Standardwert) bereits überprüft wird. Beachten Sie, dass dieser MD5-Hash nicht mit dem BLOB gespeichert wird. Beachten Sie außerdem, dass bei Aktivierung der speichereffiziente Uploadalgorithmus nicht verwendet wird, da für die Berechnung des MD5-Hashs das Puffern ganzer Blöcke erforderlich ist. Dadurch wird der Zweck des speichereffizienten Algorithmus verfehlt.

lease
BlobLeaseClient oder str

Erforderlich, wenn der Container über eine aktive Lease verfügt. Der Wert kann ein BlobLeaseClient-Objekt oder die Lease-ID als Zeichenfolge sein.

if_modified_since
datetime

Ein DateTime-Wert Azure erwartet, dass der übergebene Datumswert UTC ist. Wenn Zeitzone enthalten ist, werden alle Datumstimes ohne UTC in UTC konvertiert. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist. Mit diesem Header legen Sie fest, dass der Vorgang nur ausgeführt wird, wenn die Ressource seit der angegebenen Zeit geändert wurde.

if_unmodified_since
datetime

Ein DateTime-Wert Azure erwartet, dass der übergebene Datumswert UTC ist. Wenn Zeitzone enthalten ist, werden alle Datumstimes ohne UTC in UTC konvertiert. Wenn ein Datum ohne Zeitzoneninformationen übergeben wird, wird davon ausgegangen, dass es UTC ist. Mit diesem Header legen Sie fest, dass der Vorgang nur ausgeführt wird, wenn die Ressource seit dem angegebenen Datum/der angegebenen Uhrzeit nicht geändert wurde.

etag
str

Ein ETag-Wert oder das Platzhalterzeichen (*). Wird verwendet, um zu überprüfen, ob sich die Ressource geändert hat, und handelt gemäß der Bedingung, die vom parameter match_condition angegeben wird.

match_condition
MatchConditions

Die Übereinstimmungsbedingung, die für das etag verwendet werden soll.

if_tags_match_condition
str

Geben Sie eine SQL-Klausel für Blobtags an, die nur für Blobs mit einem übereinstimmenden Wert ausgeführt werden soll. Beispiel: "\"tagname\"='my tag'"

Neu in Version 12.4.0.

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird auf dem Client nicht nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier. Diese Methode kann mehrere Aufrufe an den Dienst ausführen, und das Timeout gilt für jeden Aufruf einzeln.

premium_page_blob_tier
PremiumPageBlobTier

Ein Seitenblobebenenwert, auf den das Blob festgelegt werden soll. Die Ebene korreliert mit der Größe des Blobs und der Anzahl der zulässigen IOPS. Dies gilt nur für Seitenblobs in Storage Premium-Konten.

standard_blob_tier
StandardBlobTier

Ein Standard-Blobebenenwert, auf den das Blob festgelegt werden soll. Für diese Version der Bibliothek gilt dies nur für Blockblobs in Standardspeicherkonten.

maxsize_condition
int

Optionaler bedingter Header. Die maximale Länge in Bytes, die für das Anfügeblob zulässig ist. Wenn der Vorgang Block anfügen dazu führen würde, dass das Blob diesen Grenzwert überschreitet oder wenn die Blobgröße bereits größer als der in diesem Header angegebene Wert ist, schlägt die Anforderung mit dem Fehler MaxBlobSizeConditionNotMet (HTTP-status Code 412 – Vorbedingung fehlgeschlagen) fehl.

max_concurrency
int

Maximale Anzahl von parallelen Verbindungen, die verwendet werden sollen, wenn die Blobgröße 64 MB überschreitet.

cpk
CustomerProvidedEncryptionKey

Verschlüsselt die Daten auf der Dienstseite mit dem angegebenen Schlüssel. Die Verwendung von kundenseitig bereitgestellten Schlüsseln muss über HTTPS erfolgen. Da der Verschlüsselungsschlüssel selbst in der Anforderung bereitgestellt wird, muss eine sichere Verbindung hergestellt werden, um den Schlüssel zu übertragen.

encryption_scope
str

Ein vordefinierter Verschlüsselungsbereich, der zum Verschlüsseln der Daten im Dienst verwendet wird. Ein Verschlüsselungsbereich kann mithilfe der Verwaltungs-API erstellt und hier anhand des Namens referenziert werden. Wenn ein Standardverschlüsselungsbereich für den Container definiert wurde, überschreibt dieser Wert ihn, wenn der Bereich auf Containerebene so konfiguriert ist, dass Außerkraftsetzungen zugelassen werden. Andernfalls wird ein Fehler ausgelöst.

Neu in Version 12.2.0.

encoding
str

Der Standardwert ist UTF-8.

progress_hook
Callable[[int, Optional[int]], None]

Ein Rückruf zum Nachverfolgen des Fortschritts eines Uploads mit langer Ausführungsdauer. Die Signatur ist function(current: int, total: Optional[int]), wobei current die Anzahl der bisher übertragenen Bytes und gesamt die Größe des Blobs oder Keine ist, wenn die Größe unbekannt ist.

Gibt zurück

Ein BlobClient für die Interaktion mit dem neu hochgeladenen Blob.

Rückgabetyp

walk_blobs

Gibt einen Generator zurück, der die Blobs unter dem angegebenen Container auflistet. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken verzögert. Bei diesem Vorgang werden Blobs gemäß einer Hierarchie aufgelistet, die durch das angegebene Trennzeichen getrennt ist.

walk_blobs(name_starts_with: str | None = None, include: str | List[str] | None = None, delimiter: str = '/', **kwargs: Any | None) -> ItemPaged[BlobProperties]

Parameter

name_starts_with
str
Erforderlich

Filtert die Ergebnisse, um nur BLOBs zurückgegeben, deren Namen mit dem angegebenen Präfix beginnen.

include
list[str] oder str
Erforderlich

Gibt ein oder mehrere zusätzliche Datasets an, die in die Antwort eingeschlossen werden sollen. Zu den Optionen gehören: "snapshots", "metadata", "uncommittedblobs", "copy", "deletedwithversions", "tags", "versions", "immutabilitypolicy", "legalhold".

delimiter
str
Erforderlich

Wenn die Anforderung diesen Parameter enthält, gibt der Vorgang ein BlobPrefix-Element im Antworttext zurück, das als Platzhalter für alle Blobs fungiert, deren Namen mit derselben Teilzeichenfolge beginnen, bis zur Darstellung des Trennzeichens. Das Trennzeichen kann ein einzelnes Zeichen oder eine Zeichenfolge sein.

timeout
int

Legt das serverseitige Timeout für den Vorgang in Sekunden fest. Weitere Informationen finden Sie unter https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Dieser Wert wird auf dem Client nicht nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

Gibt zurück

Eine iterierbare Antwort (automatisches Paging) von BlobProperties.

Rückgabetyp

Attribute

api_version

Die Version der Speicher-API, die für Anforderungen verwendet wird.

location_mode

Der Standortmodus, den der Client derzeit verwendet.

Standardmäßig ist dies "primär". Zu den Optionen gehören "primär" und "sekundär".

primary_endpoint

Die vollständige URL des primären Endpunkts.

primary_hostname

Der Hostname des primären Endpunkts.

secondary_endpoint

Die vollständige url des sekundären Endpunkts, falls konfiguriert.

Wenn nicht verfügbar, wird ein ValueError ausgelöst. Wenn Sie einen sekundären Hostnamen explizit angeben möchten, verwenden Sie das optionale secondary_hostname Schlüsselwort (keyword) Argument für die Instanziierung.

Ausnahmen

secondary_hostname

Der Hostname des sekundären Endpunkts.

Wenn nicht verfügbar, lautet dies Keine. Wenn Sie einen sekundären Hostnamen explizit angeben möchten, verwenden Sie das optionale secondary_hostname Schlüsselwort (keyword) Argument für die Instanziierung.

url

Die vollständige Endpunkt-URL für diese Entität, einschließlich des SAS-Tokens, falls verwendet.

Dies kann abhängig vom aktuellen location_modeentweder der primäre Endpunkt oder der sekundäre Endpunkt sein. :returns: Die vollständige Endpunkt-URL für diese Entität, einschließlich des SAS-Tokens, falls verwendet. :rtype: str