Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Informazioni su come sviluppare applicazioni Python che usano File di Azure per archiviare i dati. File di Azure è un servizio di condivisione file gestito nel cloud. Fornisce condivisioni file completamente gestite accessibili tramite i protocolli SMB (Server Message Block) e NFS (Network File System) standard del settore. File di Azure fornisce anche un'API REST per l'accesso a livello di codice alle condivisioni file.
Questo articolo illustra i diversi approcci allo sviluppo con File di Azure in Python e come scegliere l'approccio più adatto alle esigenze dell'app. Si apprenderà anche come creare un'app console di base che interagisce con le risorse di File di Azure.
Si applica a
Modello di gestione | Modello di fatturazione | Livello supporti | Ridondanza | SMB | NFS |
---|---|---|---|---|---|
Microsoft.Storage | Con provisioning v2 | HDD (standard) | Locale | ![]() |
![]() |
Microsoft.Storage | Con provisioning v2 | HDD (standard) | Della zona | ![]() |
![]() |
Microsoft.Storage | Con provisioning v2 | HDD (standard) | Geografica | ![]() |
![]() |
Microsoft.Storage | Con provisioning v2 | HDD (standard) | GeoZone (GZRS) | ![]() |
![]() |
Microsoft.Storage | Con provisioning v1 | SSD (Premium) | Locale | ![]() |
![]() |
Microsoft.Storage | Con provisioning v1 | SSD (Premium) | Della zona | ![]() |
![]() |
Microsoft.Storage | Pagamento in base al consumo | HDD (standard) | Locale | ![]() |
![]() |
Microsoft.Storage | Pagamento in base al consumo | HDD (standard) | Della zona | ![]() |
![]() |
Microsoft.Storage | Pagamento in base al consumo | HDD (standard) | Geografica | ![]() |
![]() |
Microsoft.Storage | Con pagamento in base al consumo | HDD (standard) | GeoZone (GZRS) | ![]() |
![]() |
Informazioni sullo sviluppo di app Python con File di Azure
File di Azure offre diversi modi per consentire agli sviluppatori Python di accedere ai dati e gestire le risorse in File di Azure. La tabella seguente elenca gli approcci, riepiloga il funzionamento e fornisce indicazioni su quando usare ogni approccio:
Avvicinarsi | Come funziona | Quando utilizzare |
---|---|---|
Librerie di I/O file standard | Usa chiamate API a livello di sistema operativo tramite condivisioni file di Azure montate usando SMB o NFS. Quando si monta una condivisione file usando SMB/NFS, è possibile usare librerie di I/O di file per un linguaggio di programmazione o un framework, ad esempio os e io per Python. |
Hai app line-of-business con codice esistente che utilizza l'I/O di file standard e non vuoi riscrivere il codice per far sì che l'app funzioni con una condivisione file di Azure. |
FileREST API | Chiama direttamente gli endpoint HTTPS per interagire con i dati archiviati in File di Azure. Fornisce il controllo a livello di codice sulle risorse di condivisione file. Azure SDK fornisce la libreria client condivisioni file (azure-storage-file-share ) basata sull'API FileREST, consentendo di interagire con le operazioni dell'API FileREST tramite paradigmi noti del linguaggio di programmazione Python. |
Si creano servizi cloud e app a valore aggiunto per i clienti e si vogliono usare funzionalità avanzate non disponibili tramite le librerie di I/O dei file Python. |
API REST del provider di risorse di archiviazione | Usa Azure Resource Manager (ARM) per gestire gli account di archiviazione e le condivisioni file. Chiama gli endpoint DELL'API REST per varie operazioni di gestione delle risorse. | L'app o il servizio deve eseguire attività di gestione delle risorse, ad esempio la creazione, l'eliminazione o l'aggiornamento di account di archiviazione o condivisioni file. |
Per informazioni generali su questi approcci, vedere Panoramica dello sviluppo di applicazioni con File di Azure.
Questo articolo è incentrato sull'uso delle risorse di File di Azure usando gli approcci seguenti:
- Usare file di Azure con le librerie di I/O di file Python: montare una condivisione file usando SMB o NFS e usare le librerie di I/O dei file Python per lavorare con file e directory nella condivisione.
- Lavorare con File di Azure usando la libreria client Condivisioni file per Python: usare la libreria client Condivisioni file di Archiviazione di Azure per Python per lavorare con file e directory in una condivisione file. Questa libreria client si basa sull'API FileREST.
- Gestire le risorse di File di Azure usando le librerie di gestione di Archiviazione di Azure: usare le librerie di gestione di Archiviazione di Azure per gestire condivisioni file e altre risorse nell'account di archiviazione. Le librerie di gestione si basano sull'API REST del provider di risorse di Archiviazione di Azure.
Prerequisiti
- Sottoscrizione di Azure: creare un account gratuito
- Account di archiviazione di Azure: creare un account di archiviazione
- Python 3.8+
Impostare il progetto
Questa sezione illustra come preparare un progetto per lavorare con File di Azure.
Dalla directory del progetto installare i pacchetti in base alle esigenze dell'app usando il pip install
comando . L'esempio seguente illustra come installare la libreria client condivisioni file di Azure, la libreria client di gestione archiviazione e la libreria di identità di Azure. Il pacchetto azure-identity è necessario per le connessioni senza password ai servizi di Azure.
pip install azure-identity
pip install azure-storage-file-share
pip install azure-mgmt-resource
pip install azure-mgmt-storage
Aprire il file di codice e aggiungere le istruzioni import necessarie.
Se si prevede di usare Python os
e io
le librerie, aggiungere quanto segue al file .py :
import os
import io
Se hai intenzione di utilizzare la libreria client per le condivisioni file di Azure Storage, aggiungi quanto segue al file .py :
from azure.identity import DefaultAzureCredential
from azure.storage.fileshare import ShareClient, ShareDirectoryClient, ShareFileClient
Se si prevede di usare le librerie di gestione di Archiviazione di Azure, aggiungere quanto segue al file .py :
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
from azure.mgmt.storage import StorageManagementClient
Usare File di Azure con le librerie Python per l'I/O dei file
Le librerie di I/O di file standard sono il modo più comune per accedere e usare le risorse di File di Azure. Quando si monta una condivisione file usando SMB o NFS, il sistema operativo reindirizza le richieste API per il file system locale. Questo approccio consente di usare librerie di I/O di file standard, ad esempio os
o io
, per interagire con file e directory nella condivisione.
Prendere in considerazione l'uso delle librerie di I/O dei file Python quando l'app richiede:
- Compatibilità delle app: Ideale per le app line-of-business con codice esistente che usa già librerie di I/O di file Python. Non è necessario riscrivere il codice affinché l'app funzioni con una condivisione file di Azure.
- Facilità d'uso: Le librerie di I/O dei file Python sono note dagli sviluppatori e facili da usare. Una proposta di valore chiave di File di Azure consiste nell'esposizione delle API del file system native tramite SMB e NFS.
In questa sezione si apprenderà come usare le librerie di I/O dei file Python per usare le risorse di File di Azure.
Per altre informazioni ed esempi, vedere le risorse seguenti:
Montare una condivisione di file
Per usare le librerie di I/O dei file Python, è prima necessario montare una condivisione file. Per indicazioni su come montare una condivisione file con SMB o NFS, vedere le risorse seguenti:
- Montare una condivisione di file SMB su Windows
- Montare una condivisione di file SMB su Linux
- Montare una condivisione file NFS su Linux
In questo articolo viene usato il percorso seguente per fare riferimento a una condivisione file SMB montata in Windows:
file_share_path = "Z:\\file-share"
Esempio: Connettersi a una condivisione file ed enumerare le directory usando le librerie di I/O dei file Python
Nell'esempio di codice seguente viene illustrato come connettersi a una condivisione file ed elencare le directory nella condivisione:
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)
Esempio: Scrivere su un file in una condivisione file usando le librerie di I/O per file di Python
Nell'esempio di codice seguente viene illustrato come scrivere e aggiungere testo a un 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")
Esempio: Enumerare gli ACL di file usando le librerie di I/O dei file Python
Nell'esempio di codice seguente viene illustrato come enumerare elenchi di controllo di accesso di base (ACL) per un 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)
Usare i dati di File di Azure usando la libreria client Condivisioni file per Python
L'API FileREST fornisce l'accesso a livello di codice a File di Azure. Consente di chiamare gli endpoint HTTPS per eseguire operazioni su condivisioni file, directory e file. L'API FileREST è progettata per funzionalità avanzate e scalabilità elevate che potrebbero non essere disponibili tramite protocolli nativi. Azure SDK fornisce librerie client, ad esempio la libreria client condivisioni file per Python, che si basano sull'API FileREST.
È consigliabile usare l'API FileREST e la libreria client di condivisione file se l'applicazione richiede:
- Funzionalità avanzate: Operazioni di accesso e funzionalità non disponibili tramite protocolli nativi.
- Integrazioni cloud personalizzate: Creare servizi personalizzati a valore aggiunto, ad esempio backup, antivirus o gestione dei dati, che interagiscono direttamente con File di Azure.
- Ottimizzazione delle prestazioni: Sfruttare i vantaggi delle prestazioni in scenari su larga scala usando le operazioni del piano dati.
L'API FileREST modella File di Azure come gerarchia di risorse ed è consigliata per le operazioni eseguite a livello di directory o file . È consigliabile preferire l'API REST del provider di risorse di archiviazione per le operazioni eseguite a livello di servizio file o condivisione file .
In questa sezione si apprenderà come utilizzare la libreria client File Shares per gestire le risorse di Azure Files.
Per altre informazioni ed esempi, vedere le risorse seguenti:
- Libreria client Condivisioni file di Archiviazione di Azure per Python
- Esempi di libreria client Condivisioni file di Archiviazione di Azure per Python
Autorizzare l'accesso e creare un client
Per connettere un'app a File di Azure, creare un oggetto ShareClient
. Questo oggetto è il punto di partenza per l'uso delle risorse di File di Azure. Negli esempi di codice seguenti viene illustrato come creare un ShareClient
oggetto usando meccanismi di autorizzazione diversi.
Per autorizzare con Microsoft Entra ID è necessario usare un'entità di sicurezza. Il tipo di entità di sicurezza necessaria dipende dalla posizione in cui viene eseguita l'app. Usare questa tabella come riferimento.
Posizione in cui viene eseguita l'applicazione | Entità di sicurezza | Indicazioni |
---|---|---|
Computer locale (sviluppo e test) | Service Principal | Per informazioni su come registrare l'app, configurare un gruppo di Microsoft Entra, assegnare ruoli e configurare le variabili di ambiente, vedere Autorizzare l'accesso usando le entità servizio per sviluppatori |
Computer locale (sviluppo e test) | Identità utente | Per informazioni su come configurare un gruppo di Microsoft Entra, assegnare ruoli e accedere ad Azure, vedere Autorizzare l'accesso usando le credenziali per sviluppatori |
Ospitato su Azure | Identità gestita | Per informazioni su come abilitare l'identità gestita e assegnare ruoli, vedere Autorizzare l'accesso dalle app ospitate in Azure usando un'identità gestita |
Ospitata all'esterno di Azure (ad esempio, app locali) | Service Principal | Per informazioni su come registrare l'app, assegnare ruoli e configurare le variabili di ambiente, vedere Autorizzare l'accesso dalle app locali usando un'entità servizio dell'applicazione |
Per lavorare con gli esempi di codice in questo articolo, assegnare all'entità di sicurezza il ruolo predefinito di Controllo degli accessi in base al ruolo di Azure Collaboratore con privilegi per i dati dei file di archiviazione. Questo ruolo fornisce l'accesso completo in lettura, scrittura, modifica ACL ed eliminazione su tutti i dati nelle condivisioni per tutti gli account di archiviazione configurati, indipendentemente dalle autorizzazioni NTFS impostate a livello di file/directory. Per ulteriori informazioni, vedere Accedere alle condivisioni file di Azure utilizzando Microsoft Entra ID con OAuth Files di Azure tramite REST.
Autorizzare l'accesso con DefaultAzureCredential
Un modo semplice e sicuro per autorizzare l'accesso e connettersi a File di Azure consiste nel ottenere un token OAuth creando un'istanza DefaultAzureCredential . È quindi possibile usare tale credenziale per creare un ShareClient
oggetto .
Nell'esempio seguente viene creato un ShareClient
oggetto autorizzato usando DefaultAzureCredential
, quindi viene creato un ShareDirectoryClient
oggetto per lavorare con una directory nella condivisione:
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")
Se si conosce esattamente il tipo di credenziale usato per autenticare gli utenti, è possibile ottenere un token OAuth usando altre classi nella libreria client di Identità di Azure per Python. Queste classi derivano dalla classe TokenCredential.
Per altre informazioni su ognuno di questi meccanismi di autorizzazione, vedere Scegliere come autorizzare l'accesso ai dati dei file.
Esempio: Copiare file usando la libreria client Condivisioni file
È possibile copiare file all'interno di una condivisione file o tra condivisioni file usando il metodo seguente:
È possibile copiare un file in un BLOB di destinazione usando il metodo seguente da un BlobClient
oggetto :
Nell'esempio di codice seguente viene illustrato come copiare un file in un file in un'altra condivisione file:
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)
Esempio: Creare un lease su un file usando la libreria client di Condivisioni file
Un lease crea un blocco in un file gestito da Azure tramite un ID lease. Il lease fornisce un meccanismo per coordinare l'accesso ai file tra più client in un sistema distribuito. Un lease su un file fornisce accesso esclusivo in scrittura ed eliminazione. Per altre informazioni sugli stati di lease e sulle azioni, vedere File di lease.
L'esempio di codice seguente illustra come creare un client di lease, acquisire un lease di durata infinito in un file e rilasciare il lease:
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()
Quando si usano sia SMB che l'API FileREST, tenere presente che l'API FileREST usa lease per gestire i blocchi di file, mentre SMB usa blocchi del file system gestiti dal sistema operativo. Per altre informazioni sulla gestione delle interazioni di blocco dei file tra SMB e l'API FileREST, vedere Gestire i blocchi di file.
Esempio: creare ed elencare snapshot di condivisioni usando la libreria client di Condivisioni file
Gli snapshot di condivisione sono copie di sola lettura di una condivisione file in un momento specifico. È possibile creare uno snapshot di una condivisione file e quindi usare lo snapshot per accedere ai dati nella condivisione al momento della creazione dello snapshot. È anche possibile elencare tutti gli snapshot in una condivisione file ed eliminare gli snapshot di condivisione.
L'esempio di codice seguente illustra come creare uno snapshot di condivisione, elencare gli snapshot in una condivisione di file e navigare all'interno della directory radice di uno snapshot di condivisione.
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)
Annotazioni
I token OAuth, ad esempio quelli ottenuti quando si usa DefaultAzureCredential
, non sono consentiti per le operazioni del piano dati a livello di condivisione file. Per usare gli snapshot di condivisione, l'oggetto client deve essere autorizzato usando la chiave dell'account. L'oggetto ShareClient
creato in questo esempio di codice usa una stringa di connessione, che include la chiave dell'account.
L'archiviazione delle chiavi dell'account o delle stringhe di connessione presenta un rischio per la sicurezza. È consigliabile usarli solo quando l'autenticazione di Microsoft Entra non è disponibile. Per altre informazioni sull'archiviazione sicura delle chiavi dell'account in Azure Key Vault, vedere Informazioni sulle chiavi dell'account di archiviazione gestito di Azure Key Vault.
Gestire le risorse di File di Azure usando le librerie di gestione di Archiviazione di Azure
Le librerie di gestione di Archiviazione di Azure sono basate sull'API REST del provider di risorse di Archiviazione di Azure. Il provider di risorse di Archiviazione di Azure è un servizio basato su Azure Resource Manager e supporta sia metodi dichiarativi (modelli) che imperativi (chiamata API diretta). L'API REST del provider di risorse di Archiviazione di Azure fornisce l'accesso a livello di codice alle risorse di Archiviazione di Azure, incluse le condivisioni file. Azure SDK offre librerie di gestione basate sull'API REST del provider di risorse di Archiviazione di Azure.
Le librerie di gestione sono consigliate per le operazioni eseguite a livello di servizio file o condivisione file . In questa sezione si apprenderà come usare le librerie di gestione di Archiviazione di Azure per gestire le risorse di File di Azure.
Esempio: Creare una condivisione file usando la libreria di gestione di Archiviazione di Azure
L'esempio di codice seguente illustra come creare un oggetto di primo livello ArmClient
, registrare il provider di risorse di archiviazione con una sottoscrizione e creare una condivisione file usando la libreria di gestione di Archiviazione di Azure:
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
)
)
È possibile configurare le proprietà della condivisione file usando la FileShare
classe . Nell'esempio precedente viene illustrato come impostare la share_quota
proprietà . Per altre informazioni, vedere le informazioni di riferimento sulla classe StorageManagementClient .
Annotazioni
Per eseguire l'operazione di registrazione, sono necessarie le autorizzazioni per la seguente azione RBAC di Azure: Microsoft.Storage/register/action. Questa autorizzazione è inclusa nei ruoli predefiniti Collaboratore e Proprietario.
Esempio: Elencare condivisioni file e snapshot usando la libreria di gestione di Archiviazione di Azure
L'esempio di codice seguente illustra come elencare condivisioni file e snapshot in un account di archiviazione:
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}")
Contenuto correlato
Per altre informazioni sullo sviluppo con File di Azure, vedere le risorse seguenti: