Windows Azure Storage újdonságok a .NET SDK 2.0 kapcsán II.

2013 április végén megjelent a .NET-es Windows Azure SDK 2.0 verziója, ami számos újdonságot hozott magával a Cloud Service-ek és az Azure Storage terén is (a könyv az írásakor aktuális 1.8-as SDK verzióhoz készült). Ebben a blogbejegyzésben az újdonságok Storage-et érintő részeiről tájékozódhatsz, a Cloud Service-ekről egy későbbi blogbejegyzésben esik majd szó.

Új funkciók a Visual Studio Server Explorerben

A Server Explorer (amit az Express kiadásokban Database Explorernek hívnak) rendkívül hasznos része a Visual Studiónak. Ahogy a neve is mutatja, az alkalmazásunkhoz kapcsolt különféle szerverek (pl. SQL Server, Azure SQL Database, Windows Serverek) tartalmát böngészhetjük vele, így nem kell megnyitnunk az adott szervertermék saját menedzsment-eszközét (pl. SQL Server Management Studio) és nem kell több ablak között váltogatnunk.

1. ábra: A Server Explorer ablak a Visual Studióban

1. ábra: A Server Explorer ablak a Visual Studióban

Az Azure SDK telepítése után a Server Explorerből a fontosabb Azure-szolgáltatások is menedzselhetők, többek között az Azure Storage is.

Ez azért különösen hasznos, mert az Azure menedzsment portálon csak Storage Account szintig tudjuk kezelni a Storage szolgáltatást, de az egyes Storage Accountok tartalmát (azaz a blobokat, táblákat, sorokat és üzeneteket) már nem tudjuk adminisztrálni, egyedül a Blob Storage tartalmába tekinthetünk bele csak olvasható módon. Ezért a Storage tartalmát idáig vagy kódból, vagy különféle harmadik fél által előállított eszközökből kellett kezelnünk.

A Server Explorerbe integrált Azure Storage menedzsmentfelület viszont nagyot lépett előre az utóbbi időben, így egyre kevésbé van szükség külső gyártók alkalmazásainak használatára. Az 1.8-as (előző verziós) Azure SDK-ban a Blob Storage-hoz és Queue Service-hez jelent meg írás/olvasás támogatás a Server Explorerben, a 2.0-s (mostani) Azure SDK-ban pedig a Table Storage-hoz is elkészült ez a lehetőség. Így Storage Accountjaid tartalma szinte teljeskörűen kezelhető mostantól a Visual Studióból is, nem kell hozzá egyéb eszközöket telepíteni.

Nézzük, hogy működik ez!

Nyisd meg a Visual Studiót, és anélkül, hogy bármilyen projektet megnyitnál vagy létrehoznál, jelenítsd meg a Server Explorert (vagy ha Express verziót használsz, a Database Explorert)! Ha a képernyőn nem látszik, akkor a View menüben találod a megfelelő parancsot.

A Server Explorerben nyisd ki a Windows Azure Storage elemet! Alatta látod majd, hogy a Server Explorer jelenleg milyen Storage Accountjaidról tud. Egyről biztosan fog: (Development) néven ott szerepel majd a Storage Emulator által emulált lokális teszt-tárhelyed. Ha szeretnél hozzáadni egy „felhős” Storage Accountot, akkor kattints jobb gombbal a Windows Azure Storage sorra, és az Add New Storage Account menüponttal add hozzá a kívánt fiókot!

Miután felvetted a fiókot, a Tables elemre jobb gombbal kattintva hozhatsz létre új táblát, a táblában lévő entitásokat pedig kilistázhatod, szerkesztheted, törölheted, illetve felvehetsz újakat.

2. ábra: Table Storage tábla tartalmának szerkesztése

2. ábra: Table Storage tábla tartalmának szerkesztése

Az Azure Table Storage-dzsal szemben természetesen megfogalmazhatók lekérdezések. Ezeket C# nyelvben LINQ-ban lehet megírni, de ezek a REST API-nak valójában WCF Data Services (OData) lekérdezési formátumban lesznek elküldve. Szerencsére nem kell fejből ismerned ezt a szintaxist ahhoz, hogy a Server Explorerből a felületen keresztül lekérdezéseket küldhess a Table Service felé. Kattints a jobb felső sarokban lévő Query Builder gombra, és a lenti interfészen keresztül összeállíthatod a lekérdezést!

3. ábra: A Table Storage Query Builder interfésze

3. ábra: A Table Storage Query Builder interfésze

A fentiekhez hasonlóan tudod elérni a Blob Storage és Queue Service szolgáltatásokat is a Server Explorerből, így közvetlenül a Visual Studióból dolgozhatsz a Storage Accountjaid tartalmával.

Új PowerShell cmdletek a Storage kezeléséhez

Az Azure menedzsmentjét PowerShell cmdletek is segítik. Ezen cmdletek beszerzését, alapszintaxisát összefoglalja a könyv (a 8. IaaS – Üzemeltetés fejezetben). Funkcionalitásuk folyamatosan bővül. Storage Accountokat létrehozni, törölni idáig is lehetett, a tartalmuk menedzsmentjére (azaz blobok, táblák, sorok, üzenetek konkrét létrehozására, törlésére) azonban idáig nem adott lehetőséget az Azure PowerShell.

Ez megváltozott: a legutóbbi kiadásban a blobok menedzsmentjére teljes körű támogatás van (pl. a New-AzureStorageContainer paranccsal lehet létrehozni új blob konténert), a táblákra és a sorokra pedig korlátozott támogatás jelent meg (táblák és sorok létrehozhatók, de a tartalmuk még nem kezelhető.)

Az új verzió letöltéséhez kövesd a könyvben leírtakat.

Fontos hozzátenni, hogy a PowerShell egy .NET alapú technológia, és remekül együttműködik .NET-es DLL-ekkel – ha beimportálsz egy .NET-es DLL-t, akkor közvetlenül a PowerShell szkriptből tudsz dolgozni a fájlban megtalálható objektumokkal, metódusokkal. Ennek megfelelően, ha a fenti cmdleteknél bővebb Azure Storage funkcionalitásra van szükséged, és a konkrét alkalmazási területed lehetővé teszi, akkor egyszerűen csak importáld be a StorageClient DLL-t a szkriptedből (Microsoft.WindowsAzure.Storage.dll) és használd közvetlenül az abban lévő osztályokat. Ezzel hozzáférsz az Azure Storage szinte teljes funkcionalitásához (legalábbis mindenhez, amit a StorageClient tud).

Példa a szerelvény betöltésére (ha fizikailag odamásoltad a PowerShell szkripted mappájába).

$storageLib = [System.IO.Path]::GetFullPath(".\Microsoft.WindowsAzure.StorageClient.dll")
[System.Reflection.Assembly]::LoadFrom($storageLib)

Példa egy CloudQueueClient típusú objektum létrehozására és használatára (feltételezve persze, hogy a hivatkozott egyéb változók és konstansok már ki vannak töltve):

$queueClient = New-Object Microsoft.WindowsAzure.StorageClient.CloudQueueClient($acct.QueueEndpoint, $acct.Credentials)
$queue = $queueClient.GetQueueReference("requests")
$queue.CreateIfNotExist()

Ezzel a megoldással tehát teljes körű Storage-kezelést valósíthatsz meg egy DLL segítségével, de maguk a cmdletek is folyamatosan frissülnek.

Kellemes hétvégét mindenkinek, a jövő héten folytatjuk!

Ezeket az újdonságokat Te is kipróbálhatod! Regisztrálj az ingyenes, 90 napos Azure előfizetésre!

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s