Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Jeden ze způsobů jak spravovat Windows Azure a také tuto správu automatizovat, je pomocí Windows Azure PowerShell CmdLetů. Jejich knihovna je volně ke stažení z MSDN Code Gallery. Prakticky lze pomocí skriptů provádět následující typy operací:
- Správa aplikací
- Práce s certifikáty
- Operace nad Azure Storage
- Diagnostika
- Správa afinit
- Status operací
Ještě před tím, než začneme CmdLety používat, musíme si opsat několik podstatných informací z provisioning portálu (windows.azure.com). Konkrétně jde o číslo předplatného a Thumbprint API certifikátu. Číslo předplatného naleznete v záložce Account dole:
Thumbprint API certifikátu pak klikem na stejné stránce na odkaz „Manage My API Certificates“. Ten slouží pro ověření volající aplikace pro přístup k management API.
Pokud ještě certifikát nemáte, zde je postup ke jeho vygenerování a použití. Musí jít o platný X509 certifikát s minimální délkou 2048 bitů. Nejjednodušeji jej lze vygenerovat takto:
makecert -r -pe -a sha1 -n "CN=Windows Azure Authentication Certificate" -ss My -len 2048 -sp "Microsoft Enhanced RSA and AES Cryptographic Provider" -sy 24 testcert.cer
Celý postup, krok za krokem, je např. popsán zde.
Praktické příklady použití
Ukažme si tři základní operace, které budete na počátku pravděpodobně provádět – vypsání všech registrovaných služeb, nasazení nové aplikace a zastavení a smazání běžící aplikace.
1, Vypsání všech registrovaných služeb
$cert = Get-Item cert:\CurrentUser\My\ <váš Certificate Thumbprint>
$sub = " <číslo vašeho předplatného> "
# zavede Azure management snapinif ((Get-PSSnapin | ?{$_.Name -eq "AzureManagementToolsSnapIn"}) -eq $null)
{
Add-PSSnapin AzureManagementToolsSnapIn
}# Seznam bezicich sluzeb v dane predplatnem
Get-HostedServices -subscriptionId $sub -certificate $Cert
2, Nasazení nove aplikace
$cert = Get-Item cert:\CurrentUser\My\ <váš Certificate Thumbprint>
$sub = " <číslo vašeho předplatného> "
$servicename = ' <jméno vaší služby v cloudu> '
$storagename =' <jméno vaší storage služby v cloudu> '
$package = " <plná cesta k souboru balíku nasazené *.cspkg> "
$config = " <plná cesta k souboru balíku nasazené *.cscfg> "# zavede Azure management snapin
if ((Get-PSSnapin | ?{$_.Name -eq "AzureManagementToolsSnapIn"}) -eq $null)
{
Add-PSSnapin AzureManagementToolsSnapIn
}# Nasadi novou verzi aplikace, aplikace zustane ve stavu suspended
Get-HostedService $servicename -Certificate $cert -SubscriptionId $sub |
New-Deployment Production $package $config -Label 'v.Next' -StorageServiceName $storagename |
Get-OperationStatus -WaitToComplete
3, Zastavení a odstranění aplikace (uvádím kód již bez definice proměnných, které jsou identické jako v předchozím příkladu a stejně tak zavedení knihovny)
# smaze nasazenou aplikaci v produkcnim slotu
$hostedService = Get-HostedService $servicename -Certificate $cert -SubscriptionId $sub | Get-Deployment -Slot Productionif ($hostedService.Status -ne $null)
{
$hostedService |
Set-DeploymentStatus 'Suspended' |
Get-OperationStatus –WaitToComplete
$hostedService |
Remove-Deployment |
Get-OperationStatus –WaitToComplete
}