Rychlý Start: Správa objektů BLOB pomocí sady Python V12 SDK
V tomto rychlém startu se naučíte spravovat objekty BLOB pomocí Pythonu. Objekty blob jsou objekty, které mohou obsahovat velké objemy textových nebo binárních dat, včetně obrázků, dokumentů, datových proudů médií a dat archivu. Můžete nahrávat, stahovat a vypisovat objekty BLOB a vytvářet a odstraňovat kontejnery.
Další zdroje informací:
Požadavky
- Účet Azure s aktivním předplatným. Vytvořte si účet zdarma.
- Účet služby Azure Storage. Vytvořte účet úložiště.
- Python 2,7 nebo 3.6 +.
Nastavení
tato část vás provede přípravou projektu pro práci s klientskou knihovnou Azure Blob Storage v12 for Python.
Vytvoření projektu
Vytvořte aplikaci v Pythonu s názvem BLOB-Start-V12.
V okně konzoly (například cmd, PowerShell nebo bash) vytvořte nový adresář pro projekt.
mkdir blob-quickstart-v12Přepněte do nově vytvořeného adresáře pro rychlý Start objektů BLOB-V12 .
cd blob-quickstart-v12V adresáři objektů BLOB pro rychlý Start – V12 vytvořte další adresář s názvem data. V tomto adresáři se budou vytvářet a ukládat datové soubory objektů BLOB.
mkdir data
Instalace balíčku
ještě pořád v adresáři aplikace nainstalujte knihovnu klienta Azure Blob Storage pro balíček Python pomocí pip install příkazu.
pip install azure-storage-blob
tento příkaz nainstaluje knihovnu klienta Azure Blob Storage pro balíček pythonu a všechny knihovny, na kterých závisí. V tomto případě je to jenom knihovna Azure Core pro Python.
Nastavení aplikační architektury
Z adresáře projektu:
Otevřít nový textový soubor v editoru kódu
Přidat
importpříkazyVytvoření struktury pro program, včetně základního zpracování výjimek
Zde je kód:
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)Uložte nový soubor jako BLOB-Quickstart-V12.py do adresáře objektů BLOB-rychlý Start-V12 .
Zkopírování přihlašovacích údajů z webu Azure Portal
Když ukázková aplikace vytvoří požadavek na Azure Storage, musí být autorizována. Pokud chcete požadavek autorizovat, přidejte do aplikace přihlašovací údaje svého účtu úložiště jako připojovací řetězec. Pokud chcete zobrazit přihlašovací údaje účtu úložiště, postupujte takto:
Přihlaste se k webu Azure Portal.
Vyhledejte svůj účet úložiště.
V podokně nabídek účtu úložiště v části Zabezpečení a sítě vyberte Přístupové klíče. Tady můžete zobrazit přístupové klíče účtu a úplný připojovací řetězec pro každý klíč.

V podokně Přístupové klíče vyberte Zobrazit klíče.
V části key1 vyhledejte hodnotu Připojovací řetězec. Vyberte ikonu Zkopírovat do schránky a zkopírujte připojovací řetězec. Hodnotu připojovacího řetězce přidáte do proměnné prostředí v další části.

Konfigurace připojovacího řetězce úložiště
Po zkopírování připojovacího řetězce ho zapište do nové proměnné prostředí na místním počítači, na který běží aplikace. Proměnnou prostředí nastavíte tak, že otevřete okno konzoly a budete postupovat podle pokynů pro váš operační systém. Nahraďte <yourconnectionstring> skutečným připojovacím řetězcem.
Windows
setx AZURE_STORAGE_CONNECTION_STRING "<yourconnectionstring>"
Po přidání proměnné prostředí v Windows, je nutné spustit novou instanci příkazového okna.
Linux
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
macOS
export AZURE_STORAGE_CONNECTION_STRING="<yourconnectionstring>"
Restartování programů
Po přidání proměnné prostředí restartujte všechny spuštěné programy, které budou muset proměnnou prostředí přečíst. Před pokračováním například restartujte vývojové prostředí nebo editor.
Objektový model
Azure Blob Storage je optimalizovaná pro ukládání obrovských objemů nestrukturovaných dat. Nestrukturovaná data jsou data, která nevyhovují konkrétnímu datovému modelu nebo definici, jako jsou textová nebo binární data. Úložiště objektů BLOB nabízí tři typy prostředků:
- Účet úložiště
- Kontejner v účtu úložiště
- Objekt BLOB v kontejneru
Na následujícím diagramu jsou vztahy těchto prostředků.

Pro interakci s těmito prostředky použijte následující třídy Pythonu:
- BlobServiceClient:
BlobServiceClienttřída umožňuje manipulovat s Azure Storage prostředky a kontejnery objektů blob. - ContainerClient:
ContainerClienttřída umožňuje manipulovat s kontejnery Azure Storage a jejich objekty blob. - BlobClient:
BlobClienttřída umožňuje manipulovat s objekty blob Azure Storage.
Příklady kódu
tyto ukázkové fragmenty kódu ukazují, jak provádět následující úlohy pomocí klientské knihovny Azure Blob Storage pro Python:
- Získání připojovacího řetězce
- Vytvoření kontejneru
- Upload objektů blob do kontejneru
- Seznam objektů blob v kontejneru
- Stáhnout objekty blob
- Odstranění kontejneru
Získání připojovacího řetězce
Následující kód načte připojovací řetězec účtu úložiště z proměnné prostředí vytvořené v oddílu konfigurace vašeho připojovacího řetězce úložiště .
Přidejte tento kód do try bloku:
# 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')
Vytvoření kontejneru
Určete název nového kontejneru. Následující kód připojí hodnotu UUID k názvu kontejneru, aby bylo zajištěno, že je jedinečný.
Důležité
Názvy kontejnerů musí být malými písmeny. Další informace o pojmenování kontejnerů a objektů blob najdete v tématu Názvy kontejnerů, objektů blob a metadat a odkazování na ně.
Vytvořte instanci třídy BlobServiceClient voláním metody from_connection_string . Pak zavolejte metodu create_container , aby se kontejner ve vašem účtu úložiště skutečně vytvořil.
Přidejte tento kód na konec try bloku:
# 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 objektů blob do kontejneru
Následující fragment kódu:
- Vytvoří místní adresář pro ukládání datových souborů.
- Vytvoří textový soubor v místním adresáři.
- Získá odkaz na objekt BlobClient voláním metody get_blob_client v BlobServiceClient z oddílu vytvoření kontejneru .
- Nahraje místní textový soubor do objektu BLOB voláním metody upload_blob .
Přidejte tento kód na konec try bloku:
# 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)
Seznam objektů blob v kontejneru
Vypíše objekty BLOB v kontejneru voláním metody list_blobs . V tomto případě byl do kontejneru přidán pouze jeden objekt blob, takže operace výpisu vrátí pouze jeden objekt BLOB.
Přidejte tento kód na konec try bloku:
print("\nListing blobs...")
# List the blobs in the container
blob_list = container_client.list_blobs()
for blob in blob_list:
print("\t" + blob.name)
Stáhnout objekty blob
Stáhněte dřív vytvořený objekt BLOB voláním metody download_blob . Vzorový kód přidá příponu "DOWNLOAD" do názvu souboru, aby bylo možné zobrazit oba soubory v místním systému souborů.
Přidejte tento kód na konec try bloku:
# 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())
Odstranění kontejneru
Následující kód vyčistí prostředky, které aplikace vytvořila, odebráním celého kontejneru pomocí metody delete_container . Pokud chcete, můžete také odstranit místní soubory.
Aplikace pozastaví vstup uživatele voláním input() před odstraněním objektu blob, kontejneru a místních souborů. Před odstraněním ověřte, že se prostředky správně vytvořily.
Přidejte tento kód na konec try bloku:
# 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")
Spuštění kódu
Tato aplikace vytvoří testovací soubor v místní složce a nahraje ho do služby Azure Blob Storage. Příklad zobrazí seznam objektů BLOB v kontejneru a stáhne soubor s novým názvem. Můžete porovnat staré a nové soubory.
Přejděte do adresáře obsahujícího soubor BLOB-Quickstart-V12.py a python spuštěním následujícího příkazu spusťte aplikaci.
python blob-quickstart-v12.py
Výstup aplikace je podobný následujícímu příkladu:
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
Než zahájíte proces čištění, vyhledejte ve složce data tyto dva soubory. Můžete je otevřít a sledovat, že jsou identické.
Po ověření souborů stiskněte klávesu ENTER , aby se odstranily soubory testu, a dokončete ukázku.
Další kroky
V tomto rychlém startu jste zjistili, jak nahrávat, stahovat a vypisovat objekty BLOB pomocí Pythonu.
Pokud chcete zobrazit ukázkové aplikace služby Blob Storage, pokračujte:
- další informace najdete v tématu klientské knihovny Azure Storage pro Python.
- Výukové programy, ukázky, rychlé starty a další dokumentaci najdete v Azure pro vývojáře v Pythonu.