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.StorageAccountHostsMixinFileSystemClient
Konstruktor
FileSystemClient(account_url: str, file_system_name: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)
Parameter
- credential
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
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
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
Das Verzeichnis, mit dem interagiert werden soll. Dies kann entweder der Name des Verzeichnisses oder eine instance von DirectoryProperties sein.
- 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
Die Datei, mit der interagiert werden soll. Dies kann entweder der Name der Datei oder ein instance von FileProperties sein.
- 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. 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.
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
Ein Diktat mit Namen-Wert-Paaren, die dem Dateisystem als Metadaten zugeordnet werden sollen. Beispiel: {'Category':'test'}
- public_access
- PublicAccess
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
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
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
- credential
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
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
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
Filtert die Ergebnisse, um nur Pfade unter dem angegebenen Pfad zurückzugeben.
Optional. Legen Sie true für rekursiv und false für iterativ fest.
- max_results
- 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.
- 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]
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
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
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
Azure SDK for Python