Megosztás a következőn keresztül:


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 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

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 és azure-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 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árat asyncio 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álnia async with, mivel az abból létrehozott többi ügyfél ugyanazt a kapcsolatkészletet használja. Ebben a példában létrehozunk egy BlobServiceClient objektumot a következő paranccsal async with, majd létrehozunk egy objektumot ContainerClient :

    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.