Freigeben über


FileSystemClient Klasse

Ein Client, der mit einem bestimmten Dateisystem interagiert, auch wenn dieses Dateisystem möglicherweise noch nicht vorhanden ist.

Für Vorgänge, die sich auf ein bestimmtes Verzeichnis oder eine bestimmte Datei innerhalb dieses Dateisystems beziehen, kann ein Verzeichnisclient oder Dateiclient mithilfe der get_directory_client - oder get_file_client -Funktionen abgerufen werden.

ivar str url: Die vollständige Endpunkt-URL zum Dateisystem, einschließlich des SAS-Tokens, falls verwendet.

ivar str primary_endpoint: Die vollständige URL des primären Endpunkts.

ivar str primary_hostname: Der Hostname des primären Endpunkts.

param str account_url: Der URI für das Speicherkonto.

param file_system_name: Das Dateisystem für das Verzeichnis oder die Dateien.

typ file_system_name: str

param-Anmeldeinformationen: 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 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.

Schlüsselwort (keyword) str api_version: 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.

Vererbung
azure.storage.filedatalake._shared.base_client_async.AsyncStorageAccountHostsMixin
FileSystemClient
azure.storage.filedatalake._file_system_client.FileSystemClient
FileSystemClient

Konstruktor

FileSystemClient(account_url: str, file_system_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | AsyncTokenCredential | None = None, **kwargs: Any)

Parameter

account_url
file_system_name
credential
Standardwert: None

Beispiele

Rufen Sie einen FileSystemClient aus einem vorhandenen DataLakeServiceClient ab.


   # Instantiate a DataLakeServiceClient using a connection string
   from azure.storage.filedatalake.aio import DataLakeServiceClient
   datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)

   async with datalake_service_client:
       # Instantiate a FileSystemClient
       file_system_client = datalake_service_client.get_file_system_client("mynewfilesystems")

Methoden

acquire_lease

Fordert eine neue Lease an. Wenn das Dateisystem nicht über eine aktive Lease verfügt, erstellt der DataLake-Dienst eine Lease für das Dateisystem 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_directory

Erstellen eines Verzeichnisses

create_file

Datei erstellen

create_file_system

Erstellt ein neues Dateisystem unter dem angegebenen Konto.

Wenn das Dateisystem mit demselben Namen bereits vorhanden ist, wird ein ResourceExistsError ausgelöst. Diese Methode gibt einen Client zurück, mit dem mit dem neu erstellten Dateisystem interagieren soll.

delete_directory

Markiert den angegebenen Pfad zum Löschen.

delete_file

Markiert die angegebene Datei zum Löschen.

Löschen Sie die Datei im Dateisystem.


   await file_system_client.delete_file("myfile")

delete_file_system

Kennzeichnet das angegebene Dateisystem zum Löschen.

Das Dateisystem und alle darin enthaltenen Dateien werden später während der Garbage Collection gelöscht. Wenn das Dateisystem nicht gefunden wird, wird ein ResourceNotFoundError ausgelöst.

exists

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

from_connection_string

Erstellen Sie FileSystemClient aus einer Verbindungszeichenfolge.

:return a FileSystemClient :rtype ~azure.storage.filedatalake.FileSystemClient

get_directory_client

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

Das Verzeichnis muss noch nicht vorhanden sein.

get_file_client

Rufen Sie einen Client für die Interaktion mit der angegebenen Datei ab.

Die Datei muss noch nicht vorhanden sein.

get_file_system_access_policy

Ruft die Berechtigungen für das angegebene Dateisystem ab. Die Berechtigungen geben an, ob auf Dateisystemdaten öffentlich zugegriffen werden darf.

get_file_system_properties

Gibt alle benutzerdefinierten Metadaten und Systemeigenschaften für das angegebene Dateisystem zurück. Die zurückgegebenen Daten enthalten nicht die Liste der Pfade des Dateisystems.

get_paths

Gibt einen Generator zurück, der die Pfade (z. B. Dateien oder Verzeichnisse) unter dem angegebenen Dateisystem auflistet. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken verzögert.

list_deleted_paths

Gibt einen Generator zurück, der die gelöschten Pfade (Datei oder Verzeichnis) unter dem angegebenen Dateisystem auflistet. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken verzögert.

Neu in Version 12.4.0: Dieser Vorgang wurde in der API-Version "2020-06-12" eingeführt.

set_file_system_access_policy

Legt die Berechtigungen für das angegebene Dateisystem oder die gespeicherten Zugriffsrichtlinien fest, die mit Shared Access Signatures verwendet werden können. Die Berechtigungen geben an, ob auf Dateien in einem Dateisystem öffentlich zugegriffen werden kann.

set_file_system_metadata

Legt mindestens ein benutzerdefiniertes Name-Wert-Paar für das angegebene Dateisystem fest. Jeder Aufruf dieses Vorgangs ersetzt alle vorhandenen Metadaten, die an das Dateisystem angefügt sind. Um alle Metadaten aus dem Dateisystem zu entfernen, rufen Sie diesen Vorgang ohne Metadaten-Diktat auf.

acquire_lease

Fordert eine neue Lease an. Wenn das Dateisystem nicht über eine aktive Lease verfügt, erstellt der DataLake-Dienst eine Lease für das Dateisystem und gibt eine neue Lease-ID zurück.

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

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 DataLake-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 DataLakeLeaseClient-Objekt, das in einem Kontext-Manager ausgeführt werden kann.

Rückgabetyp

Beispiele

Erwerben einer Lease auf dem file_system.


   # Acquire a lease on the file system
   lease = await file_system_client.acquire_lease()

   # Delete file system by passing in the lease
   await file_system_client.delete_file_system(lease=lease)

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.

async close() -> None

create_directory

Erstellen eines Verzeichnisses

async create_directory(directory: DirectoryProperties | str, metadata: Dict[str, str] | None = None, **kwargs) -> DataLakeDirectoryClient

Parameter

directory
str oder DirectoryProperties
Erforderlich

Das Verzeichnis, mit dem interagiert werden soll. Dies kann entweder der Name des Verzeichnisses oder eine instance von DirectoryProperties sein.

metadata
dict(str, str)
Erforderlich

Name-Wert-Paare, die der Datei als Metadaten zugeordnet sind.

content_settings
ContentSettings

ContentSettings-Objekt, das zum Festlegen von Pfadeigenschaften verwendet wird.

lease
DataLakeLeaseClient oder str

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

umask
str

Optional und nur gültig, wenn der hierarchische Namespace für das Konto aktiviert ist. Wenn Sie eine Datei oder ein Verzeichnis erstellen und der übergeordnete Ordner keine Standard-ACL aufweist, schränkt umask die Berechtigungen der zu erstellenden Datei oder des Verzeichnisses ein. Die resultierende Berechtigung wird von p & ^u erteilt, wobei p die Berechtigung und Sie der Umask sind. Wenn p beispielsweise 0777 und 0057 ist, lautet die resultierende Berechtigung 0720. Die Standardberechtigung ist 0777 für ein Verzeichnis und 0666 für eine Datei. Der Standardwert ist 0027. Der Umask muss in 4-stelliger oktaler Notation (z.B. 0766) angegeben werden.

owner
str

Der Besitzer der Datei oder des Verzeichnisses.

group
str

Die besitzende Gruppe der Datei oder des Verzeichnisses.

acl
str

Legt POSIX-Zugriffssteuerungsrechte für Dateien und Verzeichnisse fest. Der Wert ist eine durch Trennzeichen getrennte Liste von Zugriffssteuerungseinträgen. Jeder Zugriffssteuerungseintrag (Access Control Entry, ACE) besteht aus einem Bereich, einem Typ, einem Benutzer- oder Gruppenbezeichner und Berechtigungen im Format "[scope:][type]:[id]:[permissions]".

lease_id
str

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

lease_duration
int

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 mit Verlängerung oder Änderung geändert werden.

permissions
str

Optional und nur gültig, wenn hierarchischer Namespace für das Konto aktiviert ist. Legt POSIX-Zugriffsberechtigungen für den Dateibesitzer, die Dateibesitzergruppe und andere fest. Jeder Klasse kann lese-, schreib- oder ausführungsberechtigungen erteilt werden. Das klebrige Bit wird ebenfalls unterstützt. Sowohl symbolische (rwxrw-rw-) als auch 4-stellige oktale Notation (z. B. 0766) werden unterstützt.

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.

Gibt zurück

DataLakeDirectoryClient

Beispiele

Erstellen Sie das Verzeichnis im Dateisystem.


   directory_client = await file_system_client.create_directory("mydirectory")

create_file

Datei erstellen

async create_file(file: FileProperties | str, **kwargs) -> DataLakeFileClient

Parameter

file
str oder FileProperties
Erforderlich

Die Datei, mit der interagiert werden soll. Dies kann entweder der Name der Datei oder ein instance von FileProperties sein.

content_settings
ContentSettings
Erforderlich

ContentSettings-Objekt, das zum Festlegen von Pfadeigenschaften verwendet wird.

metadata
dict(str, str)
Erforderlich

Name-Wert-Paare, die der Datei als Metadaten zugeordnet sind.

lease
DataLakeLeaseClient oder str

Erforderlich, wenn die Datei über eine aktive Lease verfügt. Value kann ein DataLakeLeaseClient-Objekt oder die Lease-ID als Zeichenfolge sein.

umask
str

Optional und nur gültig, wenn hierarchischer Namespace für das Konto aktiviert ist. Wenn Sie eine Datei oder ein Verzeichnis erstellen und der übergeordnete Ordner keine Standard-ACL aufweist, schränkt der Umask die Berechtigungen der zu erstellenden Datei oder des Verzeichnisses ein. Die resultierende Berechtigung wird von p & ^u erteilt, wobei p die Berechtigung und Sie der Umask sind. Wenn p beispielsweise 0777 ist und Sie 0057 sind, ist die resultierende Berechtigung 0720. Die Standardberechtigung ist 0777 für ein Verzeichnis und 0666 für eine Datei. Der Standardumask ist 0027. Der Umask muss in 4-stelliger oktaler Notation angegeben werden (z. B. 0766).

owner
str

Der Besitzer der Datei oder des Verzeichnisses.

group
str

Die Besitzergruppe der Datei oder des Verzeichnisses.

acl
str

Legt POSIX-Zugriffssteuerungsrechte für Dateien und Verzeichnisse fest. Der Wert ist eine durch Trennzeichen getrennte Liste von Zugriffssteuerungseinträgen. Jeder Zugriffssteuerungseintrag (Access Control Entry, ACE) besteht aus einem Bereich, einem Typ, einem Benutzer- oder Gruppenbezeichner und Berechtigungen im Format "[scope:][type]:[id]:[permissions]".

lease_id
str

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

lease_duration
int

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 mit Verlängerung oder Änderung geändert werden.

expires_on
datetime oder int

Die Zeit, zu der die Datei auf Ablauf festgelegt werden soll. Wenn der Typ von expires_on ein int ist, wird die Ablaufzeit als die Anzahl der Millisekunden festgelegt, die seit der Erstellungszeit verstrichen sind. Wenn der Typ von expires_on datetime ist, wird die Ablaufzeit absolut auf die angegebene Zeit festgelegt. Wenn keine Zeitzoneninformationen bereitgestellt werden, wird dies als UTC interpretiert.

permissions
str

Optional und nur gültig, wenn hierarchischer Namespace für das Konto aktiviert ist. Legt POSIX-Zugriffsberechtigungen für den Dateibesitzer, die Dateibesitzergruppe und andere fest. Jeder Klasse kann lese-, schreib- oder ausführungsberechtigungen erteilt werden. Das klebrige Bit wird ebenfalls unterstützt. Sowohl symbolische (rwxrw-rw-) als auch 4-stellige oktale Notation (z. B. 0766) werden unterstützt.

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.

Gibt zurück

DataLakeFileClient

Beispiele

Erstellen Sie eine Datei im Dateisystem.


   file_client = await file_system_client.create_file("myfile")

create_file_system

Erstellt ein neues Dateisystem unter dem angegebenen Konto.

Wenn das Dateisystem mit demselben Namen bereits vorhanden ist, wird ein ResourceExistsError ausgelöst. Diese Methode gibt einen Client zurück, mit dem mit dem neu erstellten Dateisystem interagieren soll.

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

Parameter

metadata
dict(str, str)
Erforderlich

Ein Diktat mit Namen-Wert-Paaren, die dem Dateisystem als Metadaten zugeordnet werden sollen. Beispiel: {'Category':'test'}

public_access
PublicAccess
Erforderlich

So geben Sie an, ob auf Daten im Dateisystem öffentlich zugegriffen werden darf und welche Zugriffsebene sie haben.

encryption_scope_options
dict oder EncryptionScopeOptions

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

Neu in Version 12.9.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.

Gibt zurück

Ein Wörterbuch mit Antwortheadern.

Rückgabetyp

Beispiele

Erstellen eines Dateisystems im datalake-Dienst.


   await file_system_client.create_file_system()

delete_directory

Markiert den angegebenen Pfad zum Löschen.

async delete_directory(directory: DirectoryProperties | str, **kwargs) -> DataLakeDirectoryClient

Parameter

directory
str oder DirectoryProperties
Erforderlich

Das Verzeichnis, mit dem interagiert werden soll. Dies kann entweder der Name des Verzeichnisses oder ein instance von DirectoryProperties sein.

lease
DataLakeLeaseClient oder str

Erforderlich, wenn die Datei über eine aktive Lease verfügt. Value kann ein LeaseClient-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.

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

DataLakeDirectoryClient

Beispiele

Löschen Sie das Verzeichnis im Dateisystem.


   await file_system_client.delete_directory("mydirectory")

delete_file

Markiert die angegebene Datei zum Löschen.

Löschen Sie die Datei im Dateisystem.


   await file_system_client.delete_file("myfile")

async delete_file(file: FileProperties | str, **kwargs) -> DataLakeFileClient

Parameter

file
str oder FileProperties
Erforderlich

Die Datei, mit der interagiert werden soll. Dies kann entweder der Name der Datei oder ein instance von FileProperties sein.

lease
DataLakeLeaseClient oder str

Erforderlich, wenn die Datei über eine aktive Lease verfügt. Value kann ein LeaseClient-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.

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

DataLakeFileClient

delete_file_system

Kennzeichnet das angegebene Dateisystem zum Löschen.

Das Dateisystem und alle darin enthaltenen Dateien werden später während der Garbage Collection gelöscht. Wenn das Dateisystem nicht gefunden wird, wird ein ResourceNotFoundError ausgelöst.

async delete_file_system(**kwargs: Any) -> None

Parameter

lease
DataLakeLeaseClient oder str

Wenn angegeben, ist delete_file_system nur erfolgreich, wenn die Lease des Dateisystems aktiv ist und dieser ID entspricht. Erforderlich, wenn das Dateisystem ü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

Beispiele

Löschen eines Dateisystems im datalake-Dienst.


   await file_system_client.delete_file_system()

exists

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

async 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

True, wenn ein Dateisystem vorhanden ist, andernfalls False.

Rückgabetyp

from_connection_string

Erstellen Sie FileSystemClient aus einer Verbindungszeichenfolge.

:return a FileSystemClient :rtype ~azure.storage.filedatalake.FileSystemClient

from_connection_string(conn_str: str, file_system_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.

file_system_name
str
Erforderlich

Der Name des Dateisystems, mit dem die Interaktion erfolgen soll.

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.

Beispiele

Erstellen von FileSystemClient aus Verbindungszeichenfolge


   from azure.storage.filedatalake import FileSystemClient
   file_system_client = FileSystemClient.from_connection_string(self.connection_string, "filesystem")

get_directory_client

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

Das Verzeichnis muss noch nicht vorhanden sein.

get_directory_client(directory: DirectoryProperties | str) -> DataLakeDirectoryClient

Parameter

directory
str oder DirectoryProperties
Erforderlich

Das Verzeichnis, mit dem interagiert werden soll. Dies kann entweder der Name des Verzeichnisses oder ein instance von DirectoryProperties sein.

Gibt zurück

Ein DataLakeDirectoryClient.

Rückgabetyp

Beispiele

Abrufen des Verzeichnisclients für die Interaktion mit einem bestimmten Verzeichnis.


   # Get the DataLakeDirectoryClient from the FileSystemClient to interact with a specific file
   directory_client = file_system_client.get_directory_client("mynewdirectory")

get_file_client

Rufen Sie einen Client für die Interaktion mit der angegebenen Datei ab.

Die Datei muss noch nicht vorhanden sein.

get_file_client(file_path: FileProperties | str) -> DataLakeFileClient

Parameter

file_path
str oder FileProperties
Erforderlich

Die Datei, mit der interagiert werden soll. Dies kann entweder der Pfad der Datei (aus dem Stammverzeichnis) oder ein instance von FileProperties sein. z. B. verzeichnis/Unterverzeichnis/Datei

Gibt zurück

Ein DataLakeFileClient.

Rückgabetyp

Beispiele

Abrufen der Interaktion des Dateiclients mit einer bestimmten Datei.


   # Get the FileClient from the FileSystemClient to interact with a specific file
   file_client = file_system_client.get_file_client("mynewfile")

get_file_system_access_policy

Ruft die Berechtigungen für das angegebene Dateisystem ab. Die Berechtigungen geben an, ob auf Dateisystemdaten öffentlich zugegriffen werden darf.

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

Parameter

lease
DataLakeLeaseClient oder str

Wenn angegeben, get_file_system_access_policy nur erfolgreich, wenn die Lease des Dateisystems 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_file_system_properties

Gibt alle benutzerdefinierten Metadaten und Systemeigenschaften für das angegebene Dateisystem zurück. Die zurückgegebenen Daten enthalten nicht die Liste der Pfade des Dateisystems.

async get_file_system_properties(**kwargs: Any) -> FileSystemProperties

Parameter

lease
DataLakeLeaseClient oder str

Wenn angegeben, get_file_system_properties nur erfolgreich, wenn die Lease des Dateisystems 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 auf dem Client nicht nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

Gibt zurück

Eigenschaften für das angegebene Dateisystem in einem Dateisystemobjekt.

Rückgabetyp

Beispiele

Abrufen von Eigenschaften für das Dateisystem.


   properties = await file_system_client.get_file_system_properties()

get_paths

Gibt einen Generator zurück, der die Pfade (z. B. Dateien oder Verzeichnisse) unter dem angegebenen Dateisystem auflistet. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken verzögert.

get_paths(path: str | None = None, recursive: bool | None = True, max_results: int | None = None, **kwargs) -> AsyncItemPaged[PathProperties]

Parameter

path
str
Erforderlich

Filtert die Ergebnisse, um nur Pfade unter dem angegebenen Pfad zurückzugeben.

recursive
Optional[bool]
Erforderlich

Optional. Legen Sie true für rekursiv und false für iterativ fest.

max_results
int
Erforderlich

Ein optionaler Wert, der die maximale Anzahl von Elementen angibt, die pro Seite zurückgegeben werden sollen. Wenn nicht angegeben oder größer als 5.000, enthält die Antwort bis zu 5.000 Elemente pro Seite.

upn

Optional. Nur gültig, wenn der hierarchische Namespace für das Konto aktiviert ist. Bei "true" werden die in den Antwortheadern x-ms-owner, x-ms-group und x-ms-acl zurückgegebenen Benutzeridentitätswerte von Azure Active Directory-Objekt-IDs in Benutzerprinzipalnamen transformiert. Bei "false" werden die Werte als Azure Active Directory-Objekt-IDs zurückgegeben. Der Standardwert ist „FALSE“. Beachten Sie, dass Gruppen- und Anwendungsobjekt-IDs nicht übersetzt werden, da sie keine eindeutigen Anzeigenamen haben.

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 PathProperties.

Rückgabetyp

Beispiele

Listet die Blobs im Dateisystem auf.


   path_list = file_system_client.get_paths()
   async for path in path_list:
       print(path.name + '\n')

list_deleted_paths

Gibt einen Generator zurück, der die gelöschten Pfade (Datei oder Verzeichnis) unter dem angegebenen Dateisystem auflistet. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken verzögert.

Neu in Version 12.4.0: Dieser Vorgang wurde in der API-Version "2020-06-12" eingeführt.

list_deleted_paths(**kwargs: Any) -> AsyncItemPaged[DeletedPathProperties]

Parameter

path_prefix
str

Filtert die Ergebnisse, um nur Pfade unter dem angegebenen Pfad zurückzugeben.

results_per_page
int

Ein optionaler Wert, der die maximale Anzahl von Elementen angibt, die pro Seite zurückgegeben werden sollen. Wenn nicht angegeben oder größer als 5.000, enthält die Antwort bis zu 5.000 Elemente pro Seite.

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 (auto-paging) von DeletedPathProperties.

Rückgabetyp

<xref:azure.core.paging.AsyncItemPaged>[DeletedPathProperties]

set_file_system_access_policy

Legt die Berechtigungen für das angegebene Dateisystem oder die gespeicherten Zugriffsrichtlinien fest, die mit Shared Access Signatures verwendet werden können. Die Berechtigungen geben an, ob auf Dateien in einem Dateisystem öffentlich zugegriffen werden kann.

async set_file_system_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 Dateisystem 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

Geben Sie an, ob öffentlich auf Daten im Dateisystem zugegriffen werden darf, und die Zugriffsebene.

lease
DataLakeLeaseClient oder str

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

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. 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 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.

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

Dateisystem-Eigenschaftsdict aktualisiert (Etag und letzte Änderung).

Rückgabetyp

set_file_system_metadata

Legt mindestens ein benutzerdefiniertes Name-Wert-Paar für das angegebene Dateisystem fest. Jeder Aufruf dieses Vorgangs ersetzt alle vorhandenen Metadaten, die an das Dateisystem angefügt sind. Um alle Metadaten aus dem Dateisystem zu entfernen, rufen Sie diesen Vorgang ohne Metadaten-Diktat auf.

async set_file_system_metadata(metadata: Dict[str, str], **kwargs) -> Dict[str, str | datetime]

Parameter

metadata
dict[str, str]
Erforderlich

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

lease
DataLakeLeaseClient oder str

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

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

Dateisystem-Eigenschaftsdict aktualisiert (Etag und letzte Änderung).

Beispiele

Festlegen von Metadaten für den Container.


   # Create key, value pairs for metadata
   metadata = {'type': 'test'}

   # Set metadata on the file system
   await file_system_client.set_file_system_metadata(metadata=metadata)

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