Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dowiedz się, jak opracowywać aplikacje Python korzystające z Azure Files do przechowywania danych. Azure Files to zarządzana usługa udziału plików w chmurze. Zapewnia w pełni zarządzane udziały plików, które są dostępne za pośrednictwem standardowych protokołów SMB (Server Message Block) i Network File System (NFS). Azure Files zapewnia również interfejs API REST na potrzeby programowego dostępu do udziałów plików.
W tym artykule dowiesz się więcej o różnych podejściach do opracowywania za pomocą Azure Files w Python oraz o tym, jak wybrać podejście, które najlepiej odpowiada potrzebom aplikacji. Dowiesz się również, jak utworzyć podstawową aplikację konsolową, która współdziała z zasobami Azure Files.
Informacje o tworzeniu aplikacji Python za pomocą Azure Files
Azure Files oferuje kilka sposobów uzyskiwania dostępu do danych i zarządzania zasobami w Azure Files przez deweloperów Python. W poniższej tabeli wymieniono metody, podsumowano sposób ich działania i przedstawiono wskazówki dotyczące tego, kiedy należy używać poszczególnych metod:
| Metoda | Jak to działa | Kiedy należy używać |
|---|---|---|
| Standardowe biblioteki we/wy plików | Używa wywołań interfejsu API na poziomie systemu operacyjnego za pośrednictwem udziałów plików Azure zainstalowanych przy użyciu protokołu SMB lub NFS. Podczas instalowania udziału plików przy użyciu protokołu SMB/NFS można użyć bibliotek we/wy plików dla języka programowania lub struktury, takich jak os i io dla Python. |
Masz aplikacje biznesowe z istniejącym kodem, który używa standardowych operacji we/wy plików i nie chcesz ponownie pisać kodu, aby aplikacja działała z udziałem plików Azure. |
| FileREST API | Bezpośrednie wywołanie punktów końcowych HTTPS w celu interakcji z danymi przechowywanymi w Azure Files. Zapewnia programową kontrolę nad zasobami do udostępniania plików. Azure SDK udostępnia bibliotekę klienta do udostępniania plików (azure-storage-file-share), która bazuje i obsługuje interfejs API FileREST, umożliwiając interakcję z operacjami API FileREST za pomocą dobrze znanych paradygmatów języka programowania Python. |
Tworzysz usługi w chmurze i aplikacje w chmurze dla klientów i chcesz używać zaawansowanych funkcji niedostępnych za pośrednictwem bibliotek we/wy plików Python. |
| Interfejs REST API dostawcy zasobów przechowywania | Używa Azure Resource Manager (ARM) do zarządzania kontami przechowywania oraz udziałami plików. Wywołuje punkty końcowe interfejsu API REST dla różnych operacji zarządzania zasobami. | Aplikacja lub usługa musi wykonywać zadania zarządzania zasobami, takie jak tworzenie, usuwanie lub aktualizowanie kont przechowywania lub udostępniania plików. |
Aby uzyskać ogólne informacje na temat tych podejść, zobacz Przegląd tworzenia aplikacji za pomocą Azure Files.
Ten artykuł koncentruje się na pracy z zasobami Azure Files przy użyciu następujących metod:
- Praca z Azure Files za pomocą bibliotek wejścia/wyjścia plików w Pythonie: Zamontuj udział plików za pomocą SMB lub NFS i użyj bibliotek wejścia/wyjścia plików w Pythonie do pracy z plikami i katalogami w tym udziale.
- Praca z Azure Files przy użyciu biblioteki klienta File Shares dla Pythona: Użyj biblioteki klienta Azure Storage File Shares dla Pythona, aby pracować z plikami i katalogami w udziale plików. Ta biblioteka kliencka bazuje na interfejsie API FileREST.
- Zarządzanie zasobami Azure Files przy użyciu bibliotek zarządzania Azure Storage: Użyj bibliotek zarządzania Azure Storage do zarządzania udostępnianymi plikami i innymi zasobami na koncie magazynu. Biblioteki zarządzania opierają się na interfejsie REST API dostarczanym przez zasoby Azure Storage.
Wymagania wstępne
- subskrypcja Azure — utwórz ją bezpłatnie
- konto magazynu Azure — tworzenie konta magazynu
- Python 3.8+
Konfigurowanie projektu
Ta sekcja przeprowadzi Cię przez proces przygotowywania projektu do pracy z Azure Files.
Z katalogu projektu zainstaluj pakiety na podstawie potrzeb aplikacji przy użyciu pip install polecenia . W poniższym przykładzie pokazano, jak zainstalować bibliotekę klienta dla udziałów plików Azure, bibliotekę klienta zarządzania Storage i bibliotekę tożsamości Azure. Pakiet
pip install azure-identity
pip install azure-storage-file-share
pip install azure-mgmt-resource
pip install azure-mgmt-storage
Otwórz plik kodu i dodaj niezbędne instrukcje importu.
Jeśli planujesz używać bibliotek Python os i io, dodaj następujące elementy do pliku .py:
import os
import io
Jeśli planujesz używać biblioteki klienta do udostępniania plików Azure Storage, dodaj poniższe do pliku .py:
from azure.identity import DefaultAzureCredential
from azure.storage.fileshare import ShareClient, ShareDirectoryClient, ShareFileClient
Jeśli planujesz używać bibliotek zarządzania Azure Storage, dodaj następujące elementy do pliku .py:
from azure.identity import DefaultAzureCredential
from azure.mgmt.resource import ResourceManagementClient
from azure.mgmt.storage import StorageManagementClient
Praca z Azure Files przy użyciu bibliotek obsługi plików w Pythonie
Standardowe biblioteki we/wy plików to najczęściej używany sposób uzyskiwania dostępu do zasobów Azure Files i pracy z nimi. Podczas montowania udziału plikowego za pomocą SMB lub NFS system operacyjny przekierowuje żądania API dotyczące lokalnego systemu plików. Takie podejście umożliwia korzystanie ze standardowych bibliotek we/wy plików, takich jak os lub io, do interakcji z plikami i katalogami w udziale.
Rozważ użycie bibliotek Pythona do operacji we/wy na plikach, jeśli aplikacja wymaga:
- Zgodność aplikacji: Idealne dla aplikacji biznesowych z istniejącym kodem, który już używa bibliotek we/wy plików Python. Nie musisz przepisywać kodu, aby aplikacja działała z udostępnionym zasobem plików Azure.
- Łatwość użycia: Biblioteki we/wy plików Pythona są dobrze znane programistom i łatwe w użyciu. Kluczową wartością Azure Files jest uwidacznianie natywnych interfejsów API systemu plików za pośrednictwem protokołu SMB i NFS.
W tej sekcji dowiesz się, jak używać bibliotek we/wy plików Python do pracy z zasobami Azure Files.
Więcej informacji i przykładów zawierają następujące zasoby:
Zamontować udział plików
Aby użyć bibliotek plików we/wy Python, należy najpierw zamontować zasób udostępniony. Zapoznaj się z następującymi zasobami, aby uzyskać wskazówki dotyczące montowania udziału plików przy użyciu protokołu SMB lub NFS.
- Zamontuj udział plików SMB w systemie Windows
- Instalowanie udziału plików SMB w systemie Linux
- Montowanie udziału plikowego NFS w systemie Linux
W tym artykule użyjemy następującej ścieżki do odwołania się do zamontowanego udziału plików SMB w systemie Windows:
file_share_path = "Z:\\file-share"
Przykład: Połączenie z udostępnianiem plików i wyliczanie katalogów przy użyciu biblioteki we/wy plików Pythona
W poniższym przykładzie kodu pokazano, jak nawiązać połączenie do zasobu udostępnionego i wyświetlić listę katalogów w nim:
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)
Przykład: zapisywanie w pliku w udziale plików przy użyciu bibliotek we/wy plików Python
W poniższym przykładzie kodu pokazano, jak napisać i dołączyć tekst do pliku:
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")
Przykład: wyliczanie list kontroli dostępu (ACL) plików przy użyciu bibliotek I/O plików w Pythonie
Poniższy przykład kodu przedstawia sposób wyliczania podstawowych list kontroli dostępu (ACL) dla pliku:
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)
Praca z danymi w Azure Files przy użyciu biblioteki klienta File Shares dla języka Python
Interfejs API FileREST zapewnia dostęp programowy do Azure Files. Umożliwia wywoływanie punktów końcowych HTTPS w celu wykonywania operacji na zasobach plikowych, katalogach i plikach. Interfejs API FileREST został zaprojektowany z myślą o wysokiej skalowalności i zaawansowanych funkcjach, które mogą nie być dostępne za pośrednictwem protokołów natywnych. Azure SDK udostępnia biblioteki klienta, takie jak biblioteka klienta udziałów plików dla języka Python, które są oparte na interfejsie API FileREST.
Rozważ użycie interfejsu API FileREST i biblioteki klienta dysku sieciowego, jeśli aplikacja wymaga:
- Funkcje zaawansowane: Operacje dostępu i funkcje, które nie są dostępne za pośrednictwem protokołów natywnych.
- Integracja chmury niestandardowej: Tworzenie niestandardowych usług dodanych wartości, takich jak tworzenie kopii zapasowych, ochrony antywirusowej lub zarządzania danymi, które współdziałają bezpośrednio z Azure Files.
- Optymalizacja wydajności: Skorzystaj z zalet wydajności w scenariuszach o dużej skali przy użyciu operacji płaszczyzny danych.
Modeluje interfejs API FileREST Azure Files jako hierarchię zasobów i jest zalecany do operacji wykonywanych na poziomie directory lub file. Powinieneś preferować interfejs API REST dostawcy zasobów usługi Storage dla operacji wykonywanych na poziomie usługi plików lub udziału plików.
W tej sekcji dowiesz się, jak używać biblioteki klienta usługi Azure Files, aby pracować z zasobami Azure Files.
Więcej informacji i przykładów zawierają następujące zasoby:
- biblioteka klienta zasobów plikowych Azure Storage dla Pythona
- Azure Storage biblioteka klienta udziałów plików dla przykładów Python
Autoryzowanie dostępu i tworzenie klienta
Aby połączyć aplikację z Azure Files, utwórz obiekt ShareClient. Ten obiekt jest punktem wyjścia do pracy z zasobami Azure Files. W poniższych przykładach kodu pokazano, jak utworzyć ShareClient obiekt przy użyciu różnych mechanizmów autoryzacji.
Aby autoryzować za pomocą Microsoft Entra ID, należy użyć podmiotu zabezpieczeń. Typ wymaganego podmiotu zabezpieczeń zależy od tego, gdzie działa aplikacja. Użyj tej tabeli jako przewodnika.
| Gdzie działa aplikacja | Podmiot bezpieczeństwa | Wskazówki |
|---|---|---|
| Maszyna lokalna (programowanie i testowanie) | Podmiot usługi | Aby dowiedzieć się, jak zarejestrować aplikację, skonfigurować grupę Microsoft Entra, przypisać role i skonfigurować zmienne środowiskowe, zobacz Authorize access using developer service principals |
| Maszyna lokalna (programowanie i testowanie) | Tożsamość użytkownika | Aby dowiedzieć się, jak skonfigurować grupę Microsoft Entra, przypisać role i zalogować się do Azure, zobacz Authorize access using developer credentials |
| Hostowane w Azure | Tożsamość zarządzana | Aby dowiedzieć się, jak włączyć tożsamość zarządzaną i przypisywać role, zobacz temat Authorize access from Azure-hosted apps using a managed identity |
| Hostowane poza Azure (na przykład aplikacje lokalne) | Podmiot usługi | Aby dowiedzieć się, jak zarejestrować aplikację, przypisać role i skonfigurować zmienne środowiskowe, zobacz Autoryzowanie dostępu z aplikacji lokalnych przy użyciu jednostki usługi aplikacji |
Aby pracować z przykładami kodu w tym artykule, przypisz wbudowaną rolę RBAC Azure Storage File Data Privileged Contributor do jednostki zabezpieczeń. Ta rola zapewnia pełny dostęp do odczytu, zapisu, modyfikowania list kontrolnych dostępu oraz usuwania danych we wszystkich udziałach dla skonfigurowanych kont magazynowych, niezależnie od uprawnień NTFS ustawionych na poziomie pliku lub katalogu. Aby uzyskać więcej informacji, zobacz Uzyskiwanie dostępu do zasobów plików Azure przy użyciu Microsoft Entra ID i Azure Files OAuth za pośrednictwem interfejsu REST.
Autoryzowanie dostępu za pomocą DefaultAzureCredential
Łatwym i bezpiecznym sposobem autoryzowania dostępu i łączenia się z Azure Files jest uzyskanie tokenu OAuth przez utworzenie wystąpienia DefaultAzureCredential. Następnie możesz użyć tego poświadczenia, aby utworzyć ShareClient obiekt.
Poniższy przykład tworzy obiekt ShareClient autoryzowany przy użyciu DefaultAzureCredential, a następnie tworzy obiekt ShareDirectoryClient do pracy z katalogiem w zasobie udostępnionym:
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")
Jeśli wiesz dokładnie, którego typu poświadczeń używasz do uwierzytelniania użytkowników, możesz uzyskać token OAuth przy użyciu innych klas w bibliotece klienta Azure Identity dla Python. Te klasy pochodzą z klasy TokenCredential .
Aby dowiedzieć się więcej na temat każdego z tych mechanizmów autoryzacji, zobacz Wybieranie sposobu autoryzowania dostępu do danych plików.
Przykład: kopiowanie plików przy użyciu biblioteki klienta dla udostępniania plików
Pliki w udziale plików lub między udziałami plików można skopiować przy użyciu następującej metody:
Plik można skopiować przy użyciu następującej metody z obiektu BlobClient do docelowego obiektu blob.
W poniższym przykładzie kodu pokazano, jak skopiować plik do pliku w innym udziale plików:
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)
Przykład: dzierżawa pliku przy użyciu biblioteki klienta udostępniania plików
Dzierżawa tworzy blokadę pliku zarządzanego przez Azure za pośrednictwem identyfikatora dzierżawy. Dzierżawa zapewnia mechanizm koordynowania dostępu do plików między wieloma klientami w systemie rozproszonym. Dzierżawa pliku zapewnia wyłączny dostęp do zapisu i usuwania. Aby dowiedzieć się więcej o stanach dzierżawy i akcjach, zobacz Plik dzierżawy.
Poniższy przykład kodu pokazuje, jak utworzyć klienta najmu, uzyskać nieskończony czas trwania najmu na plik i zwolnić najem.
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()
W przypadku korzystania zarówno z protokołu SMB, jak i interfejsu API FileREST należy pamiętać, że interfejs API FileREST używa dzierżaw do zarządzania blokadami plików, podczas gdy protokół SMB używa blokad systemu plików zarządzanych przez system operacyjny. Aby dowiedzieć się więcej na temat zarządzania interakcjami blokowania plików między protokółem SMB i interfejsem API FileREST, zobacz Zarządzanie blokadami plików.
Przykład: Tworzenie i wyświetlanie listy migawek współdzielonych zasobów przy użyciu biblioteki klienta współdzielonych zasobów plikowych.
Migawki udziałów plików to kopie tylko do odczytu danej wersji udziału plików w określonym momencie. Możesz utworzyć migawkę udziału plików, a następnie użyć tej migawki, aby uzyskać dostęp do danych w udziale w chwili jej utworzenia. Można również wyświetlić listę wszystkich migawek w udziale plików oraz usunąć migawki udziału plików.
W poniższym przykładzie kodu pokazano, jak utworzyć migawkę współdzielenia, wyświetlić listę migawek we współdzieleniu plików i przejść przez katalog główny w migawce współdzielenia.
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)
Uwaga / Notatka
Tokeny OAuth, takie jak te uzyskane podczas korzystania z DefaultAzureCredential, nie są dozwolone do operacji na płaszczyźnie danych na poziomie zasobu współdzielenia plików. Aby pracować z migawkami udziałów, obiekt klienta musi być autoryzowany za pomocą klucza konta. Obiekt ShareClient utworzony w tym przykładzie kodu używa connection string, który zawiera klucz konta.
Przechowywanie kluczy konta lub parametrów połączenia stanowi zagrożenie bezpieczeństwa. Należy ich używać tylko wtedy, gdy uwierzytelnianie Microsoft Entra jest niedostępne. Aby dowiedzieć się więcej na temat bezpiecznego autoryzowania dostępu do przechowywania danych, zobacz Autoryzowanie dostępu do danych w Azure Storage.
Zarządzanie zasobami Azure Files przy użyciu bibliotek zarządzania Azure Storage
Biblioteki zarządzania Azure Storage są oparte na interfejsie API REST dostawcy zasobów Azure Storage. Dostawca zasobów Azure Storage jest usługą opartą na Azure Resource Manager i obsługuje metody deklaratywne (szablony) i imperatywne (bezpośrednie wywołanie interfejsu API). Dostawca zasobów Azure Storage za pomocą interfejsu API REST zapewnia programowy dostęp do zasobów Azure Storage, w tym udziałów plików. Azure SDK udostępnia biblioteki zarządzania oparte na interfejsie API REST dostawcy zasobów Azure Storage.
Biblioteki zarządzania są zalecane w przypadku operacji wykonywanych na poziomie usługi plików lub udziału plików . W tej sekcji dowiesz się, jak zarządzać zasobami Azure Files za pomocą bibliotek zarządzania Azure Storage.
Przykład: tworzenie udziału plików przy użyciu biblioteki zarządzania Azure Storage
Poniższy przykład kodu pokazuje, jak utworzyć obiekt ArmClient najwyższego poziomu, zarejestrować dostawcę zasobów magazynu w ramach subskrypcji i utworzyć udział plikowy za pomocą biblioteki zarządzania 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
)
)
Właściwości udziału plików można skonfigurować przy użyciu FileShare klasy . Poprzedni przykład pokazuje, jak ustawić właściwość share_quota. Aby dowiedzieć się więcej, zobacz dokumentację klasy StorageManagementClient .
Uwaga / Notatka
Aby wykonać operację rejestrowania, musisz mieć uprawnienia do następującej akcji RBAC Azure: Microsoft.Storage/register/action. To uprawnienie jest uwzględnione w wbudowanych rolach Współautora i Właściciela.
Przykład: Wyświetlanie listy udziałów plików i migawek za pomocą biblioteki zarządzania Azure Storage
Poniższy przykład kodu pokazuje, jak wyświetlić listę udziałów plików i migawek na koncie magazynowym.
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}")
Powiązana treść
Aby uzyskać więcej informacji na temat programowania za pomocą Azure Files, zobacz następujące zasoby: