Freigeben über


FileSystemClient Klasse

Ein Client für die Interaktion mit einem bestimmten Dateisystem, 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 -Funktionen oder get_file_client abgerufen werden.

Vererbung
azure.storage.filedatalake._shared.base_client.StorageAccountHostsMixin
FileSystemClient

Konstruktor

FileSystemClient(account_url: str, file_system_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.

file_system_name
str
Erforderlich

Das Dateisystem für das Verzeichnis oder die Dateien.

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.

Beispiele

Rufen Sie einen FileSystemClient aus einem vorhandenen DataLakeServiceClient ab.


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

   # Instantiate a FileSystemClient
   file_system_client = datalake_service_client.get_file_system_client("mynewfilesystem")

Variablen

url
str

Die vollständige Endpunkt-URL für das Dateisystem, einschließlich SAS-Token, falls verwendet.

primary_endpoint
str

Die vollständige URL des primären Endpunkts.

primary_hostname
str

Der Hostname des primären Endpunkts.

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.

delete_file_system

Markiert 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, um die Pfade (z. B. Dateien oder Verzeichnisse) unter dem angegebenen Dateisystem aufzulisten. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken faul.

list_deleted_paths

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

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

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 für das Dateisystem.


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

   # Delete file system by passing in the lease
   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.

close() -> None

create_directory

Erstellen eines Verzeichnisses

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

permissions
str

Optional und nur gültig, wenn der hierarchische 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 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 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 = file_system_client.create_directory("mydirectory")

create_file

Datei erstellen

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

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.


   file_system_client.create_file_system()

delete_directory

Markiert den angegebenen Pfad zum Löschen.

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.


   file_system_client.delete_directory("mydirectory")

delete_file

Markiert die angegebene Datei zum Löschen.

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

lease
DataLakeLeaseClient oder str

Erforderlich, wenn die Datei über eine aktive Lease verfügt. Der Wert 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 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

DataLakeFileClient

Beispiele

Löschen Sie die Datei im Dateisystem.


   file_system_client.delete_file("myfile")

delete_file_system

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

delete_file_system(**kwargs: Any) -> None

Parameter

lease
str oder DataLakeLeaseClient

Wenn angegeben, 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 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.

Rückgabetyp

Beispiele

Löschen eines Dateisystems im Datalake-Dienst.


   file_system_client.delete_file_system()

exists

Gibt True zurück, wenn ein Dateisystem 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 auf dem Client nicht 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 für ein Azure Storage-Konto.

file_system_name
str
Erforderlich

Der Name des Dateisystems, mit dem interagiert werden 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 werte für den freigegebenen Zugriffsschlüssel enthält. 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. Die hier bereitgestellten 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 einer 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 eine 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 des Dateiclients für die Interaktion 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.

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

Parameter

lease
DataLakeLeaseClient oder str

Wenn angegeben, ist der Vorgang 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

Zugreifen auf Richtlinieninformationen in einem Diktat.

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.

get_file_system_properties(**kwargs: Any) -> FileSystemProperties

Parameter

lease
str oder DataLakeLeaseClient

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 = file_system_client.get_file_system_properties()

get_paths

Gibt einen Generator zurück, um die Pfade (z. B. Dateien oder Verzeichnisse) unter dem angegebenen Dateisystem aufzulisten. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken faul.

get_paths(path: str | None = None, recursive: bool | None = True, max_results: int | None = None, **kwargs) -> ItemPaged[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 aufweisen.

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

Rückgabetyp

Beispiele

Listen Sie die Pfade im Dateisystem auf.


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

list_deleted_paths

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

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

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

Parameter

path_prefix
str

Filtert die Ergebnisse so, dass nur Pfade unter dem angegebenen Pfad zurückgegeben werden.

results_per_page
int

Ein optionaler Wert, der die maximale Anzahl von Elementen angibt, die pro Seite zurückgegeben werden sollen. Wenn ausgelassen 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 nicht auf dem Client nachverfolgt oder überprüft. Informationen zum Konfigurieren clientseitiger Netzwerktimeouts finden Sie hier.

Gibt zurück

Eine iterierbare Antwort (auto-paging) von DeletedPathProperties.

Rückgabetyp

set_file_system_access_policy

Legt die Berechtigungen für das angegebene Dateisystem oder gespeicherte 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_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

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

lease
DataLakeLeaseClient oder str

Erforderlich, wenn das Dateisystem über eine aktive Lease verfügt. Value 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 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

Vom Dateisystem aktualisierte Eigenschaftsdikt (Etag und zuletzt geändert).

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.

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
str oder DataLakeLeaseClient

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

filesystem-updated property dict (Etag und zuletzt geändert).

Rückgabetyp

Beispiele

Festlegen von Metadaten für das Dateisystem.


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

   # Set metadata on the file system
   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