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.StorageAccountHostsMixinDataLakeServiceClient
Konstruktor
DataLakeServiceClient(account_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any)
Parameter
- account_url
- str
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
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
Dict dengan pasangan nama-nilai untuk dikaitkan dengan sistem file sebagai metadata. Contoh: {'Category':'test'}
- 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
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
- credential
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
Sistem file tempat direktori berada. Ini bisa menjadi nama sistem file, atau instans FileSystemProperties.
- directory
- str atau DirectoryProperties
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
Sistem file tempat file berada. Ini bisa menjadi nama sistem file, atau instans FileSystemProperties.
- file_path
- str atau FileProperties
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
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
- 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
Memfilter hasil untuk mengembalikan hanya sistem file yang namanya dimulai dengan awalan yang ditentukan.
- include_metadata
- bool
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
- 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
Azure SDK for Python