-
Notifications
You must be signed in to change notification settings - Fork 32
/
Copy pathdeploy.ps1
69 lines (58 loc) · 2.94 KB
/
deploy.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# Enter the first Resource Group name (i.e. openhack1)
$resourceGroup1Name = "openhack1"
# Enter the second Resource Group name (i.e. openhack2)
$resourceGroup2Name = "openhack2"
# Enter the location for the first resource group (i.e. westus2)
$location1 = "westus2"
# Enter the location for the second resource group (i.e. eastus)
$location2 = "eastus"
# Enter the SQL Server username (i.e. openhackadmin)
$sqlAdministratorLogin = "openhackadmin"
# Enter the SQL Server password (i.e. Password123)
$sqlAdministratorLoginPassword = "Password123"
$suffix = -join ((48..57) + (97..122) | Get-Random -Count 13 | % {[char]$_})
$suffix2 = -join ((48..57) + (97..122) | Get-Random -Count 13 | % {[char]$_})
$databaseName = "Movies"
$sqlserverName = "openhacksql-$suffix"
New-AzResourceGroup -Name $resourceGroup1Name -Location $location1
New-AzResourceGroup -Name $resourceGroup2Name -Location $location2
$templateUri = "https://raw.githubusercontent.com/solliancenet/nosql-openhack/master/azuredeploy.json"
$outputs = New-AzResourceGroupDeployment `
-ResourceGroupName $resourceGroup1Name `
-TemplateUri $templateUri `
-secondResourceGroup $resourcegroup2Name `
-secondLocation $location2 `
-sqlserverName $sqlserverName `
-sqlAdministratorLogin $sqlAdministratorLogin `
-sqlAdministratorLoginPassword $(ConvertTo-SecureString -String $sqlAdministratorLoginPassword -AsPlainText -Force) `
-suffix $suffix `
-suffix2 $suffix2
#$sqlSvrFqdn = $outputs.Outputs["sqlSvrFqdn"].value
#$sqlserverName = $outputs.Outputs["sqlserverName"].value
$importRequest = New-AzSqlDatabaseImport -ResourceGroupName $resourceGroup1Name `
-ServerName $sqlserverName -DatabaseName $databaseName `
-DatabaseMaxSizeBytes "2147483648" `
-StorageKeyType "SharedAccessKey" `
-StorageKey "?sp=rl&st=2019-11-26T21:16:46Z&se=2025-11-27T21:36:00Z&sv=2019-02-02&sr=b&sig=P15nBXR2bD2jBnHX92%2BwWRxMnvTeUl3EdBNhLXnZ95s%3D" `
-StorageUri "https://databricksdemostore.blob.core.windows.net/data/nosql-openhack/movies.bacpac" `
-Edition "Basic" -ServiceObjectiveName "Basic" `
-AdministratorLogin $sqlAdministratorLogin `
-AdministratorLoginPassword $(ConvertTo-SecureString -String $sqlAdministratorLoginPassword -AsPlainText -Force)
$importStatus = Get-AzSqlDatabaseImportExportStatus -OperationStatusLink $importRequest.OperationStatusLink
[Console]::Write("Importing database")
while ($importStatus.Status -eq "InProgress") {
$importStatus = Get-AzSqlDatabaseImportExportStatus -OperationStatusLink $importRequest.OperationStatusLink
[Console]::Write(".")
Start-Sleep -s 10
}
[Console]::WriteLine("")
$importStatus
$webUrl = "https://openhackweb-" + $suffix + ".azurewebsites.net"
[Console]::WriteLine("Checking Website Availability")
$availabilityResult = Invoke-WebRequest $webUrl
if($availabilityResult.StatusCode -eq 200) {
Write-Output ("Website is available")
}
else {
Write-Output("Website availability check failed for team: " + $teamName)
}