Sdílet prostřednictvím


DataLakeServiceClient Třída

Klient pro interakci se službou DataLake Service na úrovni účtu.

Tento klient poskytuje operace pro načtení a konfiguraci vlastností účtu a také výpis, vytvoření a odstranění systémů souborů v rámci účtu. Pro operace související s konkrétním systémem souborů, adresářem nebo souborem je možné klienty těchto entit načíst také pomocí get_client funkcí.

Dědičnost
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)

Parametry

account_url
str
Vyžadováno

Adresa URL účtu úložiště DataLake. Všechny ostatní entity zahrnuté v cestě URL (např. systém souborů nebo soubor) se zahodí. Tuto adresu URL je možné volitelně ověřit pomocí tokenu SAS.

credential
výchozí hodnota: None

Přihlašovací údaje, pomocí kterých se má ověřit. Tato možnost je volitelná, pokud adresa URL účtu už token SAS obsahuje. Hodnotou může být řetězec tokenu SAS, instance AzureSasCredential nebo AzureNamedKeyCredential z azure.core.credentials, sdílený přístupový klíč účtu nebo instance třídy TokenCredentials z azure.identity. Pokud identifikátor URI prostředku už obsahuje token SAS, bude se ignorovat ve prospěch explicitních přihlašovacích údajů.

  • s výjimkou případu AzureSasCredential, kde konfliktní tokeny SAS způsobí chybu ValueError. Pokud používáte instanci AzureNamedKeyCredential, název by měl být název účtu úložiště a klíč by měl být klíč účtu úložiště.
api_version
str

Verze rozhraní API služby Storage, která se má použít pro požadavky. Výchozí hodnota je nejnovější verze služby, která je kompatibilní s aktuální sadou SDK. Nastavení na starší verzi může mít za následek snížení kompatibility funkcí.

Příklady

Vytvoření dataLakeServiceClient z připojovacího řetězce


   from azure.storage.filedatalake import DataLakeServiceClient
   datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)

Vytvoření dataLakeServiceClient s přihlašovacími údaji azure identity


   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)

Proměnné

url
str

Úplná adresa URL koncového bodu služby DataLake.

primary_endpoint
str

Úplná adresa URL primárního koncového bodu.

primary_hostname
str

Název hostitele primárního koncového bodu.

Metody

close

Tato metoda je zavřít sokety otevřené klientem. Při použití se správcem kontextu se nemusí používat.

create_file_system

Vytvoří nový systém souborů pod zadaným účtem.

Pokud systém souborů se stejným názvem již existuje, bude vyvolána chyba ResourceExistsError. Tato metoda vrátí klienta, se kterým chcete pracovat s nově vytvořeným systémem souborů.

delete_file_system

Označí zadaný systém souborů k odstranění.

Systém souborů a všechny soubory v něm obsažené se později během uvolňování paměti odstraní. Pokud se systém souborů nenajde, vyvolá se chyba ResourceNotFoundError.

from_connection_string

Vytvořte DataLakeServiceClient z připojovacího řetězce.

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

get_directory_client

Získejte klienta pro interakci se zadaným adresářem.

Adresář ještě nemusí existovat.

get_file_client

Získejte klienta pro interakci se zadaným souborem.

Soubor ještě nemusí existovat.

get_file_system_client

Získejte klienta pro interakci se zadaným systémem souborů.

Systém souborů ještě nemusí existovat.

get_service_properties

Získá vlastnosti služby datalake účtu úložiště, včetně Azure Analýza úložiště.

Novinka ve verzi 12.4.0: Tato operace byla zavedena ve verzi rozhraní API 2020-06-12.

get_user_delegation_key

Získejte klíč delegování uživatele pro účely podepisování tokenů SAS. Aby byl tento požadavek úspěšný, musí být v objektu služby k dispozici přihlašovací údaje tokenu.

list_file_systems

Vrátí generátor pro výpis systémů souborů v rámci zadaného účtu.

Generátor bude líně sledovat tokeny pokračování vrácené službou a zastaví se, jakmile se vrátí všechny systémy souborů.

set_service_properties

Nastaví vlastnosti služby Datalake účtu úložiště, včetně Azure Analýza úložiště.

Novinka ve verzi 12.4.0: Tato operace byla zavedena ve verzi rozhraní API 2020-06-12.

Pokud je prvek (např. analytics_logging) ponechán jako Žádný, stávající nastavení služby pro tuto funkci se zachovají.

undelete_file_system

Obnoví obnovitelně odstraněný systém souborů.

Operace bude úspěšná jenom v případě, že se použije v rámci zadaného počtu dnů nastaveného v zásadách uchovávání informací o odstranění.

Novinka ve verzi 12.3.0: Tato operace byla zavedena ve verzi rozhraní API 2019-12-12.2012.

close

Tato metoda je zavřít sokety otevřené klientem. Při použití se správcem kontextu se nemusí používat.

close() -> None

create_file_system

Vytvoří nový systém souborů pod zadaným účtem.

Pokud systém souborů se stejným názvem již existuje, bude vyvolána chyba ResourceExistsError. Tato metoda vrátí klienta, se kterým chcete pracovat s nově vytvořeným systémem souborů.

create_file_system(file_system: FileSystemProperties | str, metadata: Dict[str, str] | None = None, public_access: PublicAccess | None = None, **kwargs) -> FileSystemClient

Parametry

file_system
str
Vyžadováno

Název systému souborů, který se má vytvořit.

metadata
dict(str, str)
Vyžadováno

Dict s páry název-hodnota, které se přidruží k systému souborů jako metadata. Příklad: {'Category':'test'}

public_access
PublicAccess
Vyžadováno

Mezi možné hodnoty patří: systém souborů, soubor.

encryption_scope_options
dict nebo EncryptionScopeOptions

Určuje výchozí obor šifrování, který se nastaví v systému souborů a použije se pro všechny budoucí zápisy.

Novinka ve verzi 12.9.0.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návratový typ

Příklady

Vytvoření systému souborů ve službě datalake


   datalake_service_client.create_file_system("filesystem")

delete_file_system

Označí zadaný systém souborů k odstranění.

Systém souborů a všechny soubory v něm obsažené se později během uvolňování paměti odstraní. Pokud se systém souborů nenajde, vyvolá se chyba ResourceNotFoundError.

delete_file_system(file_system: FileSystemProperties | str, **kwargs) -> FileSystemClient

Parametry

file_system
str nebo FileSystemProperties
Vyžadováno

Systém souborů, který chcete odstranit. Může to být buď název systému souborů, nebo instance FileSystemProperties.

lease
DataLakeLeaseClient nebo str

Pokud zadáte hodnotu, delete_file_system bude úspěšná jenom v případě, že je zapůjčení systému souborů aktivní a odpovídá tomuto ID. Vyžaduje se, pokud má systém souborů aktivní zapůjčení.

if_modified_since
datetime

Hodnota DateTime. Azure očekává, že předaná hodnota data bude UTC. Pokud je zahrnuté časové pásmo, všechny hodnoty datetime mimo UTC se převedou na UTC. Pokud je datum předáno bez informací o časovém pásmu, předpokládá se, že je to UTC. Tuto hlavičku zadejte, pokud chcete operaci provést pouze v případě, že se prostředek od zadaného času změnil.

if_unmodified_since
datetime

Hodnota DateTime. Azure očekává, že předaná hodnota data bude UTC. Pokud je zahrnuté časové pásmo, všechny hodnoty datetime mimo UTC se převedou na UTC. Pokud je datum předáno bez informací o časovém pásmu, předpokládá se, že je to UTC. Tuto hlavičku zadejte, pokud chcete operaci provést pouze v případě, že prostředek nebyl od zadaného data a času změněn.

etag
str

Hodnota ETag nebo zástupný znak (*). Slouží ke kontrole, jestli se prostředek změnil, a k akci podle podmínky určené parametrem match_condition .

match_condition
MatchConditions

Podmínka shody, která se použije u značky etag.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návratový typ

Příklady

Odstranění systému souborů ve službě datalake


   datalake_service_client.delete_file_system("filesystem")

from_connection_string

Vytvořte DataLakeServiceClient z připojovacího řetězce.

: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

Parametry

conn_str
str
Vyžadováno

Připojovací řetězec k účtu služby Azure Storage.

credential
výchozí hodnota: None

Přihlašovací údaje, pomocí kterých se má ověřit. Tato možnost je volitelná, pokud adresa URL účtu už má token SAS nebo pokud připojovací řetězec už obsahuje hodnoty sdíleného přístupového klíče. Hodnotou může být řetězec tokenu SAS, instance AzureSasCredential z azure.core.credentials, sdílený přístupový klíč účtu nebo instance třídy TokenCredentials z azure.identity. Přihlašovací údaje uvedené tady budou mít přednost před přihlašovacími údaji v připojovacím řetězci.

Příklady

Vytvoření dataLakeServiceClient z připojovacího řetězce


   from azure.storage.filedatalake import DataLakeServiceClient
   datalake_service_client = DataLakeServiceClient.from_connection_string(self.connection_string)

get_directory_client

Získejte klienta pro interakci se zadaným adresářem.

Adresář ještě nemusí existovat.

get_directory_client(file_system: FileSystemProperties | str, directory: DirectoryProperties | str) -> DataLakeDirectoryClient

Parametry

file_system
str nebo FileSystemProperties
Vyžadováno

Systém souborů, ve které se adresář nachází. Může to být buď název systému souborů, nebo instance FileSystemProperties.

directory
str nebo DirectoryProperties
Vyžadováno

Adresář, se kterým chcete pracovat. Může to být buď název adresáře, nebo instance DirectoryVlastnosti.

Návraty

A DataLakeDirectoryClient.

Návratový typ

Příklady

Získání klienta adresáře pro interakci s konkrétním adresářem


   directory_client = datalake_service_client.get_directory_client(file_system_client.file_system_name,
                                                                   "mydirectory")

get_file_client

Získejte klienta pro interakci se zadaným souborem.

Soubor ještě nemusí existovat.

get_file_client(file_system: FileSystemProperties | str, file_path: FileProperties | str) -> DataLakeFileClient

Parametry

file_system
str nebo FileSystemProperties
Vyžadováno

Systém souborů, ve které se soubor nachází. Může to být buď název systému souborů, nebo instance FileSystemProperties.

file_path
str nebo FileProperties
Vyžadováno

Soubor, se kterým chcete pracovat. Může to být buď úplná cesta k souboru (z kořenového adresáře), nebo instance FileVlastnosti. Např. adresář/podadresář/soubor

Návraty

A DataLakeFileClient.

Návratový typ

Příklady

Získání klienta souborů pro interakci s konkrétním souborem


   file_client = datalake_service_client.get_file_client(file_system_client.file_system_name, "myfile")

get_file_system_client

Získejte klienta pro interakci se zadaným systémem souborů.

Systém souborů ještě nemusí existovat.

get_file_system_client(file_system: FileSystemProperties | str) -> FileSystemClient

Parametry

file_system
str nebo FileSystemProperties
Vyžadováno

Systém souborů. Může to být buď název systému souborů, nebo instance FileSystemProperties.

Návraty

A FileSystemClient.

Návratový typ

Příklady

Získání klienta systému souborů pro interakci s konkrétním systémem souborů


   # 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

Získá vlastnosti služby datalake účtu úložiště, včetně Azure Analýza úložiště.

Novinka ve verzi 12.4.0: Tato operace byla zavedena ve verzi rozhraní API 2020-06-12.

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

Parametry

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Objekt obsahující vlastnosti služby DataLake, jako je protokolování analýz, metriky hodin a minut, pravidla CORS atd.

Návratový typ

get_user_delegation_key

Získejte klíč delegování uživatele pro účely podepisování tokenů SAS. Aby byl tento požadavek úspěšný, musí být v objektu služby k dispozici přihlašovací údaje tokenu.

get_user_delegation_key(key_start_time: datetime, key_expiry_time: datetime, **kwargs: Any) -> UserDelegationKey

Parametry

key_start_time
datetime
Vyžadováno

Hodnota DateTime. Označuje, kdy se klíč stane platným.

key_expiry_time
datetime
Vyžadováno

Hodnota DateTime. Označuje, kdy klíč přestane být platný.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Klíč delegování uživatele.

Návratový typ

Příklady

Získejte klíč delegování uživatele z klienta služby datalake.


   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

Vrátí generátor pro výpis systémů souborů v rámci zadaného účtu.

Generátor bude líně sledovat tokeny pokračování vrácené službou a zastaví se, jakmile se vrátí všechny systémy souborů.

list_file_systems(name_starts_with: str | None = None, include_metadata: bool | None = None, **kwargs) -> ItemPaged[FileSystemProperties]

Parametry

name_starts_with
str
Vyžadováno

Filtruje výsledky tak, aby vrátily pouze systémy souborů, jejichž názvy začínají zadanou předponou.

include_metadata
bool
Vyžadováno

Určuje, že se v odpovědi vrátí metadata systému souborů. Výchozí hodnota je Nepravda.

results_per_page
int

