Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pelajari cara mengembangkan aplikasi Python yang menggunakan Azure Files untuk menyimpan data. Azure Files adalah layanan berbagi file terkelola di cloud. Ini menyediakan berbagi file yang dikelola sepenuhnya yang dapat diakses melalui protokol Server Message Block (SMB) dan Network File System (NFS) standar industri. Azure Files juga menyediakan REST API untuk akses terprogram ke berbagi file.
Dalam artikel ini, Anda mempelajari tentang berbagai pendekatan untuk dikembangkan dengan Azure Files di Python, dan cara memilih pendekatan yang paling sesuai dengan kebutuhan aplikasi Anda. Anda juga mempelajari cara membuat aplikasi konsol dasar yang berinteraksi dengan sumber daya Azure Files.
Berlaku pada
| Model manajemen | Model tagihan | Peringkat media | Pemborosan | SMB | NFS |
|---|---|---|---|---|---|
| Microsoft.Storage | Versi 2 yang telah disediakan | HDD (standar) | Lokal (LRS) |
|
|
| Microsoft.Storage | Versi 2 yang telah disediakan | HDD (standar) | Zona (ZRS) |
|
|
| Microsoft.Storage | Versi 2 yang telah disediakan | HDD (standar) | Geo (GRS) |
|
|
| Microsoft.Storage | Versi 2 yang telah disediakan | HDD (standar) | GeoZone (GZRS) |
|
|
| Microsoft.Storage | Versi 1 yang telah disediakan | SSD (kelas atas) | Lokal (LRS) |
|
|
| Microsoft.Storage | Versi 1 yang telah disediakan | SSD (kelas atas) | Zona (ZRS) |
|
|
| Microsoft.Storage | Pay-as-you-go | HDD (standar) | Lokal (LRS) |
|
|
| Microsoft.Storage | Pay-as-you-go | HDD (standar) | Zona (ZRS) |
|
|
| Microsoft.Storage | Pay-as-you-go | HDD (standar) | Geo (GRS) |
|
|
| Microsoft.Storage | Pay-as-you-go | HDD (standar) | GeoZone (GZRS) |
|
|
Tentang pengembangan aplikasi Python dengan Azure Files
Azure Files menawarkan beberapa cara bagi pengembang Python untuk mengakses data dan mengelola sumber daya di Azure Files. Tabel berikut mencantumkan pendekatan, meringkas cara kerjanya, dan memberikan panduan tentang kapan menggunakan setiap pendekatan:
| Pendekatan | Cara kerjanya | Kapan harus menggunakan |
|---|---|---|
| Pustaka I/O file standar | Menggunakan panggilan API tingkat OS melalui berbagi file Azure yang di-mount via SMB atau NFS. Saat memasang berbagi file menggunakan SMB/NFS, Anda dapat menggunakan pustaka I/O file untuk bahasa atau kerangka kerja pemrograman, seperti os dan io untuk Python. |
Anda memiliki aplikasi lini bisnis dengan kode yang sudah ada yang menggunakan I/O file standar, dan Anda tidak ingin menulis ulang kode agar aplikasi berfungsi dengan berbagi file Azure. |
| FileREST API | Langsung memanggil titik akhir HTTPS untuk berinteraksi dengan data yang disimpan di Azure Files. Menyediakan kontrol terprogram atas sumber daya berbagi file. Azure SDK menyediakan pustaka klien Berbagi File (azure-storage-file-share) yang dibangun di FileREST API, memungkinkan Anda berinteraksi dengan operasi FileREST API melalui paradigma bahasa pemrograman Python yang sudah dikenal. |
Anda membangun layanan dan aplikasi cloud bernilai tambah untuk pelanggan dan Anda ingin menggunakan fitur lanjutan yang tidak tersedia melalui pustaka I/O file Python. |
| Penyedia sumber daya penyimpanan REST API | Menggunakan Azure Resource Manager (ARM) untuk mengelola akun penyimpanan dan berbagi file. Memanggil titik akhir REST API untuk berbagai operasi manajemen sumber daya. | Aplikasi atau layanan Anda perlu melakukan tugas manajemen sumber daya, seperti membuat, menghapus, atau memperbarui akun penyimpanan atau berbagi file. |
Untuk informasi umum tentang pendekatan ini, lihat Gambaran umum pengembangan aplikasi dengan Azure Files.
Artikel ini berfokus pada bekerja dengan sumber daya Azure Files menggunakan pendekatan berikut:
- Bekerja dengan Azure Files menggunakan pustaka I/O file Python: Memasang share file menggunakan SMB atau NFS dan menggunakan pustaka I/O file Python untuk bekerja dengan file dan direktori dalam share tersebut.
- Bekerja dengan Azure Files menggunakan pustaka klien Berbagi File untuk Python: Gunakan pustaka klien Azure Storage File Shares untuk Python agar berfungsi dengan file dan direktori dalam berbagi file. Pustaka klien ini dibangun pada FileREST API.
- Mengelola sumber daya Azure Files menggunakan pustaka manajemen Azure Storage: Gunakan pustaka manajemen Azure Storage untuk mengelola berbagi file dan sumber daya lain di akun penyimpanan Anda. Pustaka manajemen dibangun di REST API penyedia sumber daya Azure Storage.
Prasyarat
- Langganan Azure - buat akun secara gratis
- Akun penyimpanan Azure - buat akun penyimpanan
- Python 3.8+
Menyiapkan proyek Anda
Bagian ini memandu Anda menyiapkan proyek untuk bekerja dengan Azure Files.
Dari direktori proyek Anda, instal paket berdasarkan kebutuhan aplikasi Anda menggunakan pip install perintah . Contoh berikut menunjukkan cara menginstal pustaka klien Azure File Shares, pustaka klien manajemen Penyimpanan, dan pustaka Azure Identity. Paket identitas azure diperlukan untuk koneksi tanpa kata sandi ke layanan Azure.
pip install azure-identity
pip install azure-storage-file-share
pip install azure-mgmt-resource
pip install azure-mgmt-storage
Buka file kode Anda dan tambahkan pernyataan impor yang diperlukan.
Jika Anda berencana menggunakan Python os dan io pustaka, tambahkan yang berikut ini ke file .py Anda:
import os
import io
Jika Anda berencana menggunakan pustaka klien Azure Storage File Shares, tambahkan yang berikut ini ke file .py Anda:
from azure.identity import DefaultAzureCredential
from azure.storage.fileshare import ShareClient, ShareDirectoryClient, ShareFileClient
Jika Anda berencana menggunakan pustaka manajemen Azure Storage, tambahkan yang berikut ini ke file .py Anda:
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
from azure.mgmt.storage import StorageManagementClient
Bekerja dengan Azure Files menggunakan pustaka I/O file Python
Pustaka I/O file standar adalah cara paling umum untuk mengakses dan bekerja dengan sumber daya Azure Files. Saat Anda memasang berkas menggunakan SMB atau NFS, sistem operasi Anda mengarahkan ulang permintaan API untuk sistem berkas lokal. Pendekatan ini memungkinkan Anda menggunakan pustaka I/O file standar, seperti os atau io, untuk berinteraksi dengan file dan direktori dalam berbagi.
Pertimbangkan untuk menggunakan pustaka I/O file Python saat aplikasi Anda memerlukan:
- Kompatibilitas aplikasi: Ideal untuk aplikasi lini bisnis dengan kode yang sudah ada yang sudah menggunakan pustaka I/O file Python. Anda tidak perlu menulis ulang kode agar aplikasi berfungsi dengan berbagi file Azure.
- Kemudahan penggunaan: Pustaka I/O file Python terkenal oleh pengembang dan mudah digunakan. Proposisi nilai kunci Azure Files adalah mengekspos API sistem file asli melalui SMB dan NFS.
Di bagian ini, Anda mempelajari cara menggunakan pustaka I/O file Python untuk bekerja dengan sumber daya Azure Files.
Untuk informasi dan contoh selengkapnya, lihat sumber daya berikut ini:
Memasang berbagi file
Untuk menggunakan pustaka I/O file Python, Anda harus memasang berbagi file terlebih dahulu. Lihat sumber daya berikut untuk panduan tentang cara memasang berbagi file menggunakan SMB atau NFS:
- Memasang berbagi file SMB di Windows
- Memasang sambungan file SMB di Linux
- Memasang berbagi file NFS di Linux
Dalam artikel ini, kami menggunakan jalur berikut untuk merujuk ke berbagi file SMB yang dipasang di Windows:
file_share_path = "Z:\\file-share"
Contoh: Menyambungkan ke berbagi file dan menghitung direktori menggunakan pustaka I/O file Python
Contoh kode berikut menunjukkan cara menyambungkan ke berkas bersama dan mencantumkan direktori dalam berkas bersama tersebut.
import os
def enumerate_directories(path):
try:
# Get all directories in the specified path
dirs = [d for d in os.listdir(path) if os.path.isdir(os.path.join(path, d))]
# Print each directory name
for dir_name in dirs:
print(f"{dir_name}")
print(f"{len(dirs)} directories found.")
except (PermissionError, FileNotFoundError, OSError) as ex:
print(f"Error: {ex}")
#Example usage
file_share_path = "Z:\\file-share"
enumerate_directories(file_share_path)
Contoh: Menulis ke sebuah file di dalam file share dengan menggunakan perpustakaan I/O file Python
Contoh kode berikut menunjukkan cara menulis dan menambahkan teks ke file:
import os
def write_to_file(file_share_path, file_name):
# First line of text with platform-appropriate line ending
text_to_write = "First line" + os.linesep
# Combine the file share path and filename
file_path = os.path.join(file_share_path, file_name)
# Write initial text to file (overwrites if file exists)
with open(file_path, 'w') as file:
file.write(text_to_write)
# Text to append
text_to_append = ["Second line", "Third line"]
# Append lines to the file
with open(file_path, 'a') as file:
file.write(os.linesep.join(text_to_append) + os.linesep)
# Example usage
file_share_path = "Z:\\file-share"
write_to_file(file_share_path, "test.txt")
Contoh: Menghitung ACL file menggunakan pustaka I/O file Python
Contoh kode berikut menunjukkan cara menghitung daftar kontrol akses dasar (ACL) untuk file:
import os
import stat
def enumerate_file_acls(file_path):
try:
# Get file stats
file_stat = os.stat(file_path)
# Get permissions in octal format
permissions_octal = oct(stat.S_IMODE(file_stat.st_mode))
print(f"File: {file_path}")
print(f"Permissions (octal): {permissions_octal}")
# Interpret permissions in a human-readable format
permissions = ""
permissions += "r" if file_stat.st_mode & stat.S_IRUSR else "-"
permissions += "w" if file_stat.st_mode & stat.S_IWUSR else "-"
permissions += "x" if file_stat.st_mode & stat.S_IXUSR else "-"
permissions += "r" if file_stat.st_mode & stat.S_IRGRP else "-"
permissions += "w" if file_stat.st_mode & stat.S_IWGRP else "-"
permissions += "x" if file_stat.st_mode & stat.S_IXGRP else "-"
permissions += "r" if file_stat.st_mode & stat.S_IROTH else "-"
permissions += "w" if file_stat.st_mode & stat.S_IWOTH else "-"
permissions += "x" if file_stat.st_mode & stat.S_IXOTH else "-"
print(f"Permissions (symbolic): {permissions}")
print(f"Owner ID: {file_stat.st_uid}")
print(f"Group ID: {file_stat.st_gid}")
print("Note: For detailed Windows ACLs, you may need a specialized library.")
except FileNotFoundError:
print(f"Error: File '{file_path}' not found.")
except PermissionError:
print(f"Error: Permission denied for '{file_path}'.")
except Exception as e:
print(f"Error: {e}")
# Example usage
file_share_path = "Z:\\file-share"
file_name = "test.txt"
file_path = os.path.join(file_share_path, file_name)
enumerate_file_acls(file_path)
Bekerja dengan data Azure Files menggunakan pustaka klien Berbagi File untuk Python
FileREST API menyediakan akses terprogram ke Azure Files. Ini memungkinkan Anda untuk memanggil titik akhir HTTPS untuk melakukan operasi pada berbagi file, direktori, dan file. FileREST API dirancang untuk skalabilitas tinggi dan fitur canggih yang mungkin tidak tersedia melalui protokol asli. Azure SDK menyediakan pustaka klien, seperti pustaka klien Berbagi File untuk Python, yang dibangun di FileREST API.
Pertimbangkan untuk menggunakan FileREST API dan pustaka klien Berbagi File jika aplikasi Anda memerlukan:
- Fitur tingkat lanjut: Mengakses operasi dan fitur yang tidak tersedia melalui protokol asli.
- Integrasi cloud kustom: Bangun layanan bernilai tambah kustom, seperti pencadangan, antivirus, atau manajemen data, yang berinteraksi langsung dengan Azure Files.
- Pengoptimalan performa: Manfaatkan keunggulan performa dalam skenario skala tinggi menggunakan operasi data plane.
FileREST API memodelkan Azure Files sebagai hierarki sumber daya, dan direkomendasikan untuk operasi yang dilakukan di tingkat direktori atau file . Anda harus lebih memilih PENYEDIA sumber daya Penyimpanan REST API untuk operasi yang dilakukan di tingkat layanan file atau berbagi file .
Di bagian ini, Anda mempelajari cara menggunakan pustaka klien Berbagi File untuk bekerja dengan sumber daya Azure Files.
Untuk informasi dan contoh selengkapnya, lihat sumber daya berikut ini:
- Perpustakaan klien Azure Storage File Shares untuk Python
- Library klien Azure Storage File Shares untuk contoh Python
Mengotorisasi akses dan membuat klien
Untuk menyambungkan aplikasi ke Azure Files, buat ShareClient objek. Objek ini adalah titik awal Anda untuk bekerja dengan sumber daya Azure Files. Contoh kode berikut menunjukkan cara membuat ShareClient objek menggunakan mekanisme otorisasi yang berbeda.
Untuk mengotorisasi dengan ID Microsoft Entra, Anda perlu menggunakan prinsip keamanan. Jenis prinsip keamanan yang Anda butuhkan bergantung pada tempat aplikasi Anda berjalan. Gunakan tabel ini sebagai panduan.
| Tempat aplikasi berjalan | Prinsipal keamanan | Bimbingan |
|---|---|---|
| Komputer lokal (pengembangan dan pengujian) | Principal layanan | Untuk mempelajari cara mendaftarkan aplikasi, menyiapkan grup Microsoft Entra, menetapkan peran, dan mengonfigurasi variabel lingkungan, lihat Mengotorisasi akses menggunakan perwakilan layanan pengembang |
| Komputer lokal (pengembangan dan pengujian) | Identitas pengguna | Untuk mempelajari cara menyiapkan grup Microsoft Entra, menetapkan peran, dan masuk ke Azure, lihat Mengotorisasi akses menggunakan kredensial pengembang |
| Dijalankan di Azure | Identitas yang dikelola | Untuk mempelajari cara mengaktifkan identitas terkelola dan menetapkan peran, lihat Mengotorisasi akses dari aplikasi yang dihosting Azure menggunakan identitas terkelola |
| Dihosting di luar Azure (misalnya, aplikasi lokal) | Principal layanan | Untuk mempelajari cara mendaftarkan aplikasi, menetapkan peran, dan mengonfigurasi variabel lingkungan, lihat Mengotorisasi akses dari aplikasi lokal menggunakan perwakilan layanan aplikasi |
Untuk bekerja dengan contoh kode dalam artikel ini, tetapkan peran bawaan Azure RBAC Storage File Data Privileged Contributor ke prinsipal keamanan. Peran ini menyediakan akses penuh untuk membaca, menulis, memodifikasi ACL, dan menghapus seluruh data dalam berbagi untuk semua akun penyimpanan yang dikonfigurasi, tanpa mempertimbangkan izin NTFS di tingkat file/direktori yang telah ditetapkan. Untuk informasi selengkapnya, lihat Mengakses berbagi file Azure menggunakan ID Microsoft Entra dengan Azure Files OAuth melalui REST.
Mengotorisasi akses menggunakan DefaultAzureCredential
Cara mudah dan aman untuk mengotorisasi akses dan menyambungkan ke Azure Files adalah dengan mendapatkan token OAuth dengan membuat instans DefaultAzureCredential . Anda kemudian dapat menggunakan kredensial tersebut untuk membuat ShareClient objek.
Contoh berikut membuat objek ShareClient yang diotorisasi menggunakan DefaultAzureCredential, kemudian membuat objek ShareDirectoryClient untuk beroperasi dengan direktori dalam jaringan bersama.
from azure.identity import DefaultAzureCredential
from azure.storage.fileshare import ShareClient
account_name = "<account-name>"
share_name = "<share-name>"
# Create the share client using DefaultAzureCredential
share_client = ShareClient(
account_url=f"https://{account_name}.file.core.windows.net",
share_name=share_name,
credential=DefaultAzureCredential(),
# When using a token credential, you MUST specify a token_intent
token_intent='backup'
)
# Get a reference to a directory in the share
directory_client = share_client.get_directory_client("sample-directory")
Jika Anda tahu persis jenis kredensial mana yang Anda gunakan untuk mengautentikasi pengguna, Anda bisa mendapatkan token OAuth dengan menggunakan kelas lain di pustaka klien Azure Identity untuk Python. Kelas-kelas ini berasal dari kelas TokenCredential .
Untuk mempelajari selengkapnya tentang masing-masing mekanisme otorisasi ini, lihat Memilih cara mengotorisasi akses ke data file.
Contoh: Menyalin file menggunakan pustaka klien Berbagi File
Anda dapat menyalin file dalam berbagi file atau di antara berbagi file dengan menggunakan metode berikut:
Anda dapat menyalin file ke blob tujuan dengan menggunakan metode berikut dari BlobClient objek:
Contoh kode berikut menunjukkan cara menyalin file ke file di berbagi file lain:
from azure.identity import DefaultAzureCredential
from azure.storage.fileshare import ShareFileClient
# Define storage account parameters
account_name = "<account-name>"
src_share_name = "src-file-share"
dest_share_name = "dest-file-share"
src_file_path = "src/path/to/file"
dest_file_path = "dest/path/to/file"
# Create token credential
token_credential = DefaultAzureCredential()
# Create source file client
src_file_client = ShareFileClient(
account_url=f"https://{account_name}.file.core.windows.net",
share_name=src_share_name,
file_path=src_file_path,
credential=token_credential,
token_intent='backup'
)
# Create destination file client
dest_file_client = ShareFileClient(
account_url=f"https://{account_name}.file.core.windows.net",
share_name=dest_share_name,
file_path=dest_file_path,
credential=token_credential,
token_intent='backup'
)
# Copy the file from the source share to the destination share
copy_operation = dest_file_client.start_copy_from_url(src_file_client.url)
Contoh: Meminjam file menggunakan pustaka klien File Shares
Perjanjian sewa mengunci file yang dikelola Azure melalui ID sewa. Sewa menyediakan mekanisme untuk mengoordinasikan akses ke file di beberapa klien dalam sistem terdistribusi. Hak sewa pada file menyediakan akses tulis dan hapus yang eksklusif. Untuk mempelajari selengkapnya tentang status dan tindakan sewa, lihat File Sewa.
Contoh kode berikut menunjukkan cara membuat klien sewa, memperoleh sewa durasi tak terbatas pada file, dan merilis sewa:
from azure.identity import DefaultAzureCredential
from azure.storage.fileshare import ShareFileClient, ShareLeaseClient
# Define storage account parameters
account_name = "<account-name>"
share_name = "sample-file-share"
file_path = "path/to/file"
# Create a DefaultAzureCredential for authentication
token_credential = DefaultAzureCredential()
# Create a ShareFileClient
file_client = ShareFileClient(
account_url=f"https://{account_name}.file.core.windows.net",
share_name=share_name,
file_path=file_path,
credential=token_credential,
token_intent='backup'
)
# Get a lease client for the file
lease_client = ShareLeaseClient(file_client)
# Acquire an infinite duration lease on the file
lease_info = lease_client.acquire()
# Do something with the file while it's leased
# ...
# Release the lease
lease_client.release()
Saat menggunakan SMB dan FileREST API, perlu diingat bahwa FileREST API menggunakan sewa untuk mengelola kunci file, sementara SMB menggunakan kunci sistem file yang dikelola oleh sistem operasi. Untuk mempelajari selengkapnya tentang mengelola interaksi penguncian file antara SMB dan FileREST API, lihat Mengelola kunci file.
Contoh: Membuat dan daftar cuplikan berkas berbagi menggunakan pustaka klien berbagi file
Cuplikan berkas berbagi adalah salinan baca-saja dari berbagi file pada suatu titik waktu. Anda dapat membuat cuplikan dari berkas bersama, kemudian menggunakan cuplikan tersebut untuk mengakses data dalam berkas tersebut pada saat cuplikan dibuat. Anda juga dapat mencantumkan semua rekam jepret dalam berbagi file, dan menghapus rekam jepret berbagi.
Contoh kode berikut menunjukkan cara membuat rekam jepret berbagi, mencantumkan rekam jepret dalam berbagi file, dan melintasi direktori akar dalam rekam jepret berbagi:
from azure.storage.fileshare import ShareServiceClient, ShareDirectoryClient
def list_root_directory_snapshot(root_dir: ShareDirectoryClient):
for item in root_dir.list_directories_and_files():
if item["is_directory"]:
print(f"Directory in snapshot: {item['name']}")
else:
print(f"File in snapshot: {item['name']}")
# Connection string with account key (required for share snapshots)
connection_string = "<connection-string>"
# Create service and share clients
share_service_client = ShareServiceClient.from_connection_string(connection_string)
share_name = "sample-file-share"
share_client = share_service_client.get_share_client(share_name)
# Create a snapshot
snapshot_info = share_client.create_snapshot()
print(f"Snapshot created: {snapshot_info['snapshot']}")
# List snapshots in a share
for share_item in share_service_client.list_shares(include_snapshots=True):
if share_item["snapshot"]:
print(f"Share: {share_item['name']} (Snapshot: {share_item['snapshot']})")
# List directories and files in a share snapshot
snapshot_timestamp = snapshot_info["snapshot"]
share_snapshot = share_service_client.get_share_client(share_name, snapshot=snapshot_timestamp)
root_dir = share_snapshot.get_directory_client("")
list_root_directory_snapshot(root_dir)
Nota
Token OAuth, seperti yang diperoleh saat menggunakan DefaultAzureCredential, tidak diizinkan untuk operasi sarana data di tingkat berbagi file. Untuk bekerja dengan rekam jepret berbagi, objek klien harus diotorisasi menggunakan kunci akun. Objek ShareClient yang dibuat dalam contoh kode ini menggunakan string koneksi, yang menyertakan kunci akun.
Menyimpan kunci akun atau string koneksi memberikan risiko keamanan. Anda seharusnya hanya menggunakannya saat autentikasi Microsoft Entra tidak tersedia. Untuk mempelajari selengkapnya tentang menyimpan kunci akun dengan aman di Azure Key Vault, lihat Tentang kunci akun penyimpanan terkelola Azure Key Vault.
Mengelola sumber daya Azure Files menggunakan pustaka manajemen Azure Storage
Pustaka manajemen Azure Storage dibangun di atas REST API penyedia sumber daya Azure Storage. Penyedia sumber daya Azure Storage adalah layanan berdasarkan Azure Resource Manager, dan mendukung metode deklaratif (templat) dan imperatif (panggilan API langsung). REST API penyedia sumber daya Azure Storage menyediakan akses terprogram ke sumber daya Azure Storage, termasuk berbagi file. Azure SDK menyediakan pustaka manajemen yang dibangun di REST API penyedia sumber daya Azure Storage.
Pustaka manajemen direkomendasikan untuk operasi yang dilakukan di tingkat layanan file atau berkas berbagi. Di bagian ini, Anda mempelajari cara menggunakan pustaka manajemen Azure Storage untuk mengelola sumber daya Azure Files.
Contoh: Membuat berbagi file menggunakan pustaka manajemen Azure Storage
Contoh kode berikut menunjukkan cara membuat objek tingkat ArmClient atas, mendaftarkan penyedia sumber daya Storage dengan langganan, dan membuat berbagi file menggunakan pustaka manajemen Azure Storage:
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient, SubscriptionClient
from azure.mgmt.storage import StorageManagementClient
from azure.mgmt.storage.models import FileShare
# Create the credential for authentication
credential = DefaultAzureCredential()
# Define variables
subscription_id = "<subscription-id>"
resource_group_name = "<resource-group-name>"
storage_account_name = "<storage-account-name>"
share_name = "sample-file-share"
# Create clients
resource_client = ResourceManagementClient(credential, subscription_id)
subscription_client = SubscriptionClient(credential)
storage_client = StorageManagementClient(credential, subscription_id)
# Register Microsoft.Storage resource provider, if not already registered
provider = resource_client.providers.get('Microsoft.Storage')
if provider.registration_state == "NotRegistered":
resource_client.providers.register('Microsoft.Storage')
# Create a file share
file_share = storage_client.file_shares.create(
resource_group_name=resource_group_name,
account_name=storage_account_name,
share_name=share_name,
file_share=FileShare(
share_quota=1 # Share size in GiB
# Add other file share properties here
)
)
Anda dapat mengonfigurasi properti berbagi file menggunakan FileShare kelas . Contoh sebelumnya menunjukkan cara mengatur share_quota properti. Untuk mempelajari selengkapnya, lihat referensi kelas StorageManagementClient .
Nota
Untuk melakukan operasi register, Anda memerlukan izin untuk tindakan Azure RBAC berikut: Microsoft.Storage/register/action. Izin ini termasuk dalam peran bawaan yang sudah ada yaitu Kontributor dan Pemilik.
Contoh: Mencantumkan berbagi file dan rekam jepret menggunakan pustaka manajemen Azure Storage
Contoh kode berikut menunjukkan cara mencantumkan berbagi file dan rekam jepret di akun penyimpanan:
from azure.identity import DefaultAzureCredential
from azure.mgmt.storage import StorageManagementClient
# Create the credential for authentication
credential = DefaultAzureCredential()
# Define variables
subscription_id = "<subscription-id>"
resource_group_name = "<resource-group-name>"
storage_account_name = "<storage-account-name>"
expand = "snapshots" # Include snapshots in the response
# Create storage management client
storage_client = StorageManagementClient(credential, subscription_id)
# List all file shares with their snapshots
file_shares = storage_client.file_shares.list(
resource_group_name=resource_group_name,
account_name=storage_account_name,
expand=expand
)
# Iterate over the file shares and print them along with any snapshots
for share in file_shares:
print(f"Resource name: {share.name}")
if share.snapshot_time:
print(f"Snapshot: {share.snapshot_time}")
Konten terkait
Untuk informasi selengkapnya tentang mengembangkan dengan Azure Files, lihat sumber daya berikut ini: