Exporter (0) Imprimer
Développer tout

Supprimer un compte de stockage

Mis à jour: avril 2014

L'opération Delete Storage Account supprime le compte de stockage spécifié de Windows Azure.

La demande Delete Storage Account peut être spécifiée comme suit. Remplacez <subscription-id> par votre ID d'abonnement et <service-name> par le compte de stockage :

 

Méthode URI de demande Version HTTP

SUPPRIMER

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

HTTP/1.1

Le tableau suivant décrit les en-têtes de demande obligatoires ou facultatifs.

 

En-tête de demande Description

x-ms-version

Obligatoire. Spécifie la version de l'opération à utiliser pour cette demande. La valeur de cet en-tête doit être la version 2011-06-01 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. Pour une opération asynchrone, vous pouvez interroger l'état de l'opération Get avec la valeur de l'en-tête pour déterminer si l'opération est terminée, a échoué, ou est encore en cours. Pour plus d'informations, consultez Suivre les demandes de gestion des services asynchrones.

Tout certificat de gestion associé à l'abonnement spécifié par <subscription-id> peut être utilisé pour authentifier cette opération. Pour plus de détails, consultez la rubrique Authentification des demandes de gestion des services.

Utilisez l'opération Delete Storage Account pour supprimer un compte de stockage par nom. Les données stockées dans un compte de stockage supprimé ne peuvent pas être récupérées, et les noms des comptes de stockage supprimés peuvent être adoptés par d'autres utilisateurs.

L'exemple de programme suivant prend l'identificateur d'abonnement, une empreinte numérique de certificat de gestion associée, la chaîne de version d'opération et un nom de compte de stockage, et appelle l'opération Delete Storage Account pour supprimer le compte de stockage nommé. Remplacez la constante Version par une chaîne d'en-tête de version, SubscriptionId par l'identificateur de GUID pour l'abonnement, Thumbprint par la valeur de votre empreinte numérique de certificat de gestion, et ServiceName par le nom de votre compte de stockage à supprimer, pour exécuter l'exemple de code.

using System;
using System.Collections.Generic;
using System.Net;
using System.Security.Cryptography.X509Certificates;
using System.Xml;
using System.Xml.Linq;
 
public class Program
{
    // Set these constants with your values to run the sample.
    private const string Version = "2011-10-01";
    private const string Thumbprint = "management-certificate-thumbprint";
    private const string SubscriptionId = "subscription-id-guid";
    private const string ServiceName = "storage-account-name";
 
    /// <summary>
    /// Gets or sets the certificate that matches the Thumbprint value.
    /// </summary>
    private static X509Certificate2 Certificate { getset; }
 
    static void Main(string[] args)
    {
        try
        {
            Certificate = GetCertificate(Thumbprint);
 
            DeleteStorageAccount(SubscriptionId, ServiceName);
            Console.WriteLine("Storage Account {0} deleted.", ServiceName);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Exception caught in Main:");
            Console.WriteLine(ex.Message);
        }
 
        Console.Write("Press any key to continue:");
        Console.ReadKey();
    }
 
    /// <summary>
    /// Calls the Delete Storage Account operation in the Service Management
    /// REST API for the specified subscription and storage account name.
    /// Throws an ApplicationException on status code results other than OK.
    /// </summary>
    /// <param name="subscriptionId">The subscription identifier.</param>
    /// <param name="serviceName">The name of the storage account to delete.</param>
    private static void DeleteStorageAccount(
        string subscriptionId,
        string serviceName)
    {
        string uriFormat = "https://management.core.windows.net/{0}/services/storageservices/{1}";
        Uri uri = new Uri(String.Format(uriFormat, subscriptionId, serviceName));
 
        HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
        request.Method = "DELETE";
        request.Headers.Add("x-ms-version", Version);
        request.ClientCertificates.Add(Certificate);
        request.ContentType = "application/xml";
 
        XDocument responseBody = null;
        HttpStatusCode statusCode = HttpStatusCode.Unused;
        HttpWebResponse response;
        try
        {
            response = (HttpWebResponse)request.GetResponse();
        }
        catch (WebException ex)
        {
            // GetResponse throws a WebException for 4XX and 5XX status codes
            response = (HttpWebResponse)ex.Response;
        }
 
        try
        {
            statusCode = response.StatusCode;
            if (response.ContentLength > 0)
            {
                using (XmlReader reader = XmlReader.Create(response.GetResponseStream()))
                {
                    responseBody = XDocument.Load(reader);
                }
            }
        }
        finally
        {
            response.Close();
        }
 
        if (!statusCode.Equals(HttpStatusCode.OK))
        {
            throw new ApplicationException(string.Format(
                "Call to {0} returned an error:{1}Status Code: {2} ({3}):{1}{4}",
                uri.ToString(),
                Environment.NewLine,
                (int)statusCode,
                statusCode,
                responseBody.ToString(SaveOptions.OmitDuplicateNamespaces)));
        }
 
        return;
    }
 
    /// <summary>
    /// Gets the certificate matching the thumbprint from the local store.
    /// Throws an ArgumentException if a matching certificate is not found.
    /// </summary>
    /// <param name="thumbprint">The thumbprint of the certificate to find.</param>
    /// <returns>The certificate with the specified thumbprint.</returns>
    private 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));
    }
}

Cet exemple de programme génère des résultats similaires à ce qui suit :

Storage Account myexamplestorage1 deleted.
Press any key to continue:

Afficher:
© 2014 Microsoft