Új cikksorozatunkban minden bejegyzésben néhány hasznos, az Azure használata közben felmerülő gyakorlati újdonságot és tippet mutatunk be olvasóink számára. Az első témánk az Azure Storage kezelése Powershell-el:
Mire is jó az Azure Storage? Részlet a könyv 7. IaaS – Storage fejezetből:
A Blob Storage szolgáltatás egy masszív fájlszerverként képzelhető el. Fájlokat (blobokat) lehet ide feltölteni, nagyon megbízhatóan tárolni, nemzetközileg terjeszteni és így tovább. A korábban megismert IaaS virtuális gépek merevlemezei is voltaképpen fájlok, amik az Azure Blob Storage szolgáltatásban vannak tárolva.
Felmerülhet a kérdés, hogy hogyan tudunk egyszerűen fájlokat feltölteni az Azure Storage tárterületre PowerShell segítségével. Ahogy a könyvben olvashattál róla, az Azure Storage „igazi” API-ja egy REST API, amin keresztül nyers HTTP kérésekkel lehet utasításokat adni a szolgáltatásnak. Minden más hozzáférési technológia, legyen szó PowerShellről, a .NET-es StorageClient könyvtárról vagy az egyéb osztálykönyvtárakról, ezt a REST API-t használja.
Töltsük le a legújabb (0.6.12) Windows Azure PowerShell kiegészítőt az alábbi linkről, vagy telepítsük fel a Web Platform Installer segítségével. Ennek segítsévégel már nem csak vhd fájlokat tudunk PowerShell-en keresztül feltölteni, hanem bármilyen blob tartalmat.
Ha fel szeretnénk tölteni valamilyen fájlt, akkor használjuk bátran az alábbi kódrészletet (természetesen az előfizetésünkhöz tartozó adatokat meg kell adnunk)
[System.Reflection.Assembly]::LoadFrom("C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\bin\Microsoft.WindowsAzure.StorageClient.dll")
$account = [Microsoft.WindowsAzure.CloudStorageAccount]::Parse("DefaultEndpointsProtocol=https;AccountName=mystorage;AccountKey=mykey")
$client = [Microsoft.WindowsAzure.StorageClient.CloudStorageAccountStorageClientExtensions]::CreateCloudBlobClient($account)
$blob = $client.GetBlockBlob('container\adw.bacpac')
$blob.UploadFile("c:\bu\adw.bacpac")
Az új blob cmdlet-ek használatával mindössze két sorra tudjuk leegyszerüsíteni a fenti kódrészletet:
$context = New-AzureStorageContext -StorageAccountName mystorage -StorageAccountKey mykey Set-AzureStorageBlobContent -Blob "adw.bacpac" -Container container -File "c:\bu\adw.bacpac" -Context $context -Force
Néhány egyszerű, Storage használatához kapcsolódó PowerShell code snippet:
Windows Azure előfizetési adatok lekérdezése:
{
Write-Host "Selection: Show Me List of Windows Azure Subscriptions" -ForegroundColor Magenta
sleep -seconds 1
Get-AzureSubscription | select SubscriptionName, IsDefault
Write-Host "Subscrption with Isdefault Value - True will be used for operation" -ForegroundColor Magenta
}
Storage account információk lekérdezése:
{
Write-Host "Selection: List of Windows Azure Storage Services" -ForegroundColor Magenta
sleep -seconds 1
Get-AzureStorageAccount |select label, Location
}
Új Storage account létrehozása egy megadott helyen:
{
Write-Host "Selection: Create New Windows Azure Storage Account in a Specified Location" -ForegroundColor Magenta
sleep -seconds 1
#New-AzureStorageAccount [-StorageAccountName] <String> [-Description <String>] [-Label <String>] -Location <String> [<CommonParameters>]
[string]$tempStorageAccountName = $(Read-Host -prompt "Please specify new Windows Azure Storage Account Name: ")
[string]$tempDescription = $(Read-Host -prompt "Please specify Description for Windows Azure Storage Account: ")
[string]$tempLabel = $(Read-Host -prompt "Please specify Display Name for Windows Azure Storage Account: ")
Get-AzureLocation | select Name
[string]$tempLocation = $(Read-Host -prompt "Please specify Location for Windows Azure Storage Account (from Above List): ")
New-AzureStorageAccount -StorageAccountName $tempStorageAccountName -Description $tempDescription -Label $tempLabel -Location $tempLocation
Write-Host "Storage account $tempLabel has been created in $tempLocation"
}
A PowerShell iránt mélyebben érdeklődők számára ajánljuk az elektronikus formátumban ingyenesen elérhető, magyar nyelvű PowerShell könyvet.
Próbáld ki te is! Regisztrálj az ingyenes, próba Azure előfizetésre!
Holnap folytatjuk!

