Exportar (0) Imprimir
Expandir todo

Eliminar cuenta de almacenamiento

Actualizado: febrero de 2015

La operación asincrónica Delete Storage Account elimina la cuenta de almacenamiento especificada.

La solicitud Delete Storage Account se puede especificar como sigue. Reemplace <subscription-id> por el identificador de la suscripción y <service-name> por el nombre de la cuenta de almacenamiento.

 

Método URI de solicitud

DELETE

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

Debe asegurarse de que la solicitud que se realice al servicio de administración sea segura. Para obtener detalles adicionales, vea Autenticar solicitudes de administración del servicio.

Ninguno.

La tabla siguiente describe los encabezados de solicitud.

 

Encabezado de solicitud Descripción

x-ms-version

Requerido. Especifica la versión de la operación que se utiliza para esta solicitud. El valor de este encabezado debe establecerse en 01/06/2011 o superior. Para obtener más información acerca de los encabezados de control de versiones, vea Control de versiones de la administración del servicio.

La respuesta incluye un código de estado HTTP, un conjunto de encabezados de respuesta y un cuerpo de respuesta.

Una operación correcta devuelve el código de estado 200 (Correcto). Para obtener información acerca de los códigos de estado, vea Estado y códigos de error de administración del servicio.

La respuesta para esta operación incluye los encabezados siguientes. La respuesta también puede incluir otros encabezados HTTP estándar. Todos los encabezados estándar cumplen la especificación del protocolo HTTP/1.1.

 

Encabezado de respuesta Descripción

x-ms-request-id

Valor que identifica de forma exclusiva una solicitud realizada ante el servicio de administración. Para una operación asincrónica, puede llamar a Obtener estado de la operación con el valor del encabezado para determinar si se ha completado la operación, ha generado un error o aún está en curso.

Utilice la operación Delete Storage Account para eliminar una cuenta de almacenamiento por nombre. Los datos almacenados en una cuenta de almacenamiento eliminada no se pueden recuperar, y otros usuarios pueden adoptar los nombres de cuenta de almacenamiento que se han eliminado.

El programa de ejemplo siguiente usa el identificador de la suscripción, una huella digital del certificado de administración asociada, la versión de la operación y un nombre de cuenta de almacenamiento, y llama a la operación Delete Storage Account para eliminar la cuenta de almacenamiento. Inicializa la constante Version con una cadena de encabezado de la versión, SubscriptionId con el identificador GUID para la suscripción, Thumbprint con el valor de huella digital del certificado de administración y ServiceName con el nombre de la cuenta de almacenamiento que se va a eliminar para ejecutar el código de ejemplo.

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

Este programa de ejemplo genera resultados similares a los siguientes:

Storage Account myexamplestorage1 deleted.
Press any key to continue:

Mostrar:
© 2015 Microsoft