Topik ini menjelaskan cara menggunakan metode File-Like yang disediakan oleh Object Storage Service (OSS) SDK for Python 2.0 untuk mengakses objek dalam sebuah bucket.
Catatan penggunaan
Kode contoh dalam topik ini menggunakan Wilayah China (Hangzhou) (
cn-hangzhou) sebagai contoh. Titik akhir publik digunakan secara default. Jika Anda mengakses OSS dari layanan Alibaba Cloud lainnya di wilayah yang sama, gunakan titik akhir internal. Untuk informasi lebih lanjut tentang wilayah OSS dan titik akhir yang sesuai, lihat Wilayah dan Titik Akhir OSS.Dalam topik ini, kredensial akses yang diperoleh dari variabel lingkungan digunakan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kredensial akses, lihat Konfigurasikan Kredensial Akses.
Untuk mengunduh file, Anda harus memiliki izin
oss:GetObject. Untuk informasi lebih lanjut, lihat Berikan Izin Kustom kepada Pengguna RAM.
Metode
Metode File-Like yang disediakan oleh OSS SDK untuk Python 2.0 memungkinkan Anda mengakses objek dalam bucket menggunakan metode ReadOnlyFile.
Metode ReadOnlyFile menyediakan mode aliran tunggal dan prafetch. Anda dapat menyesuaikan jumlah tugas paralel untuk meningkatkan kecepatan baca.
Antarmuka mencakup mekanisme rekoneksi bawaan untuk menangani pemutusan koneksi, yang meningkatkan ketahanan dalam lingkungan jaringan yang kompleks.
class ReadOnlyFile:
...
def open_file(self, bucket: str, key: str, version_id: Optional[str] = None, request_payer: Optional[str] = None, **kwargs) -> ReadOnlyFile:
...Parameter permintaan
Parameter | Tipe | Deskripsi |
bucket | str | Nama bucket. |
key | str | Nama objek. |
version_id | str | Nomor versi objek yang ditentukan. Parameter ini valid hanya jika beberapa versi objek ada. |
request_payer | str | Menentukan bahwa jika pay-by-requester diaktifkan, RequestPayer harus diatur ke requester. |
**kwargs | Any | Opsional. Opsi yang ingin Anda konfigurasikan, yang bertipe Dictionary. |
Opsi kwargs
Opsi | Tipe | Deskripsi |
enable_prefetch | bool | Menentukan apakah akan mengaktifkan mode prafetch. Secara default, mode prafetch dinonaktifkan. |
prefetch_num | int | Jumlah chunk yang diprefetch. Nilai default: 3. Opsi ini valid saat mode prafetch diaktifkan. |
chunk_size | int | Ukuran setiap chunk yang diprefetch. Nilai default: 6. Unit: MiB. Opsi ini valid saat mode prafetch diaktifkan. |
prefetch_threshold | int | Jumlah byte yang dibaca secara berurutan sebelum mode prafetch diaktifkan. Nilai default: 20. Unit: MiB. Opsi ini valid saat mode prafetch diaktifkan. |
block_size | int | Ukuran sebuah chunk. Nilai default: Tidak ada. |
Parameter respons
Parameter | Tipe | Deskripsi |
file | ReadOnlyFile | Instance ReadOnlyFile. |
Metode Umum ReadOnlyFile
Metode | Deskripsi |
close(self) | Menutup handle file untuk melepaskan sumber daya seperti memori dan soket aktif. |
read(self, n=None) | Membaca byte dengan panjang len(p) dari sumber data, menyimpan byte tersebut di p, dan mengembalikan jumlah byte yang dibaca serta kesalahan yang ditemui. |
seek(self, pos, whence=0) | Menentukan offset untuk pembacaan atau penulisan berikutnya. Nilai valid untuk whence: 0: awal. 1: offset saat ini. 2: akhir. |
Stat() (os.FileInfo, error) | Meminta informasi objek, termasuk ukuran objek, waktu modifikasi terakhir, dan metadata. |
Catatan: Jika mode prafetch diaktifkan dan terjadi beberapa pembacaan tidak berurutan, mode aliran tunggal digunakan secara otomatis.
Contoh
Referensi
Untuk informasi lebih lanjut tentang File-Like, kunjungi File-Like.