Accueil

Articles techniques

A propos de AzureGuru.org

Publier sur AzureGuru.org
 
   Accueil

29
Une des fonctionnalités essentielle et particulièrement utile de Windows Azure est le stockage d'éléments dans un StorageAccount.
Le StorageAccount permet de stocker de manière permanente et fiable des données persistantes dans le Cloud et d'y accéder très simplement.
L'intérêt est réel pour une application Windows standard (déployée en interne - on premise) de pouvoir utiliser un espace de stockage permanent, hautement disponible et partagé pour y stocker des données non confidentielles (fichiers, images, vidéos ...).
Le coût au Giga-octet est environ 60 fois plus faible qu'un stockage dans SQL-Azure...
Nous allons voir dans ce billet comment écrire très simplement une application console minimaliste qui stocke un fichier image local (azure.jpg) dans un blob Azure.

Rappels sur les blobs :

Stockage hiérarchique à trois niveaux pour des données métier et techniques de type quelconque.

Caractéristiques techniques :

  • Compte de stockage : Max 300 To de données, 3Go/s de bande passante, 5000 transactions/s
  • Containers : Nom compatible DNS de 63 caractères max
  • Containers, sécurité d’accès : "Full public read access", "Public read access for blobs only" et "no public read access"
  • Blobs : Nom valide d’Uri de 1024 caractères max, 60 MB/s de bande passante max par blob
  • Page blobs : 1 To max (série de pages de 512 octets)
  • CDN (Réseau de distribution de contenu) : Mise en cache par défaut de 72 heures

Coûts :

  • Stockage : 0,1064 € par Go par mois, 0,0071 € pour 10000 transactions
  • CDN : 0,1064 € par Go transférés depuis Europe et Amérique de nord (sinon 0,1419 €), 0,0071 € pour 10000 transactions
  • Transfert de données : 0,071 € par Go entrant, 0,1064 Go sortant (Europe et Amérique du nord)

Particularités :

  • Blobs : Verrouillage pour accès exclusif en écriture (1 mn renouvelable)
  • Block blobs : Adapté au "streaming" de données
  • Page Blobs : Adapté aux données en lecture/écriture aléatoire, support de stockage du "Windows Azure Drive"
  • Windows Azure drive : Volume NTFS monté sur une VM Azure depuis un "page blob", max 16 drives par VM
  • Sauvegarde et restauration des blobs par génération de "snapshots"
  • Shared access signature : Confère des permissions sélectives sur un container/blob pour une durée limitée.

Etape 1 : Créer un nouveau storage account dans Azure

Une fois connecté sur le portail Azure, il faut dans un premier temps créer un nouveau StorageAccount.

 Il faut choisir une URL unique, prenons par exemple azuregurustorage.



Le StorageAccount est créé avec les url d'accès :

 



Etape 2 : Créer un projet console :

Dans Visual Studio, créer simplement un nouveau projet de type Application console 

Il faut ensuite ajouter les références vers les .dll de Windows azure.
Onglet "Parcourir".
Les .dll se trouvent dans le répertoire : C:\Program Files\Windows Azure SDK\v1.x\ref\
Ajoutez les dll : Microsoft.WindowsAzure.ServiceRuntime.dll et Microsoft.WindowsAzure.StorageClient.dll

Pour accéder simplement aux paramètres du fichier de configuration app.config, vous devez ajouter une référence vers System.Configuration
Onglet ".NET"

Vous devez fixer le framework cible du projet Console à ".NET Framework 4".
(Accessible depuis un clic droit sur le projet et sélectionner "propriétés")

Créer ensuite un fichier de configuration App.config et ajouter la clé "storageAccountConnectionString".
Il faut ensuite ajuster value avec les paramètres du storage account. (AccountName et AccountKey)

L'AccountKey est accessible sur le portail Windows Azure dans le détail du storageAccount (Primary access key)


Voilà, tout est prêt, il vous suffit juste d'écrire le code suivant minimaliste dans votre projet Console pour stocker dans un blob Azure le fichier image local "azure.jpg" :

Et pour vérifier que le blob a bien été créé, on peut accéder à l'image dans Azure via son url publique :



Pour accéder et gérer ses blobs dans le StorageAccount de manière très simple, vous pouvez utiliser l'outil gratuit suivant : CloudXplorer
Enfin pour terminer, vous pouvez télécharger l'ensemble du code source du projet console ci-dessus :
 
 Télécharger le code source du projet

Commentaires

Il n'y a encore aucun commentaire, soyez le premier...

Poster un commentaire

Only registered users may post comments.