Maximální počet názvů systémů souborů, které se mají načíst na volání rozhraní API. Pokud požadavek neurčil, server vrátí až 5 000 položek na stránku.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

include_deleted
bool

Určuje, že odstraněné systémy souborů mají být vráceny v odpovědi. Toto je pro účet s povoleným obnovením systému souborů. Výchozí hodnota je Nepravda. .. verzeadded:: 12.3.0

include_system
bool

Příznak určující, že mají být zahrnuty systémové systémy souborů. .. verzeadded:: 12.6.0

Návraty

Iterable (automatické stránkování) FileSystemProperties.

Návratový typ

Příklady

Výpis systémů souborů ve službě datalake


   file_systems = datalake_service_client.list_file_systems()
   for file_system in file_systems:
       print(file_system.name)

set_service_properties

Nastaví vlastnosti služby Datalake účtu úložiště, včetně Azure Analýza úložiště.

Novinka ve verzi 12.4.0: Tato operace byla zavedena ve verzi rozhraní API 2020-06-12.

Pokud je prvek (např. analytics_logging) ponechán jako Žádný, stávající nastavení služby pro tuto funkci se zachovají.

set_service_properties(**kwargs: Any) -> None

Parametry

analytics_logging

Seskupí nastavení protokolování Azure Analytics.

hour_metrics

Nastavení hodinových metrik poskytuje souhrn statistik žádostí seskupených podle rozhraní API v agregovaných po hodinách.

minute_metrics

Nastavení minutových metrik poskytuje statistiky požadavků pro každou minutu.

cors

Do seznamu můžete zahrnout až pět prvků CorsRule. Pokud zadáte prázdný seznam, odstraní se všechna pravidla CORS a CORS se pro službu zakáže.

target_version
str

Určuje výchozí verzi, která se má použít pro požadavky, pokud není zadaná verze příchozího požadavku.

delete_retention_policy

Zásada uchovávání informací o odstranění určuje, jestli se mají zachovat odstraněné soubory nebo adresáře. Určuje také počet dnů a verze souboru nebo adresáře, které se mají zachovat.

static_website

Určuje, jestli je povolená funkce statického webu, a pokud ano, označuje dokument indexu a dokument chyby 404, který se má použít.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návratový typ

undelete_file_system

Obnoví obnovitelně odstraněný systém souborů.

Operace bude úspěšná jenom v případě, že se použije v rámci zadaného počtu dnů nastaveného v zásadách uchovávání informací o odstranění.

Novinka ve verzi 12.3.0: Tato operace byla zavedena ve verzi rozhraní API 2019-12-12.2012.

undelete_file_system(name: str, deleted_version: str, **kwargs: Any) -> FileSystemClient

Parametry

name
str
Vyžadováno

Určuje název odstraněného systému souborů, který se má obnovit.

deleted_version
str
Vyžadováno

Určuje verzi odstraněného systému souborů, který se má obnovit.

timeout
int

Nastaví časový limit operace na straně serveru v sekundách. Další podrobnosti najdete tady: https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Tato hodnota se v klientovi nesleduje ani neověřuje. Informace o konfiguraci časových limitů sítě na straně klienta najdete tady.

Návraty

Obnovený solft-deleted FileSystemClient.

Návratový typ

Atributy

api_version

Verze rozhraní API služby Storage používaná pro požadavky.

location_mode

Režim umístění, který klient aktuálně používá.

Ve výchozím nastavení bude primární. Mezi možnosti patří primární a sekundární.

primary_endpoint

Úplná adresa URL primárního koncového bodu.

primary_hostname

Název hostitele primárního koncového bodu.

secondary_endpoint

Úplná adresa URL sekundárního koncového bodu, pokud je nakonfigurovaná.

Pokud není k dispozici, vyvolá se chyba ValueError. Pokud chcete explicitně zadat sekundární název hostitele, při vytváření instance použijte volitelný argument secondary_hostname klíčového slova.

Výjimky

secondary_hostname

Název hostitele sekundárního koncového bodu.

Pokud není k dispozici, bude to Žádná. Pokud chcete explicitně zadat sekundární název hostitele, při vytváření instance použijte volitelný argument secondary_hostname klíčového slova.

url

Úplná adresa URL koncového bodu této entity, včetně tokenu SAS, pokud se používá.

V závislosti na aktuálním location_modekoncovém bodu to může být primární koncový bod nebo sekundární koncový bod. :returns: Úplná adresa URL koncového bodu této entity, včetně tokenu SAS, pokud je použit. :rtype: str