Sampel kode Azure File Share menggunakan pustaka klien Python versi 2
Artikel ini memperlihatkan sampel kode yang menggunakan versi 2 dari pustaka klien Azure File Share untuk Python.
Pada 31 Maret 2023, kami menghentikan dukungan untuk pustaka Azure SDK yang tidak sesuai dengan panduan Azure SDK saat ini. Pustaka Azure SDK baru diperbarui secara berkala untuk mendorong pengalaman yang konsisten dan memperkuat postur keamanan Anda. Disarankan agar Anda beralih ke pustaka Azure SDK baru untuk memanfaatkan kemampuan baru dan pembaruan keamanan penting.
Meskipun pustaka yang lebih lama masih dapat digunakan melebihi 31 Maret 2023, pustaka tersebut tidak akan lagi menerima dukungan dan pembaruan resmi dari Microsoft. Untuk informasi selengkapnya, lihat pengumuman penghentian dukungan.
Prasyarat
Instal paket berikut menggunakan pip install
:
pip install azure-storage-file
Tambahkan pernyataan berikut import
:
from azure.storage.file import FileService
Membuat berbagi file Azure
Artikel terkait: Mengembangkan untuk Azure Files dengan Python
Contoh kode berikut menggunakan objek FileService untuk membuat berbagi jika tidak ada.
file_service.create_share('myshare')
Buat direktori
Artikel terkait: Mengembangkan untuk Azure Files dengan Python
Anda dapat mengatur penyimpanan dengan menyimpan berkas di dalam subdirektori alih-alih meletakkan semuanya dalam direktori akar.
Kode di bawah ini akan membuat subdirektori bernama sampledir di bawah akar direktori.
file_service.create_directory('myshare', 'sampledir')
Unggah berkas
Artikel terkait: Mengembangkan untuk Azure Files dengan Python
Di bagian ini, Anda akan mempelajari cara mengunggah file dari penyimpanan lokal ke Azure Files.
Setidaknya, berbagi berkas Azure berisi direktori akar di mana berkas dapat berada. Untuk membuat file dan mengunggah data, gunakan salah satu metode berikut:
Metode ini melakukan penggugusan yang diperlukan ketika ukuran data melebihi 64 MiB.
create_file_from_path
Unggah konten berkas dari jalur yang ditentukan, dan create_file_from_stream
unggah konten dari berkas/aliran yang sudah dibuka.
create_file_from_bytes
Unggah array byte, dan create_file_from_text
unggah nilai teks yang ditentukan menggunakan pengkodean yang ditentukan (default ke UTF-8).
Contoh berikut mengunggah konten berkas sunset.png ke dalam berkas myfile.
from azure.storage.file import ContentSettings
file_service.create_file_from_path(
'myshare',
None, # We want to create this file in the root directory, so we specify None for the directory_name
'myfile',
'sunset.png',
content_settings=ContentSettings(content_type='image/png'))
Menghitung berkas dan direktori dalam berbagi berkas Azure
Artikel terkait: Mengembangkan untuk Azure Files dengan Python
Untuk mencantumkan berkas dan direktori dalam subdirektori, gunakan metode list_directories_and_files. Metode ini mengembalikan generator. Kode berikut menghasilkan nama di setiap berkas dan direktori dalam berbagi ke konsol.
generator = file_service.list_directories_and_files('myshare')
for file_or_dir in generator:
print(file_or_dir.name)
Unduh berkas
Artikel terkait: Mengembangkan untuk Azure Files dengan Python
Untuk mengunduh data dari file, gunakan salah satu metode berikut:
Metode ini melakukan penggugusan yang diperlukan ketika ukuran data melebihi 64 MiB.
Contoh berikut menunjukkan penggunaan get_file_to_path
untuk mengunduh konten berkas myfile dan menyimpannya ke berkas out-sunset.png anda.
file_service.get_file_to_path('myshare', None, 'myfile', 'out-sunset.png')
Membuat berbagi rekam snapshot
Artikel terkait: Mengembangkan untuk Azure Files dengan Python
Anda dapat membuat salinan waktu poin dari seluruh berbagi berkas Anda.
snapshot = file_service.snapshot_share(share_name)
snapshot_id = snapshot.snapshot
Membuat berbagi snapshot dengan metadata
metadata = {"foo": "bar"}
snapshot = file_service.snapshot_share(share_name, metadata=metadata)
Daftar berbagi dan snapshot
Artikel terkait: Mengembangkan untuk Azure Files dengan Python
Anda dapat mencantumkan semua snapshot untuk bagian tertentu.
shares = list(file_service.list_shares(include_snapshots=True))
Telusuri berbagi rekam snapshot
Artikel terkait: Mengembangkan untuk Azure Files dengan Python
Anda dapat menelusuri setiap snapshot berbagi untuk mengambil berkas dan direktori dari waktu tersebut.
directories_and_files = list(
file_service.list_directories_and_files(share_name, snapshot=snapshot_id))
Dapatkan berkas dari snapshot berbagi
Artikel terkait: Mengembangkan untuk Azure Files dengan Python
Anda dapat mengunduh berkas dari snapshot berbagi. Ini memampukan Anda memulihkan versi berkas sebelumnya.
with open(FILE_PATH, 'wb') as stream:
file = file_service.get_file_to_stream(
share_name, directory_name, file_name, stream, snapshot=snapshot_id)
Menghapus satu berbagi snapshot
Artikel terkait: Mengembangkan untuk Azure Files dengan Python
Anda dapat menghapus satu berbagi snapshot.
file_service.delete_share(share_name, snapshot=snapshot_id)
Hapus berkas
Artikel terkait: Mengembangkan untuk Azure Files dengan Python
Untuk menghapus berkas, hubungi delete_file.
Contoh kode berikut menunjukkan cara menghapus file:
file_service.delete_file('myshare', None, 'myfile')
Hapus bagikan saat berbagi snapshot ada
Artikel terkait: Mengembangkan untuk Azure Files dengan Python
Berbagi yang berisi snapshot tidak dapat dihapus kecuali semua snapshot dihapus terlebih dahulu.
Contoh kode berikut menunjukkan cara menghapus berbagi:
file_service.delete_share(share_name, delete_snapshots=DeleteSnapshot.Include)
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk