Introduction
Le tutorial de copie de données d’un compte de stockage vers Azure SQL nécessite quelques prérequis.
Récemment, j’ai voulu également tester les points de terminaison privés (Private Endpoint) avec Data Factory avec le tutorial de Microsoft qui a les mêmes prérequis que le précédent tutorial.
J’ai donc écrit les quelques lignes nécessaires en Azure CLI (pour varier les plaisirs avec les gabarits ARM).
Il n’est pas nécessaire d’installer Azure CLI sur son poste pour exécuter les commandes. On peut utiliser le Bash d’Azure Cloud Shell. |
Les commandes sont données pour du Bash. Elles sont à adapter si vous utilisez PowerShell. |
Les variables
Les commandes suivantes s’appuient sur des variables pour contextualiser la création des ressources. Certains noms de ressource doivent être global unique — c’est-à-dire unique sur l’ensemble des clients Microsoft — comme le nom du compte de stockage et le nom du serveur SQL. D’autres, comme le nom de la base sont plus flexibles.
# Nom du groupe de ressources
rg="rg-dfy"
# Localisation du groupe de ressources et des ressources associées
location="francecentral"
# Compte de stockage
sa="monstorage"
# Data Factory
dfy="mondfy"
# Nom du serveur SQL
sqlserver="monserveur"
# Mot de passe du serveur SQL
sqlpwd="MonMotdePasseComplexe!"
# Nom de la base de données
sqldb="mydb"
Et tout commença… par un groupe de ressources
az group create -n $rg -l francecentral
Création des ressources
Serveur SQL
On crée ici une base en « Basic ». Il faudra adapter en fonction de la taille souhaitée. |
az sql server create -l $location -g $rg -n $sqlserver -u myadminuser -p $sqlpwd
az sql db create -g $rg -s $sqlserver -n mydb --service-objective Basic
Compte de stockage et conteneurs
Les commandes ci-dessous permettent de créer le compte de stockage et le conteneur.
az storage account create --name $sa \
-g $rg \
--access-tier Hot \
--sku Standard_LRS
cn=`az storage account show-connection-string -g $rg -n $sa -o tsv`
az storage container create \
--account-name $sa \
--name data \
--public-access off \
--connection-string $cn
Data Factory
az extension add --name datafactory
az datafactory factory create --name $dfy \
--resource-group $rg
Conclusion
Une fois les variables définies, il est possible de contruire le lab en moins de 2min30. On voit à quel point Azure CLI est performant dans la création d’un environnement, bien plus que PowerShell dont les cmdlets sont puissantes mais très proches de l’implémentation ARM et donc assez complexe. A ma connaissance, il n’est pas possible de créer une VM en une ligne avec PowerShell alors que c’est possible en Azure CLI.
Personnellement, pour des petits projets, je vais favoriser Azure CLI à ARM, qui malgré tout, reste assez coûteux à écrire et tester.