Exporter (0) Imprimer
Développer tout

Liste des comptes de stockage

Mis à jour: août 2014

L'opération List Storage Accounts répertorie les comptes de stockage disponibles dans l'abonnement spécifié.

La requête List Storage Accounts peut être spécifiée comme suit. Remplacez <subscription-id> par votre ID d'abonnement.

 

Méthode URI de demande

GET

https://management.core.windows.net/<subscription-id>/services/storageservices

Vous devez vous assurer que la demande adressée au service de gestion est sécurisée. Pour plus de détails, consultez Authentification des demandes de gestion des services.

Le tableau suivant décrit les en-têtes de la demande.

 

En-tête de demande Description

x-ms-version

Obligatoire. Spécifie la version de l'opération à utiliser pour cette demande. Cet en-tête devrait être défini sur 01.10.09 ou une version ultérieure. Pour plus d'informations sur les en-têtes du suivi de version, consultez Contrôle de version du service de gestion.

La réponse inclut un code d'état HTTP, un ensemble d'en-têtes de réponse et un corps de réponse.

Une opération ayant réussi retourne le code d'état 200 (OK).

Pour plus d'informations sur les codes d'état, consultez Codes d'état et d'erreur de la gestion des services.

La réponse de l'opération inclut les en-têtes suivants. La réponse peut aussi inclure des en-têtes HTTP standard supplémentaires. Tous les en-têtes standard sont conformes à la spécification du protocole HTTP/1.1.

 

En-tête de réponse Description

x-ms-request-id

Valeur qui identifie de façon unique une demande effectuée au service de gestion.

Le corps de la réponse présente le format suivant :


<?xml version="1.0" encoding="utf-8"?>
  <StorageServices xmlns=”http://schemas.microsoft.com/windowsazure”>
    <StorageService>
      <Url>storage-service-address</Url>
      <ServiceName>storage-service-name</ServiceName>
      <StorageServiceProperties>
        <Description>description</Description>
        <AffinityGroup>affinity-group</AffinityGroup>
        <Location>location-of-storage-account</Location>
        <Label>base64-encoded-label</Label>
        <Status>status</Status>
        <Endpoints>
          <Endpoint>storage-service-blob-endpoint</Endpoint>
          <Endpoint>storage-service-queue-endpoint</Endpoint>
          <Endpoint>storage-service-table-endpoint</Endpoint>
        </Endpoints>
        <GeoReplicationEnabled>geo-replication-indicator</GeoReplicationEnabled>
        <GeoPrimaryRegion>primary-region</GeoPrimaryRegion>
        <StatusOfPrimary>primary-status</StatusOfPrimary>
        <LastGeoFailoverTime>DateTime</LastGeoFailoverTime>
        <GeoSecondaryRegion>secondary-region</GeoSecondaryRegion>
        <StatusOfSecondary>secondary-status</StatusOfSecondary>
        <CreationTime>time-of-creation</CreationTime>
        <CustomDomains>
          <CustomDomain>
            <Name>name-of-custom-domain</Name>
          </CustomDomain>
        </CustomDomains>
        <SecondaryReadEnabled>secondary-read-indicator</SecondaryReadEnabled>
        <SecondaryEndpoints>
          <Endpoint>storage-secondary-service-blob-endpoint</Endpoint>
          <Endpoint>storage-secondary-service-queue-endpoint</Endpoint>
          <Endpoint>storage-secondary-service-table-endpoint</Endpoint>
        </SecondaryEndpoints>
      </StorageServiceProperties>
      <ExtendedProperties>
        <ExtendedProperty>
          <Name>property-name</Name>
          <Value>property-value</Value>
        </ExtendedProperty>
      </ExtendedProperties>
    </StorageService>
  </StorageServices>

Le tableau suivant décrit les éléments du corps de la réponse.

 

Nom de l'élément Description

Url

Spécifie l'URI du compte de stockage.

ServiceName

Spécifie le nom du compte de stockage. Ce nom est le nom du préfixe DNS et peut être utilisé pour accéder aux objets blob, aux files d'attente, et aux tables dans le compte de stockage.

Par exemple, si le nom du service est MyStorageAccount vous pouvez accéder aux conteneurs d'objets BLOB en appelant : http://MyStorageAccount.blob.core.windows.net/mycontainer/

StorageServiceProperties

Spécifie les propriétés du compte de stockage.

ExtendedProperties

Spécifie le nom et la valeur d'une propriété étendue qui a été ajoutée au compte de stockage.

Spécifie les propriétés du compte de stockage.

 

Nom de l'élément Description

Description

Ce paramètre est facultatif. Description du compte de stockage. La description peut avoir une longueur de 1024 caractères au maximum.

L'élément Description est uniquement disponible si vous utilisez la version 01.03.12 ou une version ultérieure.

AffinityGroup

Requis si Location n'est pas spécifié. Nom d'un groupe d'affinités existant associé à cet abonnement. Ce nom est un GUID et peut être récupéré en examinant l'élément de nom du corps de la réponse retournée par l'opération Liste des groupes d'affinités.

L'élément AffinityGroup est uniquement disponible si vous utilisez la version 01.03.12 ou une version ultérieure.

Emplacement

Requis si AffinityGroup n'est pas spécifié. Emplacement où le compte de stockage est créé.

L'élément Location est uniquement disponible si vous utilisez la version 01.03.12 ou une version ultérieure.

Label

Obligatoire. Nom du service hébergé qui est codé en base 64. Le nom peut avoir une longueur de 100 caractères au maximum. Le nom peut être utilisé pour identifier le compte de stockage à des fins de suivi.

L'élément Label est uniquement disponible si vous utilisez la version 01.03.12 ou une version ultérieure.

État

État du compte de stockage. Les valeurs possibles sont les suivantes :

  • Creating

  • Created

  • Deleting

  • Deleted

  • Changing

  • ResolvingDns

L'élément Status est uniquement disponible si vous utilisez la version 01.03.12 ou une version ultérieure.

Points de terminaison

Spécifie les points de terminaison du compte de stockage.

GeoReplicationEnabled

Indique si les données dans le compte de stockage sont répliquées entre plusieurs emplacements géographiques pour permettre la résilience en cas de perte catastrophique de service. La valeur est true si la géo-réplication est activée ; sinon false.

L'élément GeoReplicationEnabled est uniquement disponible si vous utilisez la version 01.03.12 ou une version ultérieure.

GeoPrimaryRegion

Indique la région géographique principale dans laquelle le compte de stockage existe à l'heure actuelle.

L'élément GeoPrimaryRegion est uniquement disponible si vous utilisez la version 01.03.12 ou une version ultérieure.

StatusOfPrimary

Indique si la région de stockage principale est disponible.

Les valeurs possibles sont les suivantes :

  • Available

  • Unavailable

L'élément StatusOfPrimary est uniquement disponible si vous utilisez la version 01.11.13 ou une version ultérieure.

LastGeoFailoverTime

Horodateur qui indique l'instance la plus récente d'un basculement sur la région secondaire. En cas de plusieurs basculements, seules la dernière date et heure de basculement sont conservées.

Le format de l'horodatage renvoyé est : [Année en 4 chiffres] - [Mois en 2 chiffres] - [Jour en 2 chiffres] T [Minutes en 2 chiffres] : [Secondes en 2 chiffres] : [7 chiffres de précision] Z

Par exemple : <LastGeoFailoverTime>2010-01-18T13:15:30.0000000Z</LastGeoFailoverTime>

LastGeoFailoverTime n'est pas retourné s'il n'existe aucune instance d'un basculement.

L'élément LastGeoFailoverTime est uniquement disponible si vous utilisez la version 01.03.12 ou une version ultérieure.

GeoSecondaryRegion

Indique la région géographique dans laquelle le compte de stockage est répliqué.

L'élément GeoSecondaryRegion n'est pas retourné si la géo-réplication est désactivée pour ce compte.

L'élément GeoSecondaryRegion est uniquement disponible si vous utilisez la version 01.03.12 ou une version ultérieure.

StatusOfSecondary

Indique si la région de stockage secondaire est disponible.

L'élément StatusOfSecondary est uniquement disponible si vous utilisez la version 01.11.13 ou une version ultérieure.

Les valeurs possibles sont les suivantes :

  • Available

  • Unavailable

CreationTime

Spécifie l'heure de création du compte de stockage.

CustomDomains

Spécifie les domaines personnalisés qui sont associés au compte de stockage.

L'élément CustomDomains est uniquement disponible si vous utilisez la version 2013-06-01 ou une version ultérieure.

SecondaryReadEnabled

Indique que la lecture secondaire est activée pour le compte de stockage.

Les valeurs possibles sont les suivantes :

  • true

  • false

L'élément SecondaryReadEnabled est uniquement disponible si vous utilisez la version 01.11.13 ou une version ultérieure.

SecondaryEndpoints

Spécifie les points de terminaison secondaires du compte de stockage.

L'élément SecondaryEndpoints est uniquement disponible si vous utilisez la version 01.11.13 ou une version ultérieure.

Spécifie les points de terminaison du compte de stockage.

 

Nom de l'élément Description

Point de terminaison

Contient le point de terminaison du service BLOB au format suivant : https://<storage-service-name>.blob.core.windows.net

L'élément Endpoint est uniquement disponible si vous utilisez la version 01.03.12 ou une version ultérieure. Les points de terminaison HTTP renvoyés affichent une version 2014-04-01 ou antérieure.

Point de terminaison

Contient le point de terminaison du service de File d'attente au format suivant : https://<storage-service-name>.queue.core.windows.net

L'élément Endpoint est uniquement disponible si vous utilisez la version 01.03.12 ou une version ultérieure. Les points de terminaison HTTP renvoyés affichent une version 2014-04-01 ou antérieure.

Point de terminaison

Contient le point de terminaison du service de Table au format suivant : https://<storage-service-name>.table.core.windows.net

L'élément Endpoint est uniquement disponible si vous utilisez la version 01.03.12 ou une version ultérieure. Les points de terminaison HTTP renvoyés affichent une version 2014-04-01 ou antérieure.

Spécifie les domaines personnalisés qui sont associés au compte de stockage.

 

Nom de l'élément Description

CustomDomain

Spécifie des informations sur un domaine personnalisé qui est associé au compte de stockage.

Nom

Spécifie le nom du domaine personnalisé.

Spécifie les points de terminaison secondaires du compte de stockage.

 

Nom de l'élément Description

Point de terminaison

Contient le point de terminaison du service BLOB secondaire au format suivant : https://<storage-secondary-service-name>.blob.core.windows.net

Les points de terminaison HTTP renvoyés affichent une version 2014-04-01 ou antérieure.

Point de terminaison

Contient le point de terminaison du service de File d'attente au format suivant : https://<storage-secondary-service-name>.queue.core.windows.net

Les points de terminaison HTTP renvoyés affichent une version 2014-04-01 ou antérieure.

Point de terminaison

Contient le point de terminaison du service de Table au format suivant : https://<storage-secondary-service-name>.table.core.windows.net

Les points de terminaison HTTP renvoyés affichent une version 2014-04-01 ou antérieure.

Spécifie le nom et la valeur d'une propriété étendue qui a été ajoutée au compte de stockage.

 

Nom de l'élément Description

Nom

Ce paramètre est facultatif. Représente le nom d'une propriété étendue du compte de stockage. Chaque propriété étendue doit avoir un nom et une valeur définis. Il peut y avoir un maximum de 50 paires nom/valeur de propriété étendue.

La longueur maximale de l'élément Nom est de 64 caractères, seuls les caractères alphanumériques et les traits de soulignement sont valides dans Nom, et le nom doit commencer par une lettre. Toute tentative d'utiliser d'autres caractères, en commençant le Nom par un caractère autre qu'une lettre, ou en entrant un nom qui est identique à celui d'une autre propriété étendue détenue par le même compte de stockage, provoque une erreur de code d'état 400 (erreur de mauvaise demande).

L'élément Name est uniquement disponible si vous utilisez la version 01.03.12 ou une version ultérieure.

Valeur

Ce paramètre est facultatif. Représente la valeur d'une propriété étendue du compte de stockage. Chaque propriété étendue doit avoir un nom et une valeur définis. Vous pouvez avoir 50 paires nom/valeur de propriété étendue au maximum, et chaque valeur de propriété étendue doit avoir une taille maximale de 255 caractères.

L'élément Value est uniquement disponible si vous utilisez la version 01.03.12 ou une version ultérieure.

Si x-ms-version est 2012-03-01 ou une version ultérieure et le groupe d'affinités a été créé dans l'une des régions Anywhere US, Anywhere Europe, Anywhere Asia déconseillées, l'élément Location retourne l'emplacement où le groupe d'affinités est désormais alloué.

L'opération List Storage Accounts peut être utilisée pour obtenir les URI à utiliser pour d'autres opérations sur les comptes de stockage, par exemple Obtenir les propriétés du compte de stockage, Obtenir des clés de compte de stockage, Supprimer un compte de stockage et Mettre à jour un compte de stockage.

L'exemple de programme suivant prend l'ID d'abonnement, une empreinte numérique de certificat de gestion associée et la chaîne de version d'opération, et affiche la liste des comptes de stockage sur la console. remplacez les variables msVersion, subscriptionId et thumbprint avec vos propres valeurs pour exécuter l'exemple de code. Cet exemple utilise x-ms-version 2011-10-01.

using System;
using System.Collections.Generic;
using System.Net;
using System.Security.Cryptography.X509Certificates;
using System.Xml;
using System.Xml.Linq;
 
class Program
{
  static void Main(string[] args)
  {
    string msVersion = "2011-10-01";
    string subscriptionId = "subscription-id-guid";
    string thumbprint = "certificate-thumbprint";
    try
    {
      // Obtain the certificate with the specified thumbprint
      X509Certificate2 certificate = GetCertificate(thumbprint);
      ListStorageAccountsExample(subscriptionId, certificate, msVersion);
    }
    catch (Exception ex)
    {
      Console.WriteLine("Exception caught in Main:");
      Console.WriteLine(ex.Message);
    }
  }
 
  public static X509Certificate2 GetCertificate(string thumbprint)
  {
    List<StoreLocation> locations = new List<StoreLocation> 
      { StoreLocation.CurrentUser, StoreLocation.LocalMachine };
 
    foreach (var location in locations)
    {
      X509Store store = new X509Store("My", location);
      try
      {
        store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
        X509Certificate2Collection certificates = store.Certificates.Find(
          X509FindType.FindByThumbprint, thumbprint, false);
        if (certificates.Count == 1)
        {
          return certificates[0];
        }
      }
      finally
      {
        store.Close();
      }
    }
    throw new ArgumentException(string.Format(
      "A certificate with thumbprint '{0}' could not be located.",
      thumbprint));
  }
 
  public static void ListStorageAccountsExample(
    string subscriptionId,
    X509Certificate2 certificate,
    string version)
  {
    string uriFormat = "https://management.core.windows.net/{0}/services/storageservices";
    Uri uri = new Uri(String.Format(uriFormat, subscriptionId));
 
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
    request.Method = "GET";
    request.Headers.Add("x-ms-version", version);
    request.ClientCertificates.Add(certificate);
    request.ContentType = "application/xml";
 
    XDocument responseBody = null;
    HttpStatusCode statusCode;
    HttpWebResponse response;
    try
    {
      response = (HttpWebResponse)request.GetResponse();
    }
    catch (WebException ex)
    {
      // GetResponse throws a WebException for 400 and 500 status codes
      response = (HttpWebResponse)ex.Response;
    }
    statusCode = response.StatusCode;
    if (response.ContentLength > 0)
    {
      using (XmlReader reader = XmlReader.Create(response.GetResponseStream()))
      {
        responseBody = XDocument.Load(reader);
      }
    }
    response.Close();
    if (statusCode.Equals(HttpStatusCode.OK))
    {
      XNamespace wa = "http://schemas.microsoft.com/windowsazure";
      XElement storageServices = responseBody.Element(wa + "StorageServices");
      int storageCount = 0;
      foreach (XElement storageService in storageServices.Elements(wa + "StorageService"))
      {
        string url = storageService.Element(wa + "Url").Value;
        string serviceName = storageService.Element(wa + "ServiceName").Value;
        Console.WriteLine(
          "Location[{0}]{1}  Name: {2}{1}  DisplayName: {3}",
          storageCount++, Environment.NewLine, url, serviceName);
      }
    }
    else
    {
      Console.WriteLine("Call to List Storage Accounts returned an error:");
      Console.WriteLine("Status Code: {0} ({1}):{2}{3}",
        (int)statusCode, statusCode, Environment.NewLine,
        responseBody.ToString(SaveOptions.OmitDuplicateNamespaces));
    }
    return;
  }
}

Afficher:
© 2014 Microsoft