Exporter (0) Imprimer
Développer tout

Utilisation du stockage local pour stocker des fichiers au démarrage

Mis à jour: mai 2014

Vous pouvez utiliser une ressource de stockage local pour stocker les fichiers qui sont créés par votre tâche de démarrage et auxquels votre application accédera ultérieurement.

Pour utiliser une ressource de stockage local dans votre tâche de démarrage, vous devez créer un élément LocalStorage dans votre fichier ServiceDefinition.csdef, puis créer une variable d'environnement pour référencer l'emplacement de la ressource de stockage local. La tâche de démarrage et l'application pourront alors lire et écrire des fichiers dans la ressource de stockage local.

Pour créer la ressource de stockage local, vous devez modifier le fichier ServiceDefinition.csdef. Ajoutez une section LocalResources au fichier ServiceDefinition.csdef s'il n'existe pas de section LocalResources. Ajoutez ensuite l'élément LocalStorage dans la section LocalResources. Donnez à la ressource de stockage local un nom unique et une taille adaptée à votre tâche de démarrage. Dans cet exemple, le nom unique est StartupLocalStorage.

Pour créer la variable d'environnement qui référencera l'emplacement de stockage local, ajoutez une section Environment et une section Variable à la section Startup du fichier ServiceDefinition.csdef. L'élément Variable doit avoir un nom unique pour la variable d'environnement qui sera utilisée dans la tâche de démarrage. Dans cet exemple, la variable d'environnement est nommée PathToStartupStorage.

Dans la section Variable du fichier ServiceDefinition.csdef, ajoutez l'élément RoleInstanceValue. L'attribut xPath doit utiliser le même nom unique pour la ressource de stockage local que celui référencé dans l'élément LocalStorage. Le nom unique de la ressource de stockage local doit se situer après @name= et être encadré par des guillemets simples. Dans cet exemple, l'attribut xPath est "/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='StartupLocalStorage']/@path" et contient le nom de la ressource de stockage local StartupLocalStorage.

Les sections pertinentes du fichier ServiceDefinition.csdef sont indiquées ici :

    <!-- Create the Local Storage used by the startup task. -->
    <LocalResources>
      <LocalStorage name="StartupLocalStorage" sizeInMB="5"/>
    </LocalResources>
    
    <Startup>
      <Task commandLine="Startup.cmd" executionContext="limited" taskType="simple">
        <Environment>
          
          <!-- Create the environment variable that informs the startup task where to find its Local 
               Storage. %PathToStartupStorage% resolves to the fully qualified path to the location 
               of the Local Storage.-->
          <Variable name="PathToStartupStorage">
            <RoleInstanceValue xpath="/RoleEnvironment/CurrentInstance/LocalResources/LocalResource[@name='StartupLocalStorage']/@path" />
          </Variable>
          
        </Environment>
      </Task>
    </Startup>

Le fichier de commandes Startup.cmd utilise la variable d'environnement PathToStartupStorage pour créer le fichier MyTest.txt à l'emplacement du stockage local, comme indiqué ici :

REM   Create a simple text file.

ECHO This text will go into the MyTest.txt file which will be in the    >  "%PathToStartupStorage%\MyTest.txt"
ECHO path pointed to by the PathToStartupStorage environment variable.  >> "%PathToStartupStorage%\MyTest.txt"
ECHO The contents of the PathToStartupStorage environment variable is   >> "%PathToStartupStorage%\MyTest.txt"
ECHO "%PathToStartupStorage%".                                          >> "%PathToStartupStorage%\MyTest.txt"

REM   Exit the batch file with ERRORLEVEL 0.

EXIT /b 0

Pour accéder à la ressource de stockage local, l'application doit récupérer le chemin d'accès de la méthode GetLocalResource. Il et ensuite possible de lire et d'écrire le contenu de la ressource de stockage local à l'aide d'opérations de lecture et d'écriture de fichier standard. L'exemple suivant montre comment lire le contenu de MyTest.txt à partir de la ressource de stockage local et comment l'afficher sur la page d'accueil d'une application MVC 3 :

using Microsoft.WindowsAzure.ServiceRuntime;
using System;
using System.Text;
using System.Web.Mvc;

namespace StartupExercise.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            string SlsPath = RoleEnvironment.GetLocalResource("StartupLocalStorage").RootPath;

            string s = System.IO.File.ReadAllText(SlsPath + "\\MyTest.txt");

            ViewBag.Message = "Contents of MyTest.txt = " + s;

            return View();
        }
    }
}

Voir aussi

Afficher:
© 2015 Microsoft