Negli scorsi script abbiamo visto come possiamo utilizzare Azure Resource Manager (ARM) per automatizzare la creazione di risorse Azure. Tutto può essere creato tramite esso ed è molto utile soprattutto per replicare ambienti senza introdurre errori per passaggi manuali.
Tra le risorse utili che ci troviamo spesso ad utilizzare c'è SQL Database, il servizio PaaS di Azure per usare SQL Server in maniera interamente gestita. Per ogni database indichiamo il tier e la dimensione massima che vogliamo e al resto pensa tutto la piattaforma. Ogni database fa parte di un server che, come nelle versioni on premise, racchiude più database anche se dal punto di vista logico e meno dal punto di vista delle risorse. Ogni server ha le sue credenziali e le sue regole di accesso al firewall, perciò quando vogliamo creare un database dobbiamo prima provvedere a creare il server. Con ARM è necessario indicare il nome, la versione e le credenziali del system administrator.
{ "type": "Microsoft.Sql/servers", "apiVersion": "2020-08-01-preview", "name": "[variables('name')]", "location": "[variables('location')]", "kind": "v12.0", "properties": { "administratorLogin": "[concat(parameters('name'), '-sa')]", "administratorLoginPassword": "[parameters('sqlPassword')]", "version": "12.0", "publicNetworkAccess": "Enabled" } }
Nell'esempio vengono usati dei parametri all'ingresso per decidere il nome del server e la password da utilizzare. Contestualmente indichiamo anche che possiamo accedere al server dalla rete pubblica (solo la lista di IP che configureremo) e da Azure stessa.
Successivamente provvediamo alla creazione del database agganciato al server. Le informazioni minime da impostare sono lo SKU e la dimensione massima del database.
{ "type": "Microsoft.Sql/servers/databases", "apiVersion": "2020-08-01-preview", "name": "[concat(parameters('name'), '/', parameters('name'))]", "location": "[variables('location')]", "dependsOn": [ "[resourceId('Microsoft.Sql/servers', parameters('name'))]" ], "sku": { "name": "Standard", "tier": "Standard", "capacity": "20" }, "properties": { "maxSizeBytes": 2147483648 } }
Nell'esempio creiamo un database con lo stesso nome del server con tier di tipo S20, della dimensione massima di 2GB.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sfruttare i tag nell'output cache di ASP.NET Core 7
Utilizzare i primary constructor in C#
Usare il versioning con i controller di ASP.NET Core Web API
Verificare la provenienza di un commit tramite le GitHub Actions
Copiare automaticamente le secret tra più repository di GitHub
Creare form tipizzati con Angular
Montare blob e file share su Azure App Service
Leggere la configurazione da Azure KeyVault con logica di retry in ASP.NET Core
.NET 7 Live Q&A
GitHub <3 .NET
Utilizzare ChatGPT con Azure OpenAI
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
I più letti di oggi
- .NET Conference Italia 2023 - Milano e Online
- Utilizzare database e servizi con gli add-on di Container App
- Evitare la script injection nelle GitHub Actions
- Reactive form tipizzati con modellazione del FormBuilder in Angular
- Eseguire attività basate su eventi con Azure Container Jobs
- Eseguire query verso tipi non mappati in Entity Framework Core
- Utilizzare le collection expression in C#
- Registrare servizi multipli tramite chiavi in ASP.NET Core 8
- Reactive form tipizzati con FormBuilder in Angular