Bagikan melalui


DataLakeServiceClient Kelas

Klien untuk berinteraksi dengan Layanan DataLake di tingkat akun.

Klien ini menyediakan operasi untuk mengambil dan mengonfigurasi properti akun serta mencantumkan, membuat dan menghapus sistem file dalam akun. Untuk operasi yang berkaitan dengan sistem file, direktori, atau file tertentu, klien untuk entitas tersebut juga dapat diambil menggunakan fungsi get_client .

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

URL ke akun penyimpanan DataLake. Entitas lain yang disertakan dalam jalur URL (misalnya sistem file atau file) akan dibuang. URL ini dapat diautentikasi secara opsional dengan token SAS.

credential
nilai default: None

Kredensial yang digunakan untuk mengautentikasi. Ini bersifat opsional jika URL akun sudah memiliki token SAS. Nilainya dapat berupa string token SAS, instans AzureSasCredential atau AzureNamedKeyCredential dari azure.core.credentials, kunci akses bersama akun, atau instans kelas TokenCredentials dari azure.identity. Jika URI sumber daya sudah berisi token SAS, ini akan diabaikan demi kredensial eksplisit

  • kecuali dalam kasus AzureSasCredential, di mana token SAS yang bertentangan akan menaikkan ValueError. Jika menggunakan instans AzureNamedKeyCredential, "nama" harus menjadi nama akun penyimpanan, dan "kunci" harus menjadi kunci akun penyimpanan.
api_version
str

Versi Storage API yang digunakan untuk permintaan. Nilai default adalah versi layanan terbaru yang kompatibel dengan SDK saat ini. Pengaturan ke versi yang lebih lama dapat mengakibatkan kompatibilitas fitur yang berkurang.

Contoh

Membuat DataLakeServiceClient dari string koneksi.


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

Membuat DataLakeServiceClient dengan kredensial 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)

Variabel

url
str

URL titik akhir lengkap ke titik akhir layanan datalake.

primary_endpoint
str

URL titik akhir utama lengkap.

primary_hostname
str

Nama host titik akhir utama.

Metode

close

Metode ini untuk menutup soket yang dibuka oleh klien. Ini tidak perlu digunakan saat menggunakan dengan manajer konteks.

create_file_system

Membuat sistem file baru di bawah akun yang ditentukan.

Jika sistem file dengan nama yang sama sudah ada, ResourceExistsError akan dinaikkan. Metode ini mengembalikan klien untuk berinteraksi dengan sistem file yang baru dibuat.

delete_file_system

Menandai sistem file yang ditentukan untuk dihapus.

Sistem file dan file apa pun yang terkandung di dalamnya kemudian dihapus selama pengumpulan sampah. Jika sistem file tidak ditemukan, ResourceNotFoundError akan dinaikkan.

from_connection_string

Buat DataLakeServiceClient dari String Koneksi.

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

get_directory_client

Mendapatkan klien untuk berinteraksi dengan direktori yang ditentukan.

Direktori belum ada.

get_file_client

Mendapatkan klien untuk berinteraksi dengan file yang ditentukan.

File belum ada.

get_file_system_client

Mendapatkan klien untuk berinteraksi dengan sistem file yang ditentukan.

Sistem file belum ada.

get_service_properties

Mendapatkan properti layanan datalake akun penyimpanan, termasuk Azure Storage Analytics.

Baru dalam versi 12.4.0: Operasi ini diperkenalkan dalam versi API '2020-06-12'.

get_user_delegation_key

Dapatkan kunci delegasi pengguna untuk tujuan menandatangani token SAS. Kredensial token harus ada pada objek layanan agar permintaan ini berhasil.

list_file_systems

Mengembalikan generator untuk mencantumkan sistem file di bawah akun yang ditentukan.

Generator akan dengan malas mengikuti token kelanjutan yang dikembalikan oleh layanan dan berhenti ketika semua sistem file telah dikembalikan.

set_service_properties

Mengatur properti layanan Datalake akun penyimpanan, termasuk Azure Storage Analytics.

Baru dalam versi 12.4.0: Operasi ini diperkenalkan dalam versi API '2020-06-12'.

Jika elemen (misalnya analytics_logging) dibiarkan sebagai Tidak Ada, pengaturan yang ada pada layanan untuk fungsi tersebut dipertahankan.

undelete_file_system

Memulihkan sistem file yang dihapus sementara.

Operasi hanya akan berhasil jika digunakan dalam jumlah hari yang ditentukan yang ditetapkan dalam kebijakan penyimpanan penghapusan.

Baru dalam versi 12.3.0: Operasi ini diperkenalkan dalam versi API '2019-12-12'.

close

Metode ini untuk menutup soket yang dibuka oleh klien. Ini tidak perlu digunakan saat menggunakan dengan manajer konteks.

close() -> None

create_file_system

Membuat sistem file baru di bawah akun yang ditentukan.

Jika sistem file dengan nama yang sama sudah ada, ResourceExistsError akan dinaikkan. Metode ini mengembalikan klien untuk berinteraksi dengan sistem file yang baru dibuat.

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

Parameter

file_system
str
Diperlukan

Nama sistem file yang akan dibuat.

metadata
dict(str, str)
Diperlukan

Dict dengan pasangan nama-nilai untuk dikaitkan dengan sistem file sebagai metadata. Contoh: {'Category':'test'}

public_access
PublicAccess
Diperlukan

Nilai yang mungkin termasuk: sistem file, file.

encryption_scope_options
dict atau EncryptionScopeOptions

Menentukan cakupan enkripsi default yang akan diatur pada sistem file dan menggunakan untuk semua penulisan di masa mendatang.

Baru dalam versi 12.9.0.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.

Tipe hasil

Contoh

Membuat sistem file di layanan datalake.


   datalake_service_client.create_file_system("filesystem")

delete_file_system

Menandai sistem file yang ditentukan untuk dihapus.

Sistem file dan file apa pun yang terkandung di dalamnya kemudian dihapus selama pengumpulan sampah. Jika sistem file tidak ditemukan, ResourceNotFoundError akan dinaikkan.

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

Parameter

file_system
str atau FileSystemProperties
Diperlukan

Sistem file yang akan dihapus. Ini bisa menjadi nama sistem file, atau instans FileSystemProperties.

lease
DataLakeLeaseClient atau str

Jika ditentukan, delete_file_system hanya berhasil jika sewa sistem file aktif dan cocok dengan ID ini. Diperlukan jika sistem file memiliki sewa aktif.

if_modified_since
datetime

Nilai TanggalWaktu. Azure mengharapkan nilai tanggal yang diteruskan menjadi UTC. Jika zona waktu disertakan, tanggalwaktu non-UTC apa pun akan dikonversi ke UTC. Jika tanggal diteruskan tanpa info zona waktu, diasumsikan sebagai UTC. Tentukan header ini untuk melakukan operasi hanya jika sumber daya telah dimodifikasi sejak waktu yang ditentukan.

if_unmodified_since
datetime

Nilai TanggalWaktu. Azure mengharapkan nilai tanggal yang diteruskan menjadi UTC. Jika zona waktu disertakan, tanggalwaktu non-UTC apa pun akan dikonversi ke UTC. Jika tanggal diteruskan tanpa info zona waktu, diasumsikan sebagai UTC. Tentukan header ini untuk melakukan operasi hanya jika sumber daya belum dimodifikasi sejak tanggal/waktu yang ditentukan.

etag
str

Nilai ETag, atau karakter kartubebas (*). Digunakan untuk memeriksa apakah sumber daya telah berubah, dan bertindak sesuai dengan kondisi yang ditentukan oleh parameter match_condition .

match_condition
MatchConditions

Kondisi kecocokan untuk digunakan pada etag.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.

Tipe hasil

Contoh

Menghapus sistem file di layanan datalake.


   datalake_service_client.delete_file_system("filesystem")

from_connection_string

Buat DataLakeServiceClient dari String Koneksi.

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

String koneksi ke akun Azure Storage.

credential
nilai default: None

