Az Azure Blob Storage és a Python használatának első lépései
Ez a cikk bemutatja, hogyan csatlakozhat az Azure Blob Storage-hoz a PythonHoz készült Azure Blob Storage ügyfélkódtár használatával. A csatlakozás után a kód a Blob Storage szolgáltatás tárolóira, blobokra és funkcióira is képes.
API-referenciacsomag (PyPi) | Kódtár forráskódminták | | Visszajelzés küldése |
Előfeltételek
- Azure-előfizetés – hozzon létre egyet ingyenesen
- Azure Storage-fiók – tárfiók létrehozása
- Python 3.8+
A projekt beállítása
Ez a szakasz végigvezeti egy projekt előkészítésén a PythonHoz készült Azure Blob Storage-ügyfélkódtár használatához.
A projektkönyvtárból telepítse az Azure Blob Storage- és Az Azure Identity-ügyfélkódtárak csomagjait a pip install
paranccsal. Az Azure-szolgáltatásokhoz való jelszó nélküli kapcsolatokhoz az Azure-identitáscsomagra van szükség.
pip install azure-storage-blob azure-identity
Ezután nyissa meg a kódfájlt, és adja hozzá a szükséges importálási utasításokat. Ebben a példában a következőket adjuk hozzá a .py fájlhoz:
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient, BlobClient, ContainerClient
Blob ügyféloldali kódtár adatai:
- azure.storage.blob: A szolgáltatáson, tárolókon és blobokon való működéshez használható elsődleges osztályokat (ügyfélobjektumokat) tartalmazza.
Aszinkron programozás
A PythonHoz készült Azure Blob Storage ügyfélkódtár a szinkron és az aszinkron API-kat is támogatja. Az aszinkron API-k a Python asyncio könyvtárán alapulnak.
Kövesse az alábbi lépéseket a projekt aszinkron API-inak használatához:
Telepítsen egy aszinkron átvitelt, például az aiohttp-t. Az opcionális függőségtelepítési paranccsal együtt
azure-storage-blob
telepíthetaiohttp
is. Ebben a példában a következőpip install
parancsot használjuk:pip install azure-storage-blob[aio]
Nyissa meg a kódfájlt, és adja hozzá a szükséges importálási utasításokat. Ebben a példában a következőket adjuk hozzá a .py fájlhoz:
import asyncio from azure.identity.aio import DefaultAzureCredential from azure.storage.blob.aio import BlobServiceClient, BlobClient, ContainerClient
Az
import asyncio
utasítás csak akkor szükséges, ha a kódtárat használja. Itt látható az egyértelműség kedvéért, mivel a fejlesztői útmutatóban szereplő példák a kódtáratasyncio
használják.Hozzon létre egy ügyfélobjektumot
async with
az adaterőforrások használatának megkezdéséhez. Csak a legfelső szintű ügyfélnek kell használniaasync with
, mivel az abból létrehozott többi ügyfél ugyanazt a kapcsolatkészletet használja. Ebben a példában létrehozunk egyBlobServiceClient
objektumot a következő paranccsalasync with
, majd létrehozunk egy objektumotContainerClient
:async with BlobServiceClient(account_url, credential=credential) as blob_service_client: container_client = blob_service_client.get_container_client(container="sample-container")
További információkért tekintse meg az aszinkron példákat a Hozzáférés engedélyezése és a Blob Storage-hoz való csatlakozás engedélyezése című témakörben.
Blob async ügyfélkódtár adatai:
- azure.storage.blob.aio: A szolgáltatáson, tárolókon és blobokon aszinkron módon használható elsődleges osztályokat tartalmazza.
Hozzáférés engedélyezése és csatlakozás a Blob Storage-hoz
Ha egy alkalmazást a Blob Storage-hoz szeretne csatlakoztatni, hozza létre a BlobServiceClient osztály egy példányát. Ez az objektum a kiindulási pont az adaterőforrások tárfiók szintjén való használatához. Használhatja a tárfiókon és annak tárolóin való működéshez. A szolgáltatásügyfél használatával tárolóügyfeleket vagy blobügyfeleket is létrehozhat, attól függően, hogy milyen erőforrással kell dolgoznia.
Ha többet szeretne megtudni az ügyfélobjektumok létrehozásáról és kezeléséről, beleértve az ajánlott eljárásokat, olvassa el az adaterőforrásokat kezelő ügyfélobjektumok létrehozását és kezelését ismertető témakört.
Az objektumokat BlobServiceClient
Microsoft Entra engedélyezési jogkivonat, fiókhozzáférési kulcs vagy közös hozzáférésű jogosultságkód (SAS) használatával engedélyezheti. Az optimális biztonság érdekében a Microsoft azt javasolja, hogy felügyelt identitásokkal használja a Microsoft Entra ID-t a blobadatokra vonatkozó kérelmek engedélyezéséhez. További információ: Blobok hozzáférésének engedélyezése a Microsoft Entra-azonosítóval.
A Microsoft Entra-azonosítóval való engedélyezéshez biztonsági tagot kell használnia. Az, hogy milyen típusú biztonsági tagra van szüksége, attól függ, hogy az alkalmazás hol fut. Útmutatóként használja az alábbi táblázatot:
Az alkalmazás futtatásának helye | Rendszerbiztonsági tag | Útmutató |
---|---|---|
Helyi gép (fejlesztés és tesztelés) | Szolgáltatásnév | Az alkalmazás regisztrálásához, a Microsoft Entra-csoport beállításához, a szerepkörök hozzárendeléséhez és a környezeti változók konfigurálásához lásd : Hozzáférés engedélyezése fejlesztői szolgáltatásnevek használatával |
Helyi gép (fejlesztés és tesztelés) | Felhasználói azonosító | A Microsoft Entra-csoport beállításáról, a szerepkörök hozzárendeléséről és az Azure-ba való bejelentkezésről további információt a hozzáférés engedélyezése fejlesztői hitelesítő adatokkal című témakörben talál . |
Az Azure-ban üzemeltetve | Felügyelt identitás | A felügyelt identitás engedélyezéséről és a szerepkörök hozzárendeléséről további információt az Azure által üzemeltetett alkalmazások hozzáférésének engedélyezése felügyelt identitással című témakörben talál . |
Az Azure-on kívül üzemeltetett (például helyszíni alkalmazások) | Szolgáltatásnév | Az alkalmazás regisztrálásához, szerepkörök hozzárendeléséhez és környezeti változók konfigurálásához lásd : Hozzáférés engedélyezése helyszíni alkalmazásokból egy alkalmazásszolgáltatás-egyszerű használatával |
Hozzáférés engedélyezése a DefaultAzureCredential használatával
A Blob Storage-hoz való hozzáférés és csatlakozás engedélyezésének egyszerű és biztonságos módja egy OAuth-jogkivonat beszerzése DefaultAzureCredential-példány létrehozásával. Ezt követően a hitelesítő adatok használatával létrehozhat egy BlobServiceClient objektumot.
Az alábbi példa egy objektumot hoz létre a BlobServiceClient
következő használatával DefaultAzureCredential
:
def get_blob_service_client_token_credential(self):
# TODO: Replace <storage-account-name> with your actual storage account name
account_url = "https://<storage-account-name>.blob.core.windows.net"
credential = DefaultAzureCredential()
# Create the BlobServiceClient object
blob_service_client = BlobServiceClient(account_url, credential=credential)
return blob_service_client
Ha a projekt aszinkron API-kat használ, példányosíthatja BlobServiceClient
a következőt async with
:
# TODO: Replace <storage-account-name> with your actual storage account name
account_url = "https://<storage-account-name>.blob.core.windows.net"
credential = DefaultAzureCredential()
async with BlobServiceClient(account_url, credential=credential) as blob_service_client:
# Work with data resources in the storage account
Az alkalmazás összeállítása
Amikor az Azure Blob Storage-ban adaterőforrásokat tartalmazó alkalmazásokat hoz létre, a kód elsősorban három erőforrástípussal dolgozik: tárfiókokkal, tárolókkal és blobokkal. Ha többet szeretne megtudni ezekről az erőforrástípusokról, az egymáshoz való viszonyukról és az alkalmazások erőforrásokkal való interakciójáról, olvassa el a Blob Storage-adaterőforrásokkal való interakciót ismertető témakört.
Az alábbi útmutatók bemutatják, hogyan dolgozhat adaterőforrásokkal, és hogyan hajthat végre konkrét műveleteket a Pythonhoz készült Azure Storage-ügyfélkódtár használatával:
Útmutató | Leírás |
---|---|
Tároló létrehozása | Tárolók létrehozása. |
Tárolók törlése és visszaállítása | Tárolók törlése, és ha engedélyezve van a helyreállítható törlés, állítsa vissza a törölt tárolókat. |
Tárolók listázása | Egy fiók tárolóinak listázása és a lista testreszabásához elérhető különféle lehetőségek. |
Tulajdonságok és metaadatok (tárolók) kezelése | Tárolók tulajdonságainak és metaadatainak lekérése és beállítása. |
Tárolóbérletek létrehozása és kezelése | Tároló zárolásának létrehozása és kezelése. |
Blobbérletek létrehozása és kezelése | Blob zárolásának létrehozása és kezelése. |
Blobok feltöltése | Megtudhatja, hogyan tölthet fel blobokat sztringek, streamek, fájlelérési utak és egyéb módszerek használatával. |
Blobok letöltése | Töltse le a blobokat sztringek, streamek és fájlelérési utak használatával. |
Blobok másolása | Blob másolása egyik helyről a másikra. |
Blobok listázása | Blobok listázása különböző módokon. |
Törlés és visszaállítás | Blobok törlése, és ha engedélyezve van a helyreállítható törlés, állítsa vissza a törölt blobokat. |
Blobok keresése címkékkel | Címkék beállítása és lekérése, valamint címkék használata a blobok kereséséhez. |
Tulajdonságok és metaadatok (blobok) kezelése | Blobok tulajdonságainak és metaadatainak lekérése és beállítása. |
Blob hozzáférési szintjének beállítása vagy módosítása | Blokkblob hozzáférési szintjének beállítása vagy módosítása. |
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: