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

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íthet aiohttp 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á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 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.