Kredensial yang digunakan untuk mengautentikasi. Ini bersifat opsional jika URL akun sudah memiliki token SAS, atau string koneksi sudah memiliki nilai kunci akses bersama. Nilainya dapat berupa string token SAS, instans AzureSasCredential dari azure.core.credentials, kunci akses bersama akun, atau instans kelas TokenCredentials dari azure.identity. Kredensial yang disediakan di sini akan lebih diutamakan daripada yang ada dalam string koneksi.

Contoh

Membuat DataLakeServiceClient dari string koneksi.


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

get_directory_client

Mendapatkan klien untuk berinteraksi dengan direktori yang ditentukan.

Direktori belum ada.

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

Parameter

file_system
str atau FileSystemProperties
Diperlukan

Sistem file tempat direktori berada. Ini bisa menjadi nama sistem file, atau instans FileSystemProperties.

directory
str atau DirectoryProperties
Diperlukan

Direktori yang akan berinteraksi. Ini bisa berupa nama direktori, atau instans DirectoryProperties.

Mengembalikan

A DataLakeDirectoryClient.

Tipe hasil

Contoh

Membuat klien direktori berinteraksi dengan direktori tertentu.


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

get_file_client

Mendapatkan klien untuk berinteraksi dengan file yang ditentukan.

File belum ada.

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

Parameter

file_system
str atau FileSystemProperties
Diperlukan

Sistem file tempat file berada. Ini bisa menjadi nama sistem file, atau instans FileSystemProperties.

file_path
str atau FileProperties
Diperlukan

File yang digunakan untuk berinteraksi. Ini bisa menjadi jalur lengkap file (dari direktori akar), atau instans FileProperties. Misalnya. direktori/subdirektori/file

Mengembalikan

A DataLakeFileClient.

Tipe hasil

Contoh

Membuat klien file berinteraksi dengan file tertentu.


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

get_file_system_client

Mendapatkan klien untuk berinteraksi dengan sistem file yang ditentukan.

Sistem file belum ada.

get_file_system_client(file_system: FileSystemProperties | str) -> FileSystemClient

Parameter

file_system
str atau FileSystemProperties
Diperlukan

Sistem file. Ini bisa menjadi nama sistem file, atau instans FileSystemProperties.

Mengembalikan

A FileSystemClient.

Tipe hasil

Contoh

Membuat klien sistem file berinteraksi dengan sistem file tertentu.


   # 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

Mendapatkan properti layanan datalake akun penyimpanan, termasuk Azure Storage Analytics.

Baru dalam versi 12.4.0: Operasi ini diperkenalkan dalam versi API '2020-06-12'.

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

Parameter

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.

Mengembalikan

Objek yang berisi properti layanan datalake seperti pengelogan analitik, metrik jam/menit, aturan cors, dll.

Tipe hasil

get_user_delegation_key

Dapatkan kunci delegasi pengguna untuk tujuan menandatangani token SAS. Kredensial token harus ada pada objek layanan agar permintaan ini berhasil.

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

Parameter

key_start_time
datetime
Diperlukan

Nilai TanggalWaktu. Menunjukkan kapan kunci menjadi valid.

key_expiry_time
datetime
Diperlukan

Nilai TanggalWaktu. Menunjukkan kapan kunci berhenti valid.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.

Mengembalikan

Kunci delegasi pengguna.

Tipe hasil

Contoh

Dapatkan kunci delegasi pengguna dari klien layanan 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

Mengembalikan generator untuk mencantumkan sistem file di bawah akun yang ditentukan.

Generator akan dengan malas mengikuti token kelanjutan yang dikembalikan oleh layanan dan berhenti ketika semua sistem file telah dikembalikan.

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

Parameter

name_starts_with
str
Diperlukan

Memfilter hasil untuk mengembalikan hanya sistem file yang namanya dimulai dengan awalan yang ditentukan.

include_metadata
bool
Diperlukan

Menentukan bahwa metadata sistem file dikembalikan dalam respons. Nilai defaultnya adalah False.

results_per_page
int

Jumlah maksimum nama sistem file untuk diambil per panggilan API. Jika permintaan tidak menentukan server akan mengembalikan hingga 5.000 item per halaman.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.

include_deleted
bool

Menentukan bahwa sistem file yang dihapus akan dikembalikan dalam respons. Ini untuk akun yang diaktifkan pemulihan sistem file. Nilai defaultnya adalah False. .. versionadded:: 12.3.0

include_system
bool

Bendera yang menentukan bahwa sistem sistem sistem harus disertakan. .. versionadded:: 12.6.0

Mengembalikan

Iterable (halaman otomatis) fileSystemProperties.

Tipe hasil

Contoh

Mencantumkan sistem file di layanan datalake.


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

set_service_properties

Mengatur properti layanan Datalake akun penyimpanan, termasuk Azure Storage Analytics.

Baru dalam versi 12.4.0: Operasi ini diperkenalkan dalam versi API '2020-06-12'.

Jika elemen (misalnya analytics_logging) dibiarkan sebagai Tidak Ada, pengaturan yang ada pada layanan untuk fungsi tersebut dipertahankan.

set_service_properties(**kwargs: Any) -> None

Parameter

analytics_logging

Mengelompokkan pengaturan Pengelogan Azure Analytics.

hour_metrics

Pengaturan metrik jam menyediakan ringkasan statistik permintaan yang dikelompokkan menurut API dalam agregat per jam.

minute_metrics

Pengaturan metrik menit menyediakan statistik permintaan untuk setiap menit.

cors

Anda dapat menyertakan hingga lima elemen CorsRule dalam daftar. Jika daftar kosong ditentukan, semua aturan CORS akan dihapus, dan CORS akan dinonaktifkan untuk layanan.

target_version
str

Menunjukkan versi default yang akan digunakan untuk permintaan jika versi permintaan masuk tidak ditentukan.

delete_retention_policy

Kebijakan penyimpanan penghapusan menentukan apakah akan mempertahankan file/direktori yang dihapus. Ini juga menentukan jumlah hari dan versi file/direktori yang akan disimpan.

static_website

Menentukan apakah fitur situs web statis diaktifkan, dan jika ya, menunjukkan dokumen indeks dan dokumen kesalahan 404 untuk digunakan.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.

Tipe hasil

undelete_file_system

Memulihkan sistem file yang dihapus sementara.

Operasi hanya akan berhasil jika digunakan dalam jumlah hari yang ditentukan yang ditetapkan dalam kebijakan penyimpanan penghapusan.

Baru dalam versi 12.3.0: Operasi ini diperkenalkan dalam versi API '2019-12-12'.

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

Parameter

name
str
Diperlukan

Menentukan nama sistem file yang dihapus untuk dipulihkan.

deleted_version
str
Diperlukan

Menentukan versi sistem file yang dihapus untuk dipulihkan.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam detik. Untuk detail selengkapnya, lihat https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-blob-service-operations. Nilai ini tidak dilacak atau divalidasi pada klien. Untuk mengonfigurasi batas waktu jaringan sisi klien, lihat di sini.

Mengembalikan

FileSystemClient yang dihapus solft yang dipulihkan.

Tipe hasil

Atribut

api_version

Versi STORAGE API yang digunakan untuk permintaan.

location_mode

Mode lokasi yang saat ini digunakan klien.

Secara default ini akan menjadi "primer". Opsi termasuk "primer" dan "sekunder".

primary_endpoint

URL titik akhir utama lengkap.

primary_hostname

Nama host titik akhir utama.

secondary_endpoint

URL titik akhir sekunder penuh jika dikonfigurasi.

Jika tidak tersedia, ValueError akan dinaikkan. Untuk secara eksplisit menentukan nama host sekunder, gunakan argumen kata kunci secondary_hostname opsional pada instantiation.

Pengecualian

secondary_hostname

Nama host titik akhir sekunder.

Jika tidak tersedia, ini akan menjadi Tidak Ada. Untuk secara eksplisit menentukan nama host sekunder, gunakan argumen kata kunci secondary_hostname opsional pada instantiation.

url

URL titik akhir lengkap untuk entitas ini, termasuk token SAS jika digunakan.

Ini bisa berupa titik akhir utama, atau titik akhir sekunder tergantung pada saat ini location_mode. :returns: URL titik akhir penuh ke entitas ini, termasuk token SAS jika digunakan. :rtype: str