Gyakorlat – Az alkalmazás csatlakoztatása az Azure-tárfiókhoz
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.
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. EgyBlobContainerClient
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.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.
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();
Mentse a fájlt.
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
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:
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");
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ánakfromConnectionString
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.
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 }
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, aContainerClient
tárolót a létrehozás után létrehozhatjuk és kezelhetjük.Az
ContainerClient
objektum beszerzéséhez hívja meg azgetContainerClient
objektum metódusátBlobServiceClient
, é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 acreateIfNotExists
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`); }
Mentse az index.js fájl módosításait.
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 aasync
kulcsszótmain
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.
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.