Esporta (0) Stampa
Espandi tutto

Eliminare un account di archiviazione

Aggiornamento: aprile 2014

L'operazione Delete Storage Account elimina da Windows Azure l'account di archiviazione specificato.

La richiesta di Delete Storage Account può essere specificata come indicato di seguito. Sostituire <subscription-id> con l'ID sottoscrizione e <service-name> con il nome dell'account di archiviazione.

 

Metodo URI della richiesta Versione HTTP

DELETE

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

HTTP/1.1

Nessuno.

Nella tabella seguente vengono descritte le intestazioni di richiesta obbligatorie e facoltative.

 

Intestazione della richiesta Descrizione

x-ms-version

Obbligatoria. Specifica la versione dell'operazione da utilizzare per questa richiesta. Il valore di questa intestazione deve essere impostato su 2011-06-01 o una versione successiva. Per ulteriori informazioni sulle intestazioni di controllo delle versioni, vedere Controllo delle versioni di gestione del servizio.

Nella risposta sono inclusi un codice di stato HTTP, un set di intestazioni per la risposta e il corpo di una risposta.

Un'operazione completata correttamente restituisce il codice di stato 200 (OK).

Per informazioni sui codici di stato, vedere Codici di stato e di errore relativi alla gestione dei servizi.

Nella risposta per questa operazione sono incluse le intestazioni riportate di seguito; inoltre, possono essere incluse intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.

 

Intestazione della risposta Descrizione

x-ms-request-id

Valore che identifica in modo univoco una richiesta effettuata nel servizio di gestione. Per un'operazione asincrona, è possibile chiamare lo stato di operazione get con il valore dell'intestazione per determinare se l'operazione è completata, non riuscita o in corso. Per ulteriori informazioni, vedere Rilevamento delle richieste asincrone di gestione del servizio.

Per eseguire l'autenticazione di questa operazione, è possibile utilizzare un qualsiasi certificato di gestione associato alla sottoscrizione specificata da <subscription-id>. Per ulteriori dettagli, vedere Autenticazione di richieste di gestione dei servizi.

Utilizzare l'operazione Delete Storage Account per eliminare un account di archiviazione per nome. I dati archiviati in un account di archiviazione eliminato non possono essere recuperati e i nomi di account di archiviazione eliminati possono essere utilizzati da altri utenti.

Il programma di esempio seguente accetta l'ID sottoscrizione, un'identificazione digitale del certificato di gestione associato, la versione dell'operazione e il nome dell'account di archiviazione, quindi chiama l'operazione Delete Storage Account per rimuovere l'account di archiviazione denominato. Per eseguire il codice di esempio inizializzare la costante Version con una stringa dell'intestazione della versione, SubscriptionId con l'identificatore GUID per la sottoscrizione, Thumbprint e il valore di identificazione digitale del certificato di gestione e ServiceName con il nome dell'account di archiviazione da eliminare.

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));
    }
}

Questo programma di esempio genera risultati simili al seguente:

Storage Account myexamplestorage1 deleted.
Press any key to continue:

Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft