-
Notifications
You must be signed in to change notification settings - Fork 3
/
AzureResCmds.txt
135 lines (95 loc) · 8.01 KB
/
AzureResCmds.txt
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
AzureResCmds.txt - PowerShell CLI Commands for provisioning and configuring the Azure resources needed by the MSDN.OvaryVis Mag Article Nov18 Project
=====================================================================================================================================================
XXX msdnovaryvisdbsvr Admin User name - see WebApp and SQL Server and Vault for value
YYY msdnovaryvisdbsvr Admin User password - see WebApp and SQL Server and Vault for value
AAA is the IP address of your PC - find in msdnovaryvisdbsvr - Firewalls and virtual networks
FFF Storage Account Key as copied from OvaryVisFnApp Azure application settings
CCC ServiceBus RootManageSharedAccessKey - see Azure Functions and ServiceBus
MMM Primary connection string for Service Bus Queue i.e. Endpoint=sb://msdnovaryvissbq.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=CCC'
appsettings.json
----------------
change CCC
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=Msdn.OvaryVisDb;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"OvaryVisServiceBus": {
"Connection": "Endpoint=sb://msdnovaryvis.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=CCC",
"QueueName": "dimsubmission"
},
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*"
}
Azure MSDNOvaryVisWebApp application settings
---------------------------------------------
OvaryVisServiceBus:Connection (same as above)
OvaryVisServiceBus:QueueName (same as above)
DefaultConnection: (copied from Azure SQL Database)
local.settings.json
-------------------
change FFF,CCC
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=msdnovaryvisstorageac;AccountKey=FFF;BlobEndpoint=https://msdnovaryvisstorageac.blob.core.windows.net/;TableEndpoint=https://msdnovaryvisstorageac.table.core.windows.net/;QueueEndpoint=https://msdnovaryvisstorageac.queue.core.windows.net/;FileEndpoint=https://msdnovaryvisstorageac.file.core.windows.net/",
"AzureWebJobsDashboard": "DefaultEndpointsProtocol=https;AccountName=msdnovaryvisstorageac;AccountKey=FFF;BlobEndpoint=https://msdnovaryvisstorageac.blob.core.windows.net/;TableEndpoint=https://msdnovaryvisstorageac.table.core.windows.net/;QueueEndpoint=https://msdnovaryvisstorageac.queue.core.windows.net/;FileEndpoint=https://msdnovaryvisstorageac.file.core.windows.net/",
"AzureWebJobsServiceBus": "Endpoint=sb://msdnovaryvis.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=CCC",
"AzureServiceBusQueueName": "dimsubmission",
},
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=Msdn.OvaryVisDb;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
Azure MSDNOvaryVisFnApp application settings
--------------------------------------------
same as above, but DefaultConnection is copied from Azure SQL Database
WebApp and SQL Server
---------------------
Notes:
1. webapp create -name MSDNOvaryVisWebApp must be unique as it forms part of the website's URL
2. sql server create --name msdnovaryvisdbsvr must be unique as it is publically accessible and can only be made up of lowercase letters 'a'-'z', the numbers 0-9 and the hyphen. The hyphen may not lead or trail in the name
3. Take note of the database server name ( msdnovaryvisdbsvr.database.windows.net) as it is needed when using MSSMS to connect with your Azure database
4. az sql server firewall-rule create --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0 allows access to Azure Services - see switch in msdnovaryvisdbsvr - Firewalls and virtual netwworks
5. az sql server firewall-rule create --start-ip-address AAA --end-ip-address AAA where AAA is the IP address of your local PC. This allows you to use MSSMS to access the Azure database server, but the rule needs to be updated if your IP address changes - mine does each day.
6. Copy the result of az sql db shown-connection-string and replace <username> with XXX and <password> with YYY before issuing az webapp config connection-string set
Server=tcp:msdnovaryvisdbsvr.database.windows.net,1433;Database=Msdn.OvaryVisDb;User ID=<username>;Password=<password>;Encrypt=true;Connection Timeout=30;
7. When debugging set local connection string if local DB is needed 'Server=(localdb)\\mssqllocaldb;Database=Msdn.OvaryVisDb;Trusted_Connection=True;MultipleActiveResultSets=true'
Commands:
az account set --subscription MsdnOvaryVis
az group create --name resMSDNOvaryVis --location "WestEurope"
az appservice plan create --name MSDNOvaryVisPlan --resource-group resMSDNOvaryVis --location "WestEurope" --sku FREE
az webapp create --name MSDNOvaryVisWebApp --plan MSDNOvaryVisPlan --resource-group resMSDNOvaryVis
az sql server create --name msdnovaryvisdbsvr --resource-group resMSDNOvaryVis --location "WestEurope" --admin-user XXX --admin-password YYY
az sql server firewall-rule create --server msdnovaryvisdbsvr --resource-group resMSDNOvaryVis --name AllowMyPC --start-ip-address AAA --end-ip-address AAA
az sql server firewall-rule create --server msdnovaryvisdbsvr --resource-group resMSDNOvaryVis --name AllowAzure --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0
az sql db create --server msdnovaryvisdbsvr --resource-group resMSDNOvaryVis --name Msdn.OvaryVisDb --service-objective Basic
az sql db show-connection-string --name Msdn.OvaryVisDb --server msdnovaryvisdbsvr --client ado.net --output tsv
az webapp config connection-string set --connection-string-type SQLAzure --name MSDNOvaryVisWebApp --resource-group resMSDNOvaryVis --settings DefaultConnection='Server=tcp:msdnovaryvisdbsvr.database.windows.net,1433;Database=Msdn.OvaryVisDb;User ID=XXX;Password=YYY;Encrypt=true;Connection Timeout=30;'
Azure Functions and ServiceBus Queue
------------------------------------
Notes:
1. Use same --resource-group and --location as for WebApp and SQL Server
2. servicebus namespace --name must be unique as it is publically accessible
3. manually set the defaultconnection string for database - copy from webapp
3. Do not issue az functionapp start until AFTER publishing your Azure Function Project from Visual Studio - the Azure Function must be stopped for publishing to succeed
Commands:
replace MMM with Primary connection string for Service Bus Queue
az account set --subscription MsdnOvaryVis
az servicebus namespace create --name MSDNOvaryVisSBQ --location "WestEurope" --resource-group resMSDNOvaryVis --sku Basic
az servicebus queue create --name dimsubmission --namespace-name MSDNOvaryVisSBQ --resource-group resMSDNOvaryVis --max-size 1024
az storage account create --name msdnovaryvisstorageac --resource-group resMSDNOvaryVis --location "WestEurope" --sku Standard_LRS
az functionapp create --name MSDNOvaryVisFnApp --resource-group resMSDNOvaryVis --storage-account msdnovaryvisstorageac --consumption-plan-location westeurope
az functionapp stop --name MSDNOvaryVisFnApp --resource-group resMSDNOvaryVis
az functionapp config appsettings set --name MSDNOvaryVisFnApp --resource-group resMSDNOvaryVis --settings 'AzureServiceBusQueueName=dimsubmission'
az functionapp config appsettings set --name MSDNOvaryVisFnApp --resource-group resMSDNOvaryVis --settings 'AzureWebJobsServiceBus=MMM'
az functionapp config appsettings set --name MSDNOvaryVisFnApp --resource-group resMSDNOvaryVis --settings 'FUNCTIONS_EXTENSION_VERSION=~1'
use Azure Portal to set MSDNOvaryVisFnApp's connection string as DefaultConnection 'Server=tcp:msdnovaryvisdbsvr.database.windows.net,1433;Database=Msdn.OvaryVisDb;User ID=XXX;Password=YYY;Encrypt=true;Connection Timeout=30;'
az webapp config appsettings set --name MSDNOvaryVisWebApp --resource-group resMSDNOvaryVis --settings 'OvaryVisServiceBus:QueueName=dimsubmission'
az webapp config appsettings set --name MSDNOvaryVisWebApp --resource-group resMSDNOvaryVis --settings 'OvaryVisServiceBus:Connection=MMM'
[wait until after publishing from Visual Studio]
az functionapp start --name MSDNOvaryVisFnApp --resource-group resMSDNOvaryVis
[end]