Bagikan melalui


DataLakeFileClient Kelas

Klien untuk berinteraksi dengan file DataLake, bahkan jika file mungkin belum ada.

Warisan
azure.storage.filedatalake._path_client.PathClient
DataLakeFileClient

Konstruktor

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

Parameter

account_url
str
Diperlukan

URI ke akun penyimpanan.

file_system_name
str
Diperlukan

Sistem file untuk direktori atau file.

file_path
str
Diperlukan

Seluruh jalur file, sehingga untuk berinteraksi dengan file tertentu. misalnya. "{directory}/{subdirektori}/{file}"

credential
nilai default: None

Kredensial yang digunakan untuk mengautentikasi. Ini 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 memunculkan 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 akan digunakan untuk permintaan. Nilai default adalah versi layanan terbaru yang kompatibel dengan SDK saat ini. Pengaturan ke versi yang lebih lama dapat mengakibatkan berkurangnya kompatibilitas fitur.

Contoh

Membuat DataLakeServiceClient dari string koneksi.


   from azure.storage.filedatalake import DataLakeFileClient
   DataLakeFileClient.from_connection_string(connection_string, "myfilesystem", "mydirectory", "myfile")

Variabel

url
str

URL titik akhir lengkap ke sistem file, termasuk token SAS jika digunakan.

primary_endpoint
str

URL titik akhir utama lengkap.

primary_hostname
str

Nama host titik akhir utama.

Metode

acquire_lease

Meminta sewa baru. Jika file atau direktori tidak memiliki sewa aktif, layanan DataLake membuat sewa pada file/direktori dan mengembalikan ID sewa baru.

append_data

Tambahkan data ke file.

close

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

create_file

Buat file baru.

delete_file

Menandai file yang ditentukan untuk dihapus.

download_file

Mengunduh file ke StorageStreamDownloader. Metode readall() harus digunakan untuk membaca semua konten, atau readinto() harus digunakan untuk mengunduh file ke dalam aliran. Menggunakan chunks() mengembalikan iterator yang memungkinkan pengguna untuk melakukan iterasi atas konten dalam gugus.

exists

Mengembalikan True jika ada file dan mengembalikan False jika tidak.

flush_data

Terapkan data yang ditambahkan sebelumnya.

from_connection_string

Buat DataLakeFileClient dari String Koneksi.

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

get_access_control
get_file_properties

Mengembalikan semua metadata yang ditentukan pengguna, properti HTTP standar, dan properti sistem untuk file tersebut. Ini tidak mengembalikan konten file.

query_file

Memungkinkan pengguna untuk memilih/memproyeksikan data file datalake dengan menyediakan ekspresi kueri sederhana. Operasi ini mengembalikan DataLakeFileQueryReader, pengguna perlu menggunakan readall() atau readinto() untuk mendapatkan data kueri.

remove_access_control_recursive

Menghapus Access Control pada jalur dan sub-jalur.

rename_file

Ganti nama file sumber.

set_access_control

Atur pemilik, grup, izin, atau daftar kontrol akses untuk jalur.

set_access_control_recursive

Mengatur Access Control pada jalur dan sub-jalur.

set_file_expiry

Mengatur waktu file akan kedaluwarsa dan dihapus.

set_http_headers

Menyetel properti sistem pada file atau direktori.

Jika satu properti diatur untuk content_settings, semua properti akan ditimpa.

set_metadata

Mengatur satu atau beberapa pasangan nilai nama yang ditentukan pengguna untuk sistem file yang ditentukan. Setiap panggilan ke operasi ini menggantikan semua metadata yang ada yang dilampirkan ke sistem file. Untuk menghapus semua metadata dari sistem file, panggil operasi ini tanpa dict metadata.

update_access_control_recursive

Memodifikasi Access Control pada jalur dan sub-jalur.

upload_data

Unggah data ke file.

acquire_lease

Meminta sewa baru. Jika file atau direktori tidak memiliki sewa aktif, layanan DataLake membuat sewa pada file/direktori dan mengembalikan ID sewa baru.

acquire_lease(lease_duration: int | None = -1, lease_id: str | None = None, **kwargs) -> DataLakeLeaseClient

Parameter

lease_duration
int
Diperlukan

Menentukan durasi sewa, dalam detik, atau negatif satu (-1) untuk sewa yang tidak pernah kedaluwarsa. Sewa yang tidak terbatas bisa antara 15 dan 60 detik. Durasi sewa tidak dapat diubah menggunakan pembaruan atau perubahan. Defaultnya adalah -1 (sewa tak terbatas).

lease_id
str
Diperlukan

ID sewa yang diusulkan, dalam format string GUID. Layanan DataLake mengembalikan 400 (Permintaan tidak valid) jika ID sewa yang diusulkan tidak dalam format yang benar.

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 hitung 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 DataLakeLeaseClient, yang dapat dijalankan di manajer konteks.

Tipe hasil

append_data

Tambahkan data ke file.

append_data(data: bytes | str | Iterable[AnyStr] | IO[AnyStr], offset: int, length: int | None = None, **kwargs) -> Dict[str, str | datetime | int]

Parameter

data
Diperlukan

Konten yang akan ditambahkan ke file

offset
Diperlukan

posisi mulai data yang akan ditambahkan.

length
Diperlukan

Ukuran data dalam byte.

flush
bool

Jika true, akan menerapkan data setelah ditambahkan.

validate_content
bool

Jika true, menghitung hash MD5 dari konten blok. Layanan penyimpanan memeriksa hash konten yang telah tiba dengan hash yang dikirim. Ini terutama berharga untuk mendeteksi bitflip pada kawat jika menggunakan http alih-alih https sebagai https (default) sudah akan memvalidasi. Perhatikan bahwa hash MD5 ini tidak disimpan dengan file .

lease_action
Literal["acquire", "auto-renew", "release", "acquire-release"]

Digunakan untuk melakukan operasi sewa bersama dengan menambahkan data.

"acquire" - Memperoleh sewa. "perpanjangan otomatis" - Barukan kembali sewa yang sudah ada. "release" - Lepaskan sewa setelah operasi selesai. Membutuhkan flush=True. "acquire-release" - Memperoleh sewa dan merilisnya setelah operasi selesai. Membutuhkan flush=True.

lease_duration
int

Valid jika lease_action diatur ke "acquire" atau "acquire-release".

Menentukan durasi sewa, dalam detik, atau negatif satu (-1) untuk sewa yang tidak pernah kedaluwarsa. Sewa yang tidak terbatas bisa antara 15 dan 60 detik. Durasi sewa tidak dapat diubah menggunakan pembaruan atau perubahan. Defaultnya adalah -1 (sewa tak terbatas).

lease
DataLakeLeaseClient atau str

Diperlukan jika file memiliki sewa aktif atau jika lease_action diatur ke "acquire" atau "acquire-release". Jika file memiliki sewa yang ada, ini akan digunakan untuk mengakses file. Jika memperoleh sewa baru, ini akan digunakan sebagai id sewa baru. Nilai dapat berupa objek DataLakeLeaseClient atau ID sewa sebagai string.

cpk
CustomerProvidedEncryptionKey

Mengenkripsi data di sisi layanan dengan kunci yang diberikan. Penggunaan kunci yang disediakan pelanggan harus dilakukan melalui HTTPS.

Mengembalikan

dict header respons

Contoh

Tambahkan data ke file.


   file_client.append_data(data=file_content[2048:3072], offset=2048, length=1024)

close

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

close() -> None

create_file

Buat file baru.

create_file(content_settings: ContentSettings | None = None, metadata: Dict[str, str] | None = None, **kwargs) -> Dict[str, str | datetime]

Parameter

content_settings
ContentSettings
Diperlukan

Objek ContentSettings yang digunakan untuk mengatur properti jalur.

metadata
Optional[Dict[str, str]]
Diperlukan

Pasangan nama-nilai yang terkait dengan file sebagai metadata.

lease
DataLakeLeaseClient atau str

Diperlukan jika file memiliki sewa aktif. Nilai dapat berupa objek DataLakeLeaseClient atau ID sewa sebagai string.

umask
str

Opsional dan hanya valid jika Namespace Hierarki diaktifkan untuk akun tersebut. Saat membuat file atau direktori dan folder induk tidak memiliki ACL default, umask membatasi izin file atau direktori yang akan dibuat. Izin yang dihasilkan diberikan oleh p & ^u, di mana p adalah izin dan Anda adalah umask. Misalnya, jika p adalah 0777 dan Anda adalah 0057, maka izin yang dihasilkan adalah 0720. Izin default adalah 0777 untuk direktori dan 0666 untuk file. Umask default adalah 0027. Umask harus ditentukan dalam notasi oktal 4 digit (misalnya 0766).

owner
str

Pemilik file atau direktori.

group
str

Grup pemilik file atau direktori.

acl
str

Mengatur hak kontrol akses POSIX pada file dan direktori. Nilai adalah daftar entri kontrol akses yang dipisahkan koma. Setiap entri kontrol akses (ACE) terdiri dari cakupan, jenis, pengidentifikasi pengguna atau grup, dan izin dalam format "[scope:][type]:[id]:[permissions]".

lease_id
str

ID sewa yang diusulkan, dalam format string GUID. Layanan DataLake mengembalikan 400 (Permintaan tidak valid) jika ID sewa yang diusulkan tidak dalam format yang benar.

lease_duration
int

Menentukan durasi sewa, dalam detik, atau negatif satu (-1) untuk sewa yang tidak pernah kedaluwarsa. Sewa yang tidak terbatas bisa antara 15 dan 60 detik. Durasi sewa tidak dapat diubah menggunakan pembaruan atau perubahan.

expires_on
datetime atau int

Waktu untuk mengatur file ke kedaluwarsa. Jika jenis expires_on adalah int, waktu kedaluwarsa akan ditetapkan sebagai jumlah milidetik yang berlalu dari waktu pembuatan. Jika jenis expires_on adalah tanggalwaktu, waktu kedaluwarsa akan diatur absolut ke waktu yang disediakan. Jika tidak ada info zona waktu yang disediakan, ini akan ditafsirkan sebagai UTC.

permissions
str

Opsional dan hanya valid jika Namespace Hierarki diaktifkan untuk akun tersebut. Mengatur izin akses POSIX untuk pemilik file, grup pemilik file, dan lainnya. Setiap kelas dapat diberikan izin baca, tulis, atau jalankan. Bit lengket juga didukung. Notasi simbolis (rwxrw-rw-) dan oktal 4 digit (misalnya 0766) didukung.

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.

cpk
CustomerProvidedEncryptionKey

Mengenkripsi data di sisi layanan dengan kunci yang diberikan. Penggunaan kunci yang disediakan pelanggan harus dilakukan melalui HTTPS.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam hitung 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.

encryption_context
str

Menentukan konteks enkripsi yang akan diatur pada file.

Mengembalikan

dict respons (Etag dan terakhir dimodifikasi).

Contoh

Buat file.


   file_client = filesystem_client.get_file_client(file_name)
   file_client.create_file()

delete_file

Menandai file yang ditentukan untuk dihapus.

delete_file(**kwargs) -> None

Parameter

lease
DataLakeLeaseClient atau str

Diperlukan jika file memiliki sewa aktif. Nilai dapat menjadi objek LeaseClient atau ID sewa sebagai string.

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

Tidak ada

Contoh

Hapus file.


   new_client.delete_file()

download_file

Mengunduh file ke StorageStreamDownloader. Metode readall() harus digunakan untuk membaca semua konten, atau readinto() harus digunakan untuk mengunduh file ke dalam aliran. Menggunakan chunks() mengembalikan iterator yang memungkinkan pengguna untuk melakukan iterasi atas konten dalam gugus.

download_file(offset: int | None = None, length: int | None = None, **kwargs: Any) -> StorageStreamDownloader

Parameter

offset
int
Diperlukan

Mulai rentang byte yang digunakan untuk mengunduh bagian file. Harus diatur jika panjang disediakan.

length
int
Diperlukan

Jumlah byte yang akan dibaca dari aliran. Ini opsional, tetapi harus disediakan untuk performa optimal.

lease
DataLakeLeaseClient atau str

Jika ditentukan, pengunduhan hanya berhasil jika sewa file aktif dan cocok dengan ID ini. Diperlukan jika 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.

cpk
CustomerProvidedEncryptionKey

Mendekripsi data di sisi layanan dengan kunci yang diberikan. Penggunaan kunci yang disediakan pelanggan harus dilakukan melalui HTTPS. Diperlukan jika file dibuat dengan Kunci Customer-Provided.

max_concurrency
int

Jumlah koneksi paralel yang akan diunduh.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam hitung 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. Metode ini dapat melakukan beberapa panggilan ke layanan dan batas waktu akan berlaku untuk setiap panggilan satu per satu.

Mengembalikan

Objek streaming (StorageStreamDownloader)

Tipe hasil

Contoh

Mengembalikan data yang diunduh.


   download = file_client.download_file()
   downloaded_bytes = download.readall()

exists

Mengembalikan True jika ada file dan mengembalikan False jika tidak.

exists(**kwargs: Any) -> bool

Parameter

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam hitung 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

Benar jika ada file, jika tidak, mengembalikan False.

Tipe hasil

flush_data

Terapkan data yang ditambahkan sebelumnya.

flush_data(offset: int, retain_uncommitted_data: bool | None = False, **kwargs) -> Dict[str, str | datetime]

Parameter

offset
Diperlukan

offset sama dengan panjang file setelah menerapkan data yang ditambahkan sebelumnya.

retain_uncommitted_data
bool
Diperlukan

Hanya berlaku untuk operasi flush. Jika "true", data yang tidak dilakukan dipertahankan setelah operasi flush selesai; jika tidak, data yang tidak dikomit dihapus setelah operasi flush. Defaultnya adalah false (salah). Data pada offset kurang dari posisi yang ditentukan ditulis ke file ketika flush berhasil, tetapi parameter opsional ini memungkinkan data setelah posisi flush dipertahankan untuk operasi flush di masa mendatang.

content_settings
ContentSettings

Objek ContentSettings yang digunakan untuk mengatur properti jalur.

close
bool

Peristiwa Azure Storage memungkinkan aplikasi menerima pemberitahuan saat file berubah. Saat Peristiwa Azure Storage diaktifkan, peristiwa perubahan file akan dinaikkan. Kejadian ini memiliki properti yang menunjukkan apakah ini adalah perubahan akhir untuk membedakan perbedaan antara flush perantara ke aliran file dan penutupan akhir aliran file. Parameter kueri penutupan hanya valid saat tindakan "flush" dan pemberitahuan perubahan diaktifkan. Jika nilai penutupan adalah "true" dan operasi flush berhasil diselesaikan, layanan menaikkan pemberitahuan perubahan file dengan properti yang menunjukkan bahwa ini adalah pembaruan akhir (aliran file telah ditutup). Jika "false" pemberitahuan perubahan dimunculkan yang menunjukkan file telah berubah. Defaultnya adalah false (salah). Parameter kueri ini diatur ke true oleh driver Hadoop ABFS untuk menunjukkan bahwa aliran file telah ditutup."

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.

lease_action
Literal["acquire", "auto-renew", "release", "acquire-release"]

Digunakan untuk melakukan operasi sewa bersama dengan menambahkan data.

"acquire" - Memperoleh sewa. "perpanjangan otomatis" - Barukan kembali sewa yang sudah ada. "rilis" - Lepaskan sewa setelah operasi selesai. "acquire-release" - Memperoleh sewa dan melepaskannya setelah operasi selesai.

lease_duration
int

Valid jika lease_action diatur ke "acquire" atau "acquire-release".

Menentukan durasi sewa, dalam detik, atau negatif satu (-1) untuk sewa yang tidak pernah kedaluwarsa. Sewa yang tidak terbatas bisa antara 15 dan 60 detik. Durasi sewa tidak dapat diubah menggunakan pembaruan atau perubahan. Defaultnya adalah -1 (sewa tak terbatas).

lease
DataLakeLeaseClient atau str

Diperlukan jika file memiliki sewa aktif atau jika lease_action diatur ke "acquire" atau "acquire-release". Jika file memiliki sewa yang ada, ini akan digunakan untuk mengakses file. Jika memperoleh sewa baru, ini akan digunakan sebagai id sewa baru. Nilai dapat berupa objek DataLakeLeaseClient atau ID sewa sebagai string.

cpk
CustomerProvidedEncryptionKey

Mengenkripsi data di sisi layanan dengan kunci yang diberikan. Penggunaan kunci yang disediakan pelanggan harus dilakukan melalui HTTPS.

Mengembalikan

header respons dalam dict

Contoh

Terapkan data yang ditambahkan sebelumnya.


   with open(SOURCE_FILE, "rb") as data:
       file_client = file_system_client.get_file_client("myfile")
       file_client.create_file()
       file_client.append_data(data, 0)
       file_client.flush_data(data.tell())

from_connection_string

Buat DataLakeFileClient dari String Koneksi.

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

from_connection_string(conn_str: str, file_system_name: str, file_path: 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.

file_system_name
str
Diperlukan

Nama sistem file yang akan berinteraksi.

file_path
str
Diperlukan

Seluruh jalur file, sehingga untuk berinteraksi dengan file tertentu. misalnya. "{directory}/{subdirectory}/{file}"

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 atau AzureNamedKeyCredential 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. Jika menggunakan instans AzureNamedKeyCredential, "nama" harus menjadi nama akun penyimpanan, dan "kunci" harus menjadi kunci akun penyimpanan.

get_access_control

get_access_control(upn: bool | None = None, **kwargs) -> Dict[str, Any]

Parameter

upn
bool
Diperlukan

Pilihan. Hanya berlaku saat Namespace Hierarki diaktifkan untuk akun tersebut. Jika "true", nilai identitas pengguna yang dikembalikan di header respons x-ms-owner, x-ms-group, dan x-ms-acl akan diubah dari ID Objek Azure Active Directory menjadi Nama Utama Pengguna. Jika "false", nilai akan dikembalikan sebagai ID Objek Azure Active Directory. Nilai defaultnya adalah false. Perhatikan bahwa ID Objek grup dan aplikasi tidak diterjemahkan karena tidak memiliki nama bersahabat yang unik.

lease
DataLakeLeaseClient atau str

Diperlukan jika file/direktori memiliki sewa aktif. Nilai dapat menjadi objek LeaseClient atau ID sewa sebagai string.

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.

response dict

tanggapan dict.

get_file_properties

Mengembalikan semua metadata yang ditentukan pengguna, properti HTTP standar, dan properti sistem untuk file tersebut. Ini tidak mengembalikan konten file.

get_file_properties(**kwargs: Any) -> FileProperties

Parameter

lease

Diperlukan jika direktori atau file memiliki sewa aktif. Nilai dapat berupa objek DataLakeLeaseClient atau ID sewa sebagai string.

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.

cpk
CustomerProvidedEncryptionKey

Mendekripsi data di sisi layanan dengan kunci yang diberikan. Penggunaan kunci yang disediakan pelanggan harus dilakukan melalui HTTPS. Diperlukan jika file dibuat dengan kunci yang disediakan pelanggan.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam hitung 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

Semua metadata yang ditentukan pengguna, properti HTTP standar, dan properti sistem untuk file.

Tipe hasil

Contoh

Mendapatkan properti untuk file.


   properties = file_client.get_file_properties()

query_file

Memungkinkan pengguna untuk memilih/memproyeksikan data file datalake dengan menyediakan ekspresi kueri sederhana. Operasi ini mengembalikan DataLakeFileQueryReader, pengguna perlu menggunakan readall() atau readinto() untuk mendapatkan data kueri.

query_file(query_expression: str, **kwargs: Any) -> DataLakeFileQueryReader

Parameter

query_expression
str
Diperlukan

Wajib diisi. pernyataan kueri. misalnya. Pilih * dari DataLakeStorage

on_error
Callable[DataLakeFileQueryError]

Fungsi yang akan dipanggil pada kesalahan pemrosesan apa pun yang dikembalikan oleh layanan.

file_format
DelimitedTextDialect atau DelimitedJsonDialect atau QuickQueryDialect atau str

Pilihan. Menentukan serialisasi data yang saat ini disimpan dalam file. Defaultnya adalah memperlakukan data file sebagai data CSV yang diformat dalam dialek default. Ini dapat diganti dengan DelimitedTextDialect kustom, atau DelimitedJsonDialect atau "ParquetDialect" (diteruskan sebagai string atau enum). Dialek ini dapat diteruskan melalui kelas masing-masing, enum QuickQueryDialect atau sebagai string.

output_format
DelimitedTextDialect atau DelimitedJsonDialect atau list[ArrowDialect] atau QuickQueryDialect atau str

Pilihan. Menentukan serialisasi output untuk aliran data. Secara default, data akan dikembalikan seperti yang diwakili dalam file. Dengan menyediakan format output, data file akan diformat ulang sesuai dengan profil tersebut. Nilai ini bisa berupa DelimitedTextDialect atau DelimitedJsonDialect atau ArrowDialect. Dialek ini dapat diteruskan melalui kelas masing-masing, enum QuickQueryDialect atau sebagai string.

lease
DataLakeLeaseClient atau str

Diperlukan jika file memiliki sewa aktif. Nilai dapat berupa objek DataLakeLeaseClient atau ID sewa sebagai string.

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.

cpk
CustomerProvidedEncryptionKey

Mendekripsi data di sisi layanan dengan kunci yang diberikan. Penggunaan kunci yang disediakan pelanggan harus dilakukan melalui HTTPS. Diperlukan jika file dibuat dengan Kunci Customer-Provided.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam hitung 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 streaming (DataLakeFileQueryReader)

Tipe hasil

<xref:azure.storage.filedatalake.DataLakeFileQueryReader>

Contoh

pilih/proyek pada data file datalake dengan menyediakan ekspresi kueri sederhana.


   errors = []
   def on_error(error):
       errors.append(error)

   # upload the csv file
   file_client = datalake_service_client.get_file_client(filesystem_name, "csvfile")
   file_client.upload_data(CSV_DATA, overwrite=True)

   # select the second column of the csv file
   query_expression = "SELECT _2 from DataLakeStorage"
   input_format = DelimitedTextDialect(delimiter=',', quotechar='"', lineterminator='\n', escapechar="", has_header=False)
   output_format = DelimitedJsonDialect(delimiter='\n')
   reader = file_client.query_file(query_expression, on_error=on_error, file_format=input_format, output_format=output_format)
   content = reader.readall()

remove_access_control_recursive

Menghapus Access Control pada jalur dan sub-jalur.

remove_access_control_recursive(acl: str, **kwargs: Any) -> AccessControlChangeResult

Parameter

acl
str
Diperlukan

Menghapus hak kontrol akses POSIX pada file dan direktori. Nilai adalah daftar entri kontrol akses yang dipisahkan koma. Setiap entri kontrol akses (ACE) terdiri dari cakupan, jenis, dan pengidentifikasi pengguna atau grup dalam format "[scope:][type]:[id]".

progress_hook
<xref:func>(AccessControlChanges)

Panggilan balik tempat pemanggil dapat melacak kemajuan operasi serta mengumpulkan jalur yang gagal diubah Access Control.

continuation_token
str

Token kelanjutan opsional yang dapat digunakan untuk melanjutkan operasi yang dihentikan sebelumnya.

batch_size
int

Pilihan. Jika ukuran himpunan data melebihi ukuran batch, maka operasi akan dibagi menjadi beberapa permintaan sehingga kemajuan dapat dilacak. Ukuran batch harus antara 1 dan 2000. Default saat tidak ditentukan adalah 2000.

max_batches
int

Pilihan. Menentukan jumlah maksimum batch yang dapat dijalankan oleh operasi Access Control perubahan tunggal. Jika maksimum tercapai sebelum semua sub-jalur diproses, token kelanjutan dapat digunakan untuk melanjutkan operasi. Nilai kosong menunjukkan bahwa jumlah maksimum batch dalam unbound dan operasi berlanjut hingga akhir.

continue_on_failure
bool

Jika diatur ke False, operasi akan berakhir dengan cepat saat mengalami kesalahan pengguna (4XX). Jika True, operasi akan mengabaikan kesalahan pengguna dan melanjutkan operasi pada sub-entitas lain dari direktori. Token kelanjutan hanya akan dikembalikan ketika continue_on_failure True jika terjadi kesalahan pengguna. Jika tidak diatur, nilai defaultnya adalah False untuk ini.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam hitung 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

Ringkasan operasi rekursif, termasuk jumlah keberhasilan dan kegagalan, serta token kelanjutan jika operasi dihentikan sebelum waktunya.

Tipe hasil

Pengecualian

Pengguna dapat memulai ulang operasi menggunakan bidang continuation_token AzureError jika token tersedia.

rename_file

Ganti nama file sumber.

rename_file(new_name: str, **kwargs: Any) -> DataLakeFileClient

Parameter

new_name
str
Diperlukan

nama file baru yang ingin diganti namanya oleh pengguna. Nilai harus memiliki format berikut: "{filesystem}/{directory}/{subdirectory}/{file}".

content_settings
ContentSettings

Objek ContentSettings yang digunakan untuk mengatur properti jalur.

source_lease
DataLakeLeaseClient atau str

ID sewa untuk jalur sumber. Jika ditentukan, jalur sumber harus memiliki sewa aktif dan ID sewa harus cocok.

lease

Diperlukan jika file/direktori memiliki sewa aktif. Nilai dapat menjadi objek LeaseClient atau ID sewa sebagai string.

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.

source_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.

source_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.

source_etag
str

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

source_match_condition
MatchConditions

Kondisi kecocokan sumber untuk digunakan pada etag.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam hitung 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

klien file yang diganti namanya

Tipe hasil

Contoh

Ganti nama file sumber.


   new_client = file_client.rename_file(file_client.file_system_name + '/' + 'newname')

set_access_control

Atur pemilik, grup, izin, atau daftar kontrol akses untuk jalur.

set_access_control(owner: str | None = None, group: str | None = None, permissions: str | None = None, acl: str | None = None, **kwargs) -> Dict[str, str | datetime]

Parameter

owner
str
Diperlukan

Pilihan. Pemilik file atau direktori.

group
str
Diperlukan

Pilihan. Grup pemilik file atau direktori.

permissions
str
Diperlukan

Opsional dan hanya valid jika Namespace Hierarki diaktifkan untuk akun tersebut. Mengatur izin akses POSIX untuk pemilik file, grup pemilik file, dan lainnya. Setiap kelas dapat diberikan izin baca, tulis, atau jalankan. Bit lengket juga didukung. Notasi simbolis (rwxrw-rw-) dan oktal 4 digit (misalnya 0766) didukung. izin dan acl saling eksklusif.

acl
str
Diperlukan

Mengatur hak kontrol akses POSIX pada file dan direktori. Nilai adalah daftar entri kontrol akses yang dipisahkan koma. Setiap entri kontrol akses (ACE) terdiri dari cakupan, jenis, pengidentifikasi pengguna atau grup, dan izin dalam format "[scope:][type]:[id]:[permissions]". izin dan acl saling eksklusif.

lease
DataLakeLeaseClient atau str

Diperlukan jika file/direktori memiliki sewa aktif. Nilai dapat menjadi objek LeaseClient atau ID sewa sebagai string.

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 hitung 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.

response dict

dict respons (Etag dan terakhir dimodifikasi).

set_access_control_recursive

Mengatur Access Control pada jalur dan sub-jalur.

set_access_control_recursive(acl: str, **kwargs: Any) -> AccessControlChangeResult

Parameter

acl
str
Diperlukan

Mengatur hak kontrol akses POSIX pada file dan direktori. Nilai adalah daftar entri kontrol akses yang dipisahkan koma. Setiap entri kontrol akses (ACE) terdiri dari cakupan, jenis, pengidentifikasi pengguna atau grup, dan izin dalam format "[scope:][type]:[id]:[permissions]".

progress_hook
<xref:func>(AccessControlChanges)

Panggilan balik tempat pemanggil dapat melacak kemajuan operasi serta mengumpulkan jalur yang gagal diubah Access Control.

continuation_token
str

Token kelanjutan opsional yang dapat digunakan untuk melanjutkan operasi yang dihentikan sebelumnya.

batch_size
int

Pilihan. Jika ukuran himpunan data melebihi ukuran batch, maka operasi akan dibagi menjadi beberapa permintaan sehingga kemajuan dapat dilacak. Ukuran batch harus antara 1 dan 2000. Default saat tidak ditentukan adalah 2000.

max_batches
int

Pilihan. Menentukan jumlah maksimum batch yang dapat dijalankan oleh operasi Access Control perubahan tunggal. Jika maksimum tercapai sebelum semua sub-jalur diproses, maka token kelanjutan dapat digunakan untuk melanjutkan operasi. Nilai kosong menunjukkan bahwa jumlah maksimum batch dalam unbound dan operasi berlanjut hingga akhir.

continue_on_failure
bool

Jika diatur ke False, operasi akan berakhir dengan cepat saat mengalami kesalahan pengguna (4XX). Jika True, operasi akan mengabaikan kesalahan pengguna dan melanjutkan operasi pada sub-entitas lain dari direktori. Token kelanjutan hanya akan dikembalikan ketika continue_on_failure True jika terjadi kesalahan pengguna. Jika tidak diatur, nilai defaultnya adalah False untuk ini.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam hitung 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

Ringkasan operasi rekursif, termasuk jumlah keberhasilan dan kegagalan, serta token kelanjutan jika operasi dihentikan sebelum waktunya.

Tipe hasil

Pengecualian

Pengguna dapat memulai ulang operasi menggunakan bidang continuation_token AzureError jika token tersedia.

set_file_expiry

Mengatur waktu file akan kedaluwarsa dan dihapus.

set_file_expiry(expiry_options: str, expires_on: datetime | int | None = None, **kwargs) -> None

Parameter

expiry_options
str
Diperlukan

Wajib diisi. Menunjukkan mode waktu kedaluwarsa. Nilai yang mungkin termasuk: 'NeverExpire', 'RelativeToCreation', 'RelativeToNow', 'Absolute'

expires_on
datetime atau int
Diperlukan

Waktu untuk mengatur file ke kedaluwarsa. Ketika expiry_options RelativeTo*, expires_on harus menjadi int dalam milidetik. Jika jenis expires_on adalah tanggalwaktu, maka harus dalam waktu UTC.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam hitung 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

set_http_headers

Menyetel properti sistem pada file atau direktori.

Jika satu properti diatur untuk content_settings, semua properti akan ditimpa.

set_http_headers(content_settings: ContentSettings | None = None, **kwargs) -> Dict[str, Any]

Parameter

content_settings
ContentSettings
Diperlukan

Objek ContentSettings yang digunakan untuk mengatur properti file/direktori.

lease
DataLakeLeaseClient atau str

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

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.

Mengembalikan

dict properti file/directory-updated (Etag dan terakhir diubah)

Tipe hasil

set_metadata

Mengatur satu atau beberapa pasangan nilai nama yang ditentukan pengguna untuk sistem file yang ditentukan. Setiap panggilan ke operasi ini menggantikan semua metadata yang ada yang dilampirkan ke sistem file. Untuk menghapus semua metadata dari sistem file, panggil operasi ini tanpa dict metadata.

set_metadata(metadata: Dict[str, str], **kwargs) -> Dict[str, str | datetime]

Parameter

metadata
Dict[str, str]
Diperlukan

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

lease
DataLakeLeaseClient atau str

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

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.

cpk
CustomerProvidedEncryptionKey

Mengenkripsi data di sisi layanan dengan kunci yang diberikan. Penggunaan kunci yang disediakan pelanggan harus dilakukan melalui HTTPS.

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

dict properti yang diperbarui sistem file (Etag dan terakhir diubah).

update_access_control_recursive

Memodifikasi Access Control pada jalur dan sub-jalur.

update_access_control_recursive(acl: str, **kwargs: Any) -> AccessControlChangeResult

Parameter

acl
str
Diperlukan

Memodifikasi hak kontrol akses POSIX pada file dan direktori. Nilai adalah daftar entri kontrol akses yang dipisahkan koma. Setiap entri kontrol akses (ACE) terdiri dari cakupan, jenis, pengidentifikasi pengguna atau grup, dan izin dalam format "[scope:][type]:[id]:[permissions]".

progress_hook
<xref:func>(AccessControlChanges)

Panggilan balik tempat penelepon dapat melacak kemajuan operasi serta mengumpulkan jalur yang gagal diubah Access Control.

continuation_token
str

Token kelanjutan opsional yang dapat digunakan untuk melanjutkan operasi yang dihentikan sebelumnya.

batch_size
int

Pilihan. Jika ukuran himpunan data melebihi ukuran batch, maka operasi akan dibagi menjadi beberapa permintaan sehingga kemajuan dapat dilacak. Ukuran batch harus antara 1 dan 2000. Default saat tidak ditentukan adalah 2000.

max_batches
int

Pilihan. Menentukan jumlah maksimum batch yang dapat dijalankan oleh operasi Access Control perubahan tunggal. Jika maksimum tercapai sebelum semua sub-jalur diproses, maka token kelanjutan dapat digunakan untuk melanjutkan operasi. Nilai kosong menunjukkan bahwa jumlah maksimum batch dalam unbound dan operasi berlanjut hingga akhir.

continue_on_failure
bool

Jika diatur ke False, operasi akan berakhir dengan cepat saat mengalami kesalahan pengguna (4XX). Jika True, operasi akan mengabaikan kesalahan pengguna dan melanjutkan operasi pada sub-entitas lain dari direktori. Token kelanjutan hanya akan dikembalikan ketika continue_on_failure True jika terjadi kesalahan pengguna. Jika tidak diatur, nilai defaultnya adalah False untuk ini.

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

Ringkasan operasi rekursif, termasuk jumlah keberhasilan dan kegagalan, serta token kelanjutan jika operasi dihentikan sebelum waktunya.

Tipe hasil

Pengecualian

Pengguna dapat memulai ulang operasi menggunakan bidang continuation_token AzureError jika token tersedia.

upload_data

Unggah data ke file.

upload_data(data: bytes | str | Iterable | IO, length: int | None = None, overwrite: bool | None = False, **kwargs) -> Dict[str, Any]

Parameter

data
Diperlukan

Konten yang akan diunggah ke file

length
int
Diperlukan

Ukuran data dalam byte.

overwrite
bool
Diperlukan

untuk menimpa file yang ada atau tidak.

content_settings
ContentSettings

Objek ContentSettings yang digunakan untuk mengatur properti jalur.

metadata
Optional[Dict[str, str]]

Pasangan nama-nilai yang terkait dengan blob sebagai metadata.

lease
DataLakeLeaseClient atau str

Diperlukan jika blob memiliki sewa aktif. Nilai dapat berupa objek DataLakeLeaseClient atau ID sewa sebagai string.

umask
str

Opsional dan hanya valid jika Namespace Hierarki diaktifkan untuk akun tersebut. Saat membuat file atau direktori dan folder induk tidak memiliki ACL default, umask membatasi izin file atau direktori yang akan dibuat. Izin yang dihasilkan diberikan oleh p & ^u, di mana p adalah izin dan Anda adalah umask. Misalnya, jika p adalah 0777 dan Anda adalah 0057, maka izin yang dihasilkan adalah 0720. Izin default adalah 0777 untuk direktori dan 0666 untuk file. Umask default adalah 0027. Umask harus ditentukan dalam notasi oktal 4 digit (misalnya 0766).

permissions
str

Opsional dan hanya valid jika Namespace Hierarki diaktifkan untuk akun tersebut. Mengatur izin akses POSIX untuk pemilik file, grup pemilik file, dan lainnya. Setiap kelas dapat diberikan izin baca, tulis, atau eksekusi. Bit lengket juga didukung. Baik simbolis (rwxrw-rw-) dan notasi oktal 4 digit (misalnya 0766) didukung.

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.

validate_content
bool

Jika true, menghitung hash MD5 untuk setiap gugus file. Layanan penyimpanan memeriksa hash konten yang telah tiba dengan hash yang dikirim. Ini terutama berharga untuk mendeteksi bitflips pada kawat jika menggunakan http alih-alih https, sebagai https (default), sudah akan memvalidasi. Perhatikan bahwa hash MD5 ini tidak disimpan dengan blob. Perhatikan juga bahwa jika diaktifkan, algoritma pengunggahan yang hemat memori tidak akan digunakan karena komputasi hash MD5 memerlukan buffering seluruh blok, dan melakukannya mengalahkan tujuan algoritma yang hemat memori.

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.

cpk
CustomerProvidedEncryptionKey

Mengenkripsi data di sisi layanan dengan kunci yang diberikan. Penggunaan kunci yang disediakan pelanggan harus dilakukan melalui HTTPS.

timeout
int

Mengatur batas waktu sisi server untuk operasi dalam hitung 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. Metode ini dapat melakukan beberapa panggilan ke layanan dan batas waktu akan berlaku untuk setiap panggilan satu per satu.

chunk_size
int

Ukuran gugus maksimum untuk mengunggah file dalam gugus. Default ke 100*1024*1024, atau 100MB.

encryption_context
str

Menentukan konteks enkripsi yang akan diatur pada file.

Mengembalikan

dict respons (Etag dan terakhir dimodifikasi).

Atribut

api_version

Versi Api Penyimpanan 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 menentukan nama host sekunder secara eksplisit, gunakan argumen kata kunci secondary_hostname opsional pada instansiasi.

Pengecualian

secondary_hostname

Nama host titik akhir sekunder.

Jika tidak tersedia, ini tidak akan ada. Untuk menentukan nama host sekunder secara eksplisit, gunakan argumen kata kunci secondary_hostname opsional pada instansiasi.

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 lengkap ke entitas ini, termasuk token SAS jika digunakan. :rtype: str