Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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 fejlesztői útmutatók segítségével megtudhatja, hogyan működhet a kód a Blob Storage szolgáltatás tárolóin, blobokon és funkcióin.
Ha egy teljes példával szeretne kezdeni, tekintse meg a Pythonhoz készült Azure Blob Storage ügyfélkódtár rövid útmutatóját.
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 a projekthez való előkészítést a Pythonhoz készült Azure Blob Storage ügyfélkönyvtá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 átviteli megoldást, például aiohttp-t. Telepítheti
aiohttp-t ésazure-storage-blob-t egy opcionális függőségtelepítési parancs használatával. Ebben a példában a következőpip installparancsot 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, ContainerClientAz
import asyncioutasí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áratasynciohasználják.Hozzon létre egy ügyfélobjektumot
async withaz 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 egyBlobServiceClientobjektumot 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 egy biztonsági princípiumot kell használnia. Az, hogy milyen típusú biztonsági tagra van szüksége, attól függ, hogy hol fut az alkalmazás. Ú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 BlobServiceClient objektumot hoz létre a DefaultAzureCredential segítségével:
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 alkalmaz, példányosítsa BlobServiceClientasync with segítségével.
# 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
Építsd fel az alkalmazásodat
Amikor az Azure Blob Storage-ban adaterőforrásokkal való együttműködésre hoz létre alkalmazásokat, 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 férhet hozzá az adatokhoz, é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 |
|---|---|
| Újrapróbálkozési szabályzat konfigurálása | Újrapróbálkozási szabályzatok implementálása az ügyfélműveletekhez. |
| Blobok másolása | Adatblokk másolása egyik helyről a másikra. |
| Tároló létrehozása | Blobtárolók létrehozása. |
| Felhasználódelegálási SAS létrehozása | Hozzon létre egy felhasználódelegálási SAS-t egy tárolóhoz vagy blobhoz. |
| Blobbérletek létrehozása és kezelése | Blob zárolásának beállítása és kezelése. |
| Tárolóbérletek létrehozása és kezelése | Tároló zárolásának beállítása és kezelése. |
| Blobok törlése és visszaállítása | Blobok törlése és helyreállíthatóan törölt blobok visszaállítása. |
| Tárolók törlése és visszaállítása | Tárolók törlése és ideiglenesen törölt tárolók visszaállítása. |
| Blobok letöltése | Töltse le a blobokat karakterláncok, streamek és fájlútvonalak használatával. |
| 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. |
| Blobok listázása | Blobok listázása különböző módokon. |
| 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 (blobok) kezelése | Blobok tulajdonságainak és metaadatainak lekérése és beállítása. |
| Tulajdonságok és metaadatok (tárolók) kezelése | Tárolók tulajdonságainak és metaadatainak lekérése és beállítása. |
| Adatátviteli teljesítmény finomhangolása | Az adatátviteli műveletek teljesítményének optimalizálá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. |
| 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. |