Gyakorlat – Az alkalmazás csatlakoztatása az Azure-tárfiókhoz

Befejeződött

Az Azure Storage-ügyfélkódtár egy objektummodellt biztosít, amely az Azure Storage-fiókok kezelésére szolgál. Segítségével pillanatok alatt csatlakozhat egy Azure Storage-fiókhoz, és használhatja az Azure Storage szolgáltatási API-kat.

Az Azure Storage ügyféloldali kódtárának objektummodellje

Az Azure-ban a tárfiókok egy vagy több olyan tárolóba vannak rendezve, amelyek tárolják a fiókjában a tényleges blobobjektumokat (fájlokat). Ezek a tárolók hasonlóak a fájlrendszer mappáihoz. A .NET-hez készült Azure Storage Blobs ügyfélkódtár használatával létrehozhatunk egy tárolót a tárfiókunkban, amelyben tárolhatjuk a fényképeinket.

Ha a .NET-hez készült Azure Storage Blobs ügyfélkódtárat szeretné használni a programban, hozzá kell adnia egy utasítást using a program tetején a Azure.Storage.Blobs névtérhez.

  1. Adja hozzá a következő parancsot a Program.cs fájlhoz.

    using Azure.Storage.Blobs;
    

    Ahhoz, hogy tárolókat tudjon létrehozni és kezelni a tárfiókban a .NET-alkalmazásokból, a BlobContainerClient objektumot kell használnia. Egy BlobContainerClient objektum példányosításához meg kell adnia a kapcsolati sztring a tárfióknak és a tároló nevének. A tárolónév hossza 3–63 karakter lehet, és csak kisbetűket és a „-” karaktert tartalmazhatja. Ehhez az alkalmazáshoz a fényképek nevet fogjuk használni.

  2. Adja hozzá az alábbi kódot az alkalmazás fő szakaszához az Azure Storage-kapcsolati sztring lekéréséhez és az BlobContainerClient objektum létrehozásához.

    var connectionString = configuration.GetConnectionString("StorageAccount");
    string containerName = "photos";
    
    BlobContainerClient container = new BlobContainerClient(connectionString, containerName);
    

    Megjegyzés:

    Ezen a ponton az ügyféloldali kódtár még nem próbált csatlakozni az Azure-hoz, és nem ellenőrizte a használt kapcsolati sztringet és a hozzáférési kulcsot. Egyszerűen létrehozott egy egyszerű ügyfélobjektumot, hogy műveleteket végezhessen el az Azure Blob Storage-on. Hálózati hívás csak akkor lesz elindítva, ha meghívnak egy műveletet a tárfiókra.

  3. Az előző sorok alatt adjon hozzá kódot a fényképek tárolójának létrehozásához, ahol tároljuk a képeket.

    container.CreateIfNotExists();
    
  4. Mentse a fájlt.

  5. Most futtassa az alkalmazást, hogy létrehozza a tárolót a tárfiókban. Mivel a CreateIfNotExists módszert használtuk, többször is futtathatja a programot, de a tároló csak az első futtatáskor jön létre.

    dotnet run
    
  6. A következő Azure CLI-parancs futtatásával ellenőrizheti, hogy létrehozta-e a tárolót. Ügyeljen rá, hogy le kell cserélnie a <name> szöveget a saját tárfiókjának nevére.

    az storage container list \
    --account-name <name>
    

A JavaScripthez készült Azure Storage Blob ügyfélkódtár számos ügyfélobjektumot tartalmaz az Azure Storage-blobok használatához. A hierarchia tetején található a BlobServiceClient objektum. Az objektum használata JavaScript-kódban:

  1. Nyissa meg az index.js fájlt a kódszerkesztőben, és adja hozzá a következő utasítást közvetlenül az require('dotenv').config(); utasítás után:

    const { BlobServiceClient } = require("@azure/storage-blob");
    
  2. Most létre kell hoznia egy BlobServiceClient objektumot a kódban a tárfiók kapcsolati sztring beszerzésével és az objektum gyári metódusának fromConnectionString BlobServiceClient való átadásával. Adja hozzá a következő kódsorokat:

    const storageAccountConnectionString = process.env.AZURE_STORAGE_CONNECTION_STRING;
    const blobServiceClient = BlobServiceClient.fromConnectionString(storageAccountConnectionString);
    

    Megjegyzés:

    Az ügyfélkódtár csak akkor próbál csatlakozni az Azure-hoz, ha meghív egy olyan műveletet, amely megköveteli. Az ügyfélobjektum egy egyszerű objektum, amely lehetővé teszi az Azure Blob Storage elérését; nem ellenőrzi a kapcsolatot vagy a használt hozzáférési kulcsot.

  3. Miután definiált egy ügyfélobjektumot a programban, az ügyfélobjektum metódusait használhatja a tényleges munka elvégzéséhez. A hálózati hívásokat végző metódusok szándékosan aszinkron jellegűek. A kódtár ígéreteket használ az aszinkron eredmények visszaküldésére. Ezért a fő függvényt aszinkronként kell megjelölnie. Cserélje le a fő függvényobjektumot a következő kódra. A két perjellel kezdődő vonal egy megjegyzés.

    async function main() {
     // Function code here
    }
    
  4. Mentse az index.js módosításait.

    Most adjunk hozzá néhány kódot, hogy végrehajtsunk egy műveletet a tárfiókunkon. A tárfiókok egy vagy több tárolóba kerülnek, amelyek a tárfiók mappáihoz hasonlóan működnek. A tárfiókban létrehozott blobobjektumokat (fájlokat) valamelyik ilyen tároló tárolja. A fényképek tárolásához létre kell hoznia egy tárolót a tárfiókjában.

    A tárolónév hossza 3–63 karakter lehet, és csak kisbetűket és a „-” karaktert tartalmazhatja. Ehhez az alkalmazáshoz a fényképek nevet fogjuk használni.

    Ha tárolót szeretne létrehozni a tárfiókban, be kell szereznie egy ContainerClient objektumot, amely a tárfiókban lévő tárolót jelöli. Annak ellenére, hogy egy tároló még nem létezik a tárfiókban, a ContainerClient tárolót a létrehozás után létrehozhatjuk és kezelhetjük.

  5. Az ContainerClient objektum beszerzéséhez hívja meg az getContainerClient objektum metódusát BlobServiceClient , és adja meg a tároló nevét paraméterként. Ezután a tároló Azure Storage-fiókban való létrehozásához használja a createIfNotExists containerClient objektum metódusát. Cserélje le a // Function Code here megjegyzéssort a következő utasításokra:

    // Create a container (folder) if it does not exist
    const containerName = 'photos';
    const containerClient = blobServiceClient.getContainerClient(containerName);
    const containerExists = await containerClient.exists()
    if ( !containerExists) {
        const createContainerResponse = await containerClient.createIfNotExists();
        console.log(`Create container ${containerName} successfully`, createContainerResponse.succeeded);
    }
    else {
        console.log(`Container ${containerName} already exists`);
    }
    
  6. Mentse az index.js fájl módosításait.

  7. A Cloud Shell parancssorában adja meg a következő parancsot a program létrehozásához és futtatásához, amely létrehozza a tárolót a tárfiókban:

    node index.js
    

    Tipp.

    Ha hibaüzenetet kap a await kulcsszó használatával kapcsolatban, győződjön meg arról, hogy az előző utasítások utolsó lépésében hozzáadta a async kulcsszót main a függvénydefinícióhoz.

    A program első futtatásakor egy üzenetnek kell megjelennie, amely szerint a tároló sikeresen létrejött, igaz állapotú. A program második és későbbi futtatásakor egy hamis állapotú hasonló üzenet jelenik meg, mert a tároló már létezik.

  8. A következő Azure CLI-parancs futtatásával ellenőrizheti, hogy létrehozta-e a tárolót. Ügyeljen rá, hogy le kell cserélnie a <name> szöveget a saját tárfiókjának nevére.

    az storage container list \
    --account-name <name>
    

Most, hogy a programunk csatlakozik az Azure Storage-fiókhoz, és létrehoztunk egy fényképtárolót , töltsünk fel rá egy képet.