Snabbstart: Hantera blobar med Python v12 SDK
I den här snabbstarten lär du dig att hantera blobar med hjälp av Python. Blobar är objekt som kan innehålla stora mängder text eller binära data, inklusive bilder, dokument, strömmande media och arkivdata. Du laddar upp, laddar ned och listar blobar och skapar och tar bort containrar.
Fler resurser:
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Ett Azure Storage-konto. Skapa ett lagringskonto.
- Python 2.7 eller 3.6+.
Inrätta
Det här avsnittet går igenom hur du förbereder ett projekt för att arbeta med Azure Blob Storage-klientbiblioteket v12 för Python.
Skapa projektet
Skapa ett Python-program med namnet blob-quickstart-v12.
I ett konsolfönster (till exempel cmd, PowerShell eller Bash) skapar du en ny katalog för projektet.
mkdir blob-quickstart-v12Växla till den nyligen skapade katalogen blob-quickstart-v12.
cd blob-quickstart-v12På sidan blob-quickstart-v12-katalogen skapar du en annan katalog med namnet data. I den här katalogen skapas och lagras blobdatafilerna.
mkdir data
Installera paketet
När du fortfarande är i programkatalogen installerar du Azure Blob Storage-klientbiblioteket för Python-paketet med hjälp av pip install kommandot .
pip install azure-storage-blob
Det här kommandot installerar Azure Blob Storage-klientbiblioteket för Python-paketet och alla bibliotek som det är beroende av. I det här fallet är det bara Azure-kärnbiblioteket för Python.
Konfigurera appramverket
Från projektkatalogen:
Öppna en ny textfil i kodredigeraren
Lägg till
importinstruktionerSkapa strukturen för programmet, inklusive grundläggande undantagshantering
Här är koden:
import os, uuid from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient, __version__ try: print("Azure Blob Storage v" + __version__ + " - Python quickstart sample") # Quick start code goes here except Exception as ex: print('Exception:') print(ex)Spara den nya filen blob-quickstart-v12.py i katalogen blob-quickstart-v12.
Kopiera dina autentiseringsuppgifter från Azure-portalen
När exempelprogrammet gör en begäran till Azure Storage måste det auktoriserats. Om du vill auktorisera en begäran lägger du till autentiseringsuppgifterna för ditt lagringskonto i programmet som en anslutningssträng. Följ dessa steg om du vill visa autentiseringsuppgifterna för ditt lagringskonto:
Logga in på Azure-portalen.
Leta rätt på ditt lagringskonto.
I menyfönstret för lagringskontot går du till Säkerhet + nätverk och väljer Åtkomstnycklar. Här kan du visa kontoåtkomstnycklarna och den fullständiga anslutningssträngen för varje nyckel.

I fönstret Åtkomstnycklar väljer du Visa nycklar.
Leta upp värdet för Anslutningssträng i avsnittet key1. Välj ikonen Kopiera till Urklipp för att kopiera anslutningssträngen. Du lägger till anslutningssträngens värde i en miljövariabel i nästa avsnitt.

Konfigurera anslutningssträngen för lagring
När du har kopierat anslutningssträngen skriver du den till en ny miljövariabel på den lokala dator som kör programmet. Konfigurera miljövariabeln genom att öppna ett konsolfönster och följa anvisningarna för ditt operativsystem. Ersätt <yourconnectionstring> med den faktiska anslutningssträngen.
Windows
setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"
När du har lagt till miljövariabeln i Windows måste du starta en ny instans av kommandofönstret.
Linux
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
macOS
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
Starta om program
När du har lagt till miljövariabeln startar du om alla program som körs och behöver läsa miljövariabeln. Du kan till exempel starta om utvecklingsmiljön eller redigeringsredigeraren innan du fortsätter.
Objektmodell
Azure Blob Storage är optimerad för att lagra stora mängder ostrukturerade data. Ostrukturerade data är data som inte följer en viss datamodell eller definition, till exempel text eller binära data. I blobblagringen finns tre typer av resurser:
- Lagringskontot
- En container på lagringskontot
- En blob i containern
Följande diagram visar relationen mellan de här resurserna.

Använd följande Python-klasser för att interagera med dessa resurser:
- BlobServiceClient:Med
BlobServiceClientklassen kan du ändra Azure Storage och blobcontainrar. - ContainerClient:Med
ContainerClientklassen kan du ändra Azure Storage och deras blobar. - BlobClient:Med
BlobClientklassen kan du ändra Azure Storage blobar.
Kodexempel
De här exempelkodfragmenten visar hur du utför följande uppgifter med Azure Blob Storage-klientbiblioteket för Python:
- Hämta anslutningssträngen
- Skapa en container
- Upload blobar till en container
- Visa blobar i en container
- Ladda ned blobbar
- Ta bort en container
Hämta anslutningssträngen
Koden nedan hämtar anslutningssträngen för lagringskontot från miljövariabeln som skapades i avsnittet Konfigurera lagringsanslutningssträngen.
Lägg till den här koden i try blocket:
# Retrieve the connection string for use with the application. The storage
# connection string is stored in an environment variable on the machine
# running the application called AZURE_STORAGE_CONNECTION_STRING. If the environment variable is
# created after the application is launched in a console or with Visual Studio,
# the shell or application needs to be closed and reloaded to take the
# environment variable into account.
connect_str = os.getenv('AZURE_STORAGE_CONNECTION_STRING')
Skapa en container
Bestäm ett namn för den nya containern. Koden nedan lägger till ett UUID-värde i containernamnet för att säkerställa att det är unikt.
Viktigt
Containernamn måste använda gemener. Mer information om namngivning av containrar och blobar finns i Namngivning och referens av containrar, blobar och metadata.
Skapa en instans av klassen BlobServiceClient genom att anropa from_connection_string metoden. Anropa sedan create_container för att skapa containern i ditt lagringskonto.
Lägg till den här koden i slutet av try blocket:
# Create the BlobServiceClient object which will be used to create a container client
blob_service_client = BlobServiceClient.from_connection_string(connect_str)
# Create a unique name for the container
container_name = str(uuid.uuid4())
# Create the container
container_client = blob_service_client.create_container(container_name)
Upload blobar till en container
Följande kodfragment:
- Skapar en lokal katalog för att lagra datafiler.
- Skapar en textfil i den lokala katalogen.
- Hämtar en referens till ett BlobClient-objekt genom att anropa get_blob_client-metoden i BlobServiceClient från avsnittet Skapa en container.
- Laddar upp den lokala textfilen till bloben genom att anropa upload_blob-metoden.
Lägg till den här koden i slutet av try blocket:
# Create a local directory to hold blob data
local_path = "./data"
os.mkdir(local_path)
# Create a file in the local data directory to upload and download
local_file_name = str(uuid.uuid4()) + ".txt"
upload_file_path = os.path.join(local_path, local_file_name)
# Write text to the file
file = open(upload_file_path, 'w')
file.write("Hello, World!")
file.close()
# Create a blob client using the local file name as the name for the blob
blob_client = blob_service_client.get_blob_client(container=container_name, blob=local_file_name)
print("\nUploading to Azure Storage as blob:\n\t" + local_file_name)
# Upload the created file
with open(upload_file_path, "rb") as data:
blob_client.upload_blob(data)
Visa blobar i en container
Visa en lista över blobarna i containern genom att anropa list_blobs-metoden. I det här fallet har endast en blob lagts till i containern, så liståtgärden returnerar bara den bloben.
Lägg till den här koden i slutet av try blocket:
print("\nListing blobs...")
# List the blobs in the container
blob_list = container_client.list_blobs()
for blob in blob_list:
print("\t" + blob.name)
Ladda ned blobbar
Ladda ned den tidigare skapade bloben genom att anropa download_blob-metoden. Exempelkoden lägger till suffixet "DOWNLOAD" i filnamnet så att du kan se båda filerna i det lokala filsystemet.
Lägg till den här koden i slutet av try blocket:
# Download the blob to a local file
# Add 'DOWNLOAD' before the .txt extension so you can see both files in the data directory
download_file_path = os.path.join(local_path, str.replace(local_file_name ,'.txt', 'DOWNLOAD.txt'))
print("\nDownloading blob to \n\t" + download_file_path)
with open(download_file_path, "wb") as download_file:
download_file.write(blob_client.download_blob().readall())
Ta bort en container
Följande kod rensar de resurser som appen skapade genom att ta bort hela containern med hjälp delete_container metoden. Du kan också ta bort de lokala filerna om du vill.
Appen pausar för användarindata genom att input() anropa innan den tar bort bloben, containern och lokala filer. Kontrollera att resurserna har skapats korrekt innan de tas bort.
Lägg till den här koden i slutet av try blocket:
# Clean up
print("\nPress the Enter key to begin clean up")
input()
print("Deleting blob container...")
container_client.delete_container()
print("Deleting the local source and downloaded files...")
os.remove(upload_file_path)
os.remove(download_file_path)
os.rmdir(local_path)
print("Done")
Kör koden
Den här appen skapar en testfil i din lokala mapp och laddar upp den till Azure Blob Storage. Exemplet visar sedan blobarna i containern och laddar ned filen med ett nytt namn. Du kan jämföra de gamla och nya filerna.
Gå till katalogen som innehåller blob-quickstart-v12.py och kör sedan följande python kommando för att köra appen.
python blob-quickstart-v12.py
Appens utdata liknar följande exempel:
Azure Blob Storage v12 - Python quickstart sample
Uploading to Azure Storage as blob:
quickstartcf275796-2188-4057-b6fb-038352e35038.txt
Listing blobs...
quickstartcf275796-2188-4057-b6fb-038352e35038.txt
Downloading blob to
./data/quickstartcf275796-2188-4057-b6fb-038352e35038DOWNLOAD.txt
Press the Enter key to begin clean up
Deleting blob container...
Deleting the local source and downloaded files...
Done
Innan du påbörjar rensningsprocessen kontrollerar du datamappen för de två filerna. Du kan öppna dem och se att de är identiska.
När du har verifierat filerna trycker du på Retur för att ta bort testfilerna och avsluta demonstrationen.
Nästa steg
I den här snabbstarten har du lärt dig hur du laddar upp, laddar ned och listar blobar med Python.
Om du vill se Blob Storage-exempelappar fortsätter du till:
- Mer information finns i Azure Storage klientbibliotek för Python.
- Självstudier, exempel, snabbstarter och annan dokumentation finns i Azure för Python-utvecklare.