Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln visar kodexempel som använder version 2 av Azure File Share-klientbiblioteket för Python.
Den 31 mars 2023 drog vi tillbaka stödet för Azure SDK-bibliotek som inte följer de aktuella Riktlinjerna för Azure SDK. De nya Azure SDK-biblioteken uppdateras regelbundet för att skapa konsekventa upplevelser och stärka din säkerhetsstatus. Vi rekommenderar att du övergår till de nya Azure SDK-biblioteken för att dra nytta av de nya funktionerna och viktiga säkerhetsuppdateringar.
Även om de äldre biblioteken fortfarande kan användas efter den 31 mars 2023 får de inte längre officiell support och uppdateringar från Microsoft. För mer information, se meddelandet om avslutandet av support.
Förutsättningar
Installera följande paket med pip install.
pip install azure-storage-file
Lägg till följande import instruktion:
from azure.storage.file import FileService
Skapa en Azure-filresursdelning
Relaterad artikel: Utveckla för Azure Files med Python
I följande kodexempel används ett FileService-objekt för att skapa resursen om den inte finns.
file_service.create_share('myshare')
Skapa en katalog
Relaterad artikel: Utveckla för Azure Files med Python
Du kan ordna lagring genom att placera filer i underkataloger i stället för att ha alla i rotkatalogen.
Koden nedan skapar en underkatalog med namnet sampledir under rotkatalogen.
file_service.create_directory('myshare', 'sampledir')
Ladda upp en fil
Relaterad artikel: Utveckla för Azure Files med Python
I det här avsnittet får du lära dig hur du laddar upp en fil från lokal lagring till Azure Files.
En Azure-filresurs innehåller åtminstone en rotkatalog där filer kan finnas. Om du vill skapa en fil och ladda upp data använder du någon av följande metoder:
Dessa metoder utför den segmentering som krävs när datastorleken överskrider 64 MiB.
create_file_from_path laddar upp innehållet i en fil från den angivna sökvägen och create_file_from_stream laddar upp innehållet från en redan öppen fil/dataström.
create_file_from_bytes laddar upp en matris med byte och create_file_from_text laddar upp det angivna textvärdet med den angivna kodningen (standardvärdet UTF-8).
I följande exempel överförs innehållet i sunset.png-filen till myfile-filen.
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'))
Räkna upp filer och kataloger i en Azure-filresurs
Relaterad artikel: Utveckla för Azure Files med Python
Om du vill visa en lista över filer och kataloger i en resurs använder du metoden list_directories_and_files . Den här metoden returnerar en generator. Följande kod skriver ut namnet på varje fil och katalog i en resurs till konsolen.
generator = file_service.list_directories_and_files('myshare')
for file_or_dir in generator:
print(file_or_dir.name)
Ladda ned en fil
Relaterad artikel: Utveckla för Azure Files med Python
Om du vill ladda ned data från en fil använder du någon av följande metoder:
Dessa metoder utför den segmentering som krävs när datastorleken överskrider 64 MiB.
Följande exempel visar hur du använder get_file_to_path för att ladda ned innehållet i myfile-filen och lagra den i den out-sunset.png filen.
file_service.get_file_to_path('myshare', None, 'myfile', 'out-sunset.png')
Skapa en ögonblicksbild
Relaterad artikel: Utveckla för Azure Files med Python
Du kan skapa en ögonblicksbild av hela fildelningen.
snapshot = file_service.snapshot_share(share_name)
snapshot_id = snapshot.snapshot
Skapa snapshot av delning med metadata
metadata = {"foo": "bar"}
snapshot = file_service.snapshot_share(share_name, metadata=metadata)
Lista andelar och ögonblicksbilder
Relaterad artikel: Utveckla för Azure Files med Python
Du kan lista alla snapshots för en viss mapp.
shares = list(file_service.list_shares(include_snapshots=True))
Bläddra bland delade ögonblicksbilder
Relaterad artikel: Utveckla för Azure Files med Python
Du kan bläddra i varje delningssnapshot för att hämta filer och kataloger från den tidpunkten.
directories_and_files = list(
file_service.list_directories_and_files(share_name, snapshot=snapshot_id))
Hämta fil från delningsögonblicksbild
Relaterad artikel: Utveckla för Azure Files med Python
Du kan ladda ner en fil från en delningsögonblicksbild. På så sätt kan du återställa en tidigare version av en fil.
with open(FILE_PATH, 'wb') as stream:
file = file_service.get_file_to_stream(
share_name, directory_name, file_name, stream, snapshot=snapshot_id)
Ta bort en ögonblicksbild av en enskild delning
Relaterad artikel: Utveckla för Azure Files med Python
Du kan ta bort en enskild delningsögonblicksbild.
file_service.delete_share(share_name, snapshot=snapshot_id)
Ta bort en fil
Relaterad artikel: Utveckla för Azure Files med Python
Anropa delete_file för att ta bort en fil.
Följande kodexempel visar hur du tar bort en fil:
file_service.delete_file('myshare', None, 'myfile')
Ta bort delning när delningsögonblicksbilder finns
Relaterad artikel: Utveckla för Azure Files med Python
En resurs som innehåller ögonblicksbilder kan inte tas bort om inte alla ögonblicksbilder tas bort först.
Följande kodexempel visar hur du tar bort en delning.
file_service.delete_share(share_name, delete_snapshots=DeleteSnapshot.Include)