DataLakeServiceClient Klasse
Ein Client für die Interaktion mit dem DataLake-Dienst auf Kontoebene.
Dieser Client bietet Vorgänge zum Abrufen und Konfigurieren der Kontoeigenschaften sowie zum Auflisten, Erstellen und Löschen von Dateisystemen innerhalb des Kontos. Bei Vorgängen in Bezug auf ein bestimmtes Dateisystem, ein bestimmtes Verzeichnis oder eine Datei können Clients für diese Entitäten auch mithilfe der get_client-Funktionen abgerufen werden.
- Vererbung
-
azure.storage.filedatalake._shared.base_client.StorageAccountHostsMixinDataLakeServiceClient
Konstruktor
DataLakeServiceClient(account_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)
Parameter
- account_url
- str
Die URL des DataLake-Speicherkontos. Alle anderen Entitäten, die im URL-Pfad enthalten sind (z. B. Dateisystem oder Datei), werden verworfen. Diese URL kann optional mit einem SAS-Token authentifiziert werden.
- 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, ein instance einer AzureSasCredential- oder AzureNamedKeyCredential-Instanz von azure.core.credentials, ein freigegebener Zugriffsschlüssel für ein Konto oder ein instance einer TokenCredentials-Klasse aus azure.identity sein. Wenn der Ressourcen-URI bereits ein SAS-Token enthält, wird dies zugunsten expliziter Anmeldeinformationen ignoriert.
- außer im Fall von AzureSasCredential, bei dem die in Konflikt stehenden SAS-Token einen ValueError auslösen. Wenn Sie eine instance von AzureNamedKeyCredential verwenden, sollte "name" der Name des Speicherkontos und "key" der Speicherkontoschlüssel sein.
- 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 geringeren Featurekompatibilität führen.
Beispiele
Erstellen des DataLakeServiceClient aus der Verbindungszeichenfolge.
from azure.storage.filedatalake import DataLakeServiceClient
datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)
Erstellen des DataLakeServiceClient mit Azure Identity-Anmeldeinformationen
from azure.identity import ClientSecretCredential
token_credential = ClientSecretCredential(
self.active_directory_tenant_id,
self.active_directory_application_id,
self.active_directory_application_secret,
)
datalake_service_client = DataLakeServiceClient("https://{}.dfs.core.windows.net".format(self.account_name),
credential=token_credential)
Variablen
- url
- str
Die vollständige Endpunkt-URL zum Datalake-Dienstendpunkt.
- primary_endpoint
- str
Die vollständige URL des primären Endpunkts.
- primary_hostname
- str
Der Hostname des primären Endpunkts.
Methoden
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_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_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. |
from_connection_string |
Erstellen Sie DataLakeServiceClient aus einer Verbindungszeichenfolge. :return a DataLakeServiceClient :rtype ~azure.storage.filedatalake.DataLakeServiceClient |
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_client |
Rufen Sie einen Client für die Interaktion mit dem angegebenen Dateisystem ab. Das Dateisystem muss noch nicht vorhanden sein. |
get_service_properties |
Ruft die Eigenschaften des Datalake-Diensts eines Speicherkontos ab, einschließlich Azure Storage Analytics. Neu in Version 12.4.0: Dieser Vorgang wurde in der API-Version "2020-06-12" eingeführt. |
get_user_delegation_key |
Rufen Sie einen Benutzerdelegierungsschlüssel zum Signieren von SAS-Token ab. Im Dienstobjekt müssen Tokenanmeldeinformationen vorhanden sein, damit diese Anforderung erfolgreich ist. |
list_file_systems |
Gibt einen Generator zurück, der die Dateisysteme unter dem angegebenen Konto auflistet. Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken verzögert und beendet, wenn alle Dateisysteme zurückgegeben wurden. |
set_service_properties |
Legt die Eigenschaften des Datalake-Diensts eines Speicherkontos fest, einschließlich Azure Storage Analytics. Neu in Version 12.4.0: Dieser Vorgang wurde in der API-Version "2020-06-12" eingeführt. Wenn ein Element (z. B. analytics_logging) als Keine belassen wird, werden die vorhandenen Einstellungen für den Dienst für diese Funktionalität beibehalten. |
undelete_file_system |
Stellt vorläufig gelöschtes Dateisystem wieder her. Der Vorgang ist nur erfolgreich, wenn er innerhalb der angegebenen Anzahl von Tagen verwendet wird, die in der Aufbewahrungsrichtlinie für Löschvorgänge festgelegt ist. Neu in Version 12.3.0: Dieser Vorgang wurde in der API-Version "2019-12-12" eingeführt. |
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_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(file_system: FileSystemProperties | str, metadata: Dict[str, str] | None = None, public_access: PublicAccess | None = None, **kwargs) -> FileSystemClient
Parameter
Ein Diktat mit Namen-Wert-Paaren, die dem Dateisystem als Metadaten zugeordnet werden sollen. Beispiel: {'Category':'test'}
- 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.
Rückgabetyp
Beispiele
Erstellen eines Dateisystems im datalake-Dienst.
datalake_service_client.create_file_system("filesystem")
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.
delete_file_system(file_system: FileSystemProperties | str, **kwargs) -> FileSystemClient
Parameter
- file_system
- str oder FileSystemProperties
Das zu löschende Dateisystem. Dies kann entweder der Name des Dateisystems oder ein instance von FileSystemProperties sein.
- 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.
datalake_service_client.delete_file_system("filesystem")
from_connection_string
Erstellen Sie DataLakeServiceClient aus einer Verbindungszeichenfolge.
:return a DataLakeServiceClient :rtype ~azure.storage.filedatalake.DataLakeServiceClient
from_connection_string(conn_str: 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 freigegebene Zugriffsschlüsselwerte aufweist. Der Wert kann eine SAS-Tokenzeichenfolge, eine instance eines AzureSasCredential-Elements aus azure.core.credentials, ein kontofreigaber Zugriffsschlüssel oder ein instance einer TokenCredentials-Klasse aus azure.identity sein. Die hier angegebenen Anmeldeinformationen haben Vorrang vor denen in der Verbindungszeichenfolge.
Beispiele
Erstellen des DataLakeServiceClient aus einer Verbindungszeichenfolge.
from azure.storage.filedatalake import DataLakeServiceClient
datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)
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(file_system: FileSystemProperties | str, directory: DirectoryProperties | str) -> DataLakeDirectoryClient
Parameter
- file_system
- str oder FileSystemProperties
Das Dateisystem, in dem sich das Verzeichnis befindet. Dies kann entweder der Name des Dateisystems oder ein instance von FileSystemProperties sein.
- directory
- str oder DirectoryProperties
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.
directory_client = datalake_service_client.get_directory_client(file_system_client.file_system_name,
"mydirectory")
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_system: FileSystemProperties | str, file_path: FileProperties | str) -> DataLakeFileClient
Parameter
- file_system
- str oder FileSystemProperties
Das Dateisystem, in dem sich die Datei befindet. Dies kann entweder der Name des Dateisystems oder ein instance von FileSystemProperties sein.
- file_path
- str oder FileProperties
Die Datei, mit der interagiert werden soll. Dies kann entweder der vollständige 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.
file_client = datalake_service_client.get_file_client(file_system_client.file_system_name, "myfile")
get_file_system_client
Rufen Sie einen Client für die Interaktion mit dem angegebenen Dateisystem ab.
Das Dateisystem muss noch nicht vorhanden sein.
get_file_system_client(file_system: FileSystemProperties | str) -> FileSystemClient
Parameter
- file_system
- str oder FileSystemProperties
Das Dateisystem. Dies kann entweder der Name des Dateisystems oder ein instance fileSystemProperties sein.
Gibt zurück
Ein FileSystemClient.
Rückgabetyp
Beispiele
Abrufen der Interaktion des Dateisystemclients mit einem bestimmten Dateisystem.
# 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")
get_service_properties
Ruft die Eigenschaften des Datalake-Diensts eines Speicherkontos ab, einschließlich Azure Storage Analytics.
Neu in Version 12.4.0: Dieser Vorgang wurde in der API-Version "2020-06-12" eingeführt.
get_service_properties(**kwargs: Any) -> Dict[str, Any]
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
Ein Objekt, das Datalake-Diensteigenschaften wie Analyseprotokollierung, Stunden-/Minutenmetriken, Cors-Regeln usw. enthält.
Rückgabetyp
get_user_delegation_key
Rufen Sie einen Benutzerdelegierungsschlüssel zum Signieren von SAS-Token ab. Im Dienstobjekt müssen Tokenanmeldeinformationen vorhanden sein, damit diese Anforderung erfolgreich ist.
get_user_delegation_key(key_start_time: datetime, key_expiry_time: datetime, **kwargs: Any) -> UserDelegationKey
Parameter
- key_expiry_time
- datetime
Ein DateTime-Wert Gibt an, wann die Taste nicht mehr gültig ist.
- 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
Der Benutzerdelegierungsschlüssel.
Rückgabetyp
Beispiele
Rufen Sie den Benutzerdelegierungsschlüssel vom Datalake-Dienstclient ab.
from datetime import datetime, timedelta
user_delegation_key = datalake_service_client.get_user_delegation_key(datetime.utcnow(),
datetime.utcnow() + timedelta(hours=1))
list_file_systems
Gibt einen Generator zurück, der die Dateisysteme unter dem angegebenen Konto auflistet.
Der Generator folgt den vom Dienst zurückgegebenen Fortsetzungstoken verzögert und beendet, wenn alle Dateisysteme zurückgegeben wurden.
list_file_systems(name_starts_with: str | None = None, include_metadata: bool | None = None, **kwargs) -> ItemPaged[FileSystemProperties]
Parameter
- name_starts_with
- str
Filtert die Ergebnisse, um nur Dateisysteme zurückzugeben, deren Namen mit dem angegebenen Präfix beginnen.
- include_metadata
- bool
Gibt an, dass Dateisystemmetadaten in der Antwort zurückgegeben werden. Der Standardwert ist False.
- results_per_page
- int
Die maximale Anzahl von Dateisystemnamen, die pro API-Aufruf abgerufen werden sollen. Wenn die Anforderung nicht angibt, gibt der Server bis zu 5.000 Elemente pro Seite zurück.
- 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.
- include_deleted
- bool
Gibt an, dass gelöschte Dateisysteme in der Antwort zurückgegeben werden sollen. Dies gilt für dateisystemwiederherstellungsfähige Konten. Der Standardwert ist False. .. versionadded:: 12.3.0
- include_system
- bool
Flag, das angibt, dass Systemdateisysteme eingeschlossen werden sollen. .. versionadded:: 12.6.0
Gibt zurück
Ein iterierbares (automatisches Paging) von FileSystemProperties.
Rückgabetyp
Beispiele
Auflisten der Dateisysteme im Datalake-Dienst.
file_systems = datalake_service_client.list_file_systems()
for file_system in file_systems:
print(file_system.name)
set_service_properties
Legt die Eigenschaften des Datalake-Diensts eines Speicherkontos fest, einschließlich Azure Storage Analytics.
Neu in Version 12.4.0: Dieser Vorgang wurde in der API-Version "2020-06-12" eingeführt.
Wenn ein Element (z. B. analytics_logging) als Keine belassen wird, werden die vorhandenen Einstellungen für den Dienst für diese Funktionalität beibehalten.
set_service_properties(**kwargs: Any) -> None
Parameter
- analytics_logging
Gruppiert die Logging-Einstellungen für Azure-Analysen.
- hour_metrics
Die Stundenmetrikeneinstellungen bieten eine Zusammenfassung der Anforderungsstatistiken, die nach API in Stündchenaggregaten gruppiert sind.
- minute_metrics
Die Minutenmetrikeneinstellungen stellen Anforderungsstatistiken für jede Minute bereit.
- cors
Sie können bis zu fünf CorsRule-Elemente in die Liste aufnehmen. Wenn eine leere Liste angegeben wird, werden alle CORS-Regeln gelöscht, und CORS wird für den Dienst deaktiviert.
- target_version
- str
Gibt die Standardversion an, die für Anforderungen verwendet werden soll, wenn die Version einer eingehenden Anforderung nicht angegeben ist.
- delete_retention_policy
Die Aufbewahrungsrichtlinie zum Löschen gibt an, ob gelöschte Dateien/Verzeichnisse beibehalten werden sollen. Außerdem wird die Anzahl der Tage und versionen von Datei/Verzeichnis angegeben, die beibehalten werden sollen.
- static_website
Gibt an, ob das Feature für statische Websites aktiviert ist, und gibt, falls ja, das zu verwendende Indexdokument und das 404-Fehlerdokument an.
- 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
undelete_file_system
Stellt vorläufig gelöschtes Dateisystem wieder her.
Der Vorgang ist nur erfolgreich, wenn er innerhalb der angegebenen Anzahl von Tagen verwendet wird, die in der Aufbewahrungsrichtlinie für Löschvorgänge festgelegt ist.
Neu in Version 12.3.0: Dieser Vorgang wurde in der API-Version "2019-12-12" eingeführt.
undelete_file_system(name: str, deleted_version: str, **kwargs: Any) -> FileSystemClient
Parameter
- name
- str
Gibt den Namen des gelöschten Dateisystems an, das wiederhergestellt werden soll.
- deleted_version
- str
Gibt die Version des wiederherzustellenden gelöschten Dateisystems an.
- 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
Der wiederhergestellte solft-gelöschte FileSystemClient.
Rückgabetyp
Attribute
api_version
Die Version der Speicher-API, die für Anforderungen verwendet wird.
location_mode
Der Standortmodus, den der Client derzeit verwendet.
Standardmäßig ist dies "primär". Zu den Optionen gehören "primär" und "sekundär".
primary_endpoint
Die vollständige URL des primären Endpunkts.
primary_hostname
Der Hostname des primären Endpunkts.
secondary_endpoint
Die vollständige sekundäre Endpunkt-URL, falls konfiguriert.
Wenn kein Wertfehler verfügbar ist, wird ein ValueError ausgelöst. Um einen sekundären Hostnamen explizit anzugeben, verwenden Sie das optionale secondary_hostname Schlüsselwort (keyword) Argument für die Instanziierung.
Ausnahmen
secondary_hostname
Der Hostname des sekundären Endpunkts.
Falls nicht verfügbar, ist dies Keine. Um einen sekundären Hostnamen explizit anzugeben, 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 SAS-Token, falls verwendet.
Dies kann entweder der primäre Endpunkt oder der sekundäre Endpunkt sein, abhängig vom aktuellen location_mode. :returns: Die vollständige Endpunkt-URL für diese Entität, einschließlich SAS-Token, falls verwendet. :rtype: str
Azure SDK for Python