Freigeben über


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

Konstruktor

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

Parameter

account_url
str
Erforderlich

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

file_system
str
Erforderlich

Der Name des zu erstellenden Dateisystems.

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

Mögliche Werte sind: Dateisystem, Datei.

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
Erforderlich

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

conn_str
str
Erforderlich

Eine Verbindungszeichenfolge zu einem Azure Storage-Konto.

credential
Standardwert: None

Die Anmeldeinformationen, mit denen die Authentifizierung erfolgt. Dies ist optional, wenn die Konto-URL bereits über ein SAS-Token verfügt oder die Verbindungszeichenfolge bereits freigegebene Zugriffsschlüsselwerte aufweist. Der Wert kann eine SAS-Tokenzeichenfolge, 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
Erforderlich

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
Erforderlich

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

Gibt zurück

Ein DataLakeDirectoryClient.

Rückgabetyp

Beispiele

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


   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
Erforderlich

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
Erforderlich

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
Erforderlich

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_start_time
datetime
Erforderlich

Ein DateTime-Wert Gibt an, wann der Schlüssel gültig wird.

key_expiry_time
datetime
Erforderlich

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
Erforderlich

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

include_metadata
bool
Erforderlich

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
Erforderlich

Gibt den Namen des gelöschten Dateisystems an, das wiederhergestellt werden soll.

deleted_version
str
Erforderlich

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