Obtener propiedades de la cuenta de almacenamiento

 

La Get Storage Account Properties operación devuelve las propiedades de sistema para la cuenta de almacenamiento especificada.

Solicitud

El Get Storage Account Properties solicitud se puede especificar como sigue. Reemplace <subscription-id> con su identificador de suscripción y <storage-account-name> con el nombre de la cuenta de almacenamiento.

Método URI de solicitud
GET https://management.core.windows.net/<subscription-id>/services/storageservices/<storage-account-name>

Debe asegurarse de que la solicitud que se realice al servicio de administración sea segura. Para obtener más información, vea autenticar solicitudes de administración de servicios.

Parámetros URI

Ninguna.

Encabezados de solicitud

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. Este encabezado debe establecerse en 2009-10-01 o superior. Para obtener más información acerca de los encabezados de control de versiones, vea versiones de administración de servicios.

Cuerpo de solicitud

Ninguna.

Respuesta

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

Código de estado

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 de administración del servicio y los códigos de Error.

Encabezados de respuesta

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 se ajustan a 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.

Cuerpo de respuesta

El formato del cuerpo de respuesta es el siguiente:

  
<?xml version="1.0" encoding="utf-8"?> <StorageService xmlns="https://schemas.microsoft.com/windowsazure"> <Url>storage-account-request-uri</Url> <ServiceName>storage-account-name</ServiceName> <StorageServiceProperties> <Description>description</Description> <AffinityGroup>affinity-group</AffinityGroup> <Location>location</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> <Endpoint>storage-service-file-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> <AccountType>type-of-storage-account</AccountType> </StorageServiceProperties> <ExtendedProperties> <ExtendedProperty> <Name>property-name</Name> <Value>property-value</Value> </ExtendedProperty> </ExtendedProperties> <Capabilities> <Capability>storage-account-capability</Capability> </Capabilities> </StorageService>  
  

En la tabla siguiente se describen los elementos del cuerpo de respuesta.

Nombre del elemento Descripción
Dirección URL Especifica el URI de la cuenta de almacenamiento.
ServiceName Especifica el nombre de la cuenta de almacenamiento. Este nombre es el nombre del prefijo DNS y se puede utilizar para obtener acceso a blobs, colas y las tablas de la cuenta de almacenamiento.

Por ejemplo, si el nombre del servicio es MyStorageAccount podría tener acceso a los contenedores de blob llamando: http://MyStorageAccount.blob.core.windows.net/mycontainer/
StorageServiceProperties Especifica las propiedades de la cuenta de almacenamiento.
ExtendedProperties Especifica el nombre y el valor de una propiedad extendida que se agregó a la cuenta de almacenamiento.
Capacidad Indica si la cuenta de almacenamiento puede realizar operaciones relacionadas con la máquina virtual. En tal caso, este elemento devuelve una cadena que contiene PersistentVMRole. De lo contrario, este elemento no estará presente.

El Capability elemento sólo está disponible con la versión 2012-03-01 o posterior.

StorageServiceProperties

Especifica las propiedades de la cuenta de almacenamiento.

Nombre del elemento Descripción
Descripción Opcional. Descripción de la cuenta de almacenamiento. La descripción puede tener hasta 1024 caracteres.

El Description elemento sólo está disponible con la versión 2012-03-01 o posterior.
AffinityGroup Requerido si Location no se ha especificado. Nombre de un grupo de afinidad existente asociado a la suscripción. Este nombre es un GUID y se puede recuperar examinando el elemento name del cuerpo de respuesta devuelto por la Enumerar grupos de afinidad operación.

El AffinityGroup elemento sólo está disponible con la versión 2012-03-01 o posterior.
Ubicación Requerido si AffinityGroup no se ha especificado. Ubicación donde se creará la cuenta de almacenamiento.

El Location elemento sólo está disponible con la versión 2012-03-01 o posterior.
Etiqueta Requerido. Nombre del servicio hospedado que está codificado en base 64. El nombre puede tener hasta 100 caracteres. El nombre se puede utilizar para identificar la cuenta de almacenamiento con fines de seguimiento.

El Label elemento sólo está disponible con la versión 2012-03-01 o posterior.
Estado Estado de la cuenta de almacenamiento. Los valores posibles son:

- Creating
- Created
- Deleting
- Deleted
- Changing
- ResolvingDns

El Status elemento sólo está disponible con la versión 2012-03-01 o posterior.
Extremos Extremos de blob, tabla, cola y archivo.

Nota 1: el extremo de archivo está en modo de vista previa y solo se devolverá para suscripciones habilitadas para vista previa.

Nota 2: para el tipo de cuenta Standard_ZRS, solo se devuelve el extremo de blob. Además, ZRS solo admite blobs en bloques, no blobs de página y, por tanto, no es compatible con las máquinas virtuales IaaS.

Nota 3: para el tipo de cuenta Premium_LRS, solo se devuelve el extremo de blob.
GeoReplicationEnabled Indica si los datos de la cuenta de almacenamiento están replicados en más de una ubicación geográfica para habilitar resistencia frente a la pérdida de servicios catastrófica. El valor es true Si la replicación geográfica está habilitada; en caso contrario, false.

El GeoReplicationEnabled elemento sólo está disponible con la versión 2012-03-01 o posterior y se reemplaza por el elemento AccountType con la versión 2014-06-01 o versiones posteriores.
GeoPrimaryRegion Indica la región geográfica primaria en la que la cuenta de almacenamiento existe en este momento.

El GeoPrimaryRegion elemento sólo está disponible con la versión 2012-03-01 o posterior.
StatusOfPrimary Indica si la región de almacenamiento primaria está disponible.

Los valores posibles son:

- Available
- Unavailable

El StatusOfPrimary elemento sólo está disponible con la versión 2013-11-01 o posterior.
LastGeoFailoverTime Marca de tiempo que indica la instancia más reciente de una conmutación por error a la región secundaria. En caso de conmutaciones por error múltiples solo la última fecha y hora de conmutación por error se mantiene.

El formato de marca de tiempo devuelto es: [4DigitYear]-[2DigitMonth]-[2DigitDay]T[2DigitMinute]:[2DigitSecond]:[7DigitsOfPrecision]Z

Por ejemplo: < LastGeoFailoverTime > 2010-01-18T13:15:30.0000000Z < / LastGeoFailoverTime >

LastGeoFailoverTime no se devuelve si no se ha producido una instancia de una conmutación por error.

El LastGeoFailoverTime elemento sólo está disponible con la versión 2012-03-01 o posterior.
GeoSecondaryRegion Indica la región geográfica en la que la cuenta de almacenamiento se está replicando.

El elemento GeoSecondaryRegion no se devuelve si la replicación geográfica está "desactivada" para esta cuenta.

El GeoSecondaryRegion elemento sólo está disponible con la versión 2012-03-01 o posterior.
StatusOfSecondary Indica si la región de almacenamiento secundaria está disponible.

Los valores posibles son:

- Available
- Unavailable

El StatusOfSecondary elemento sólo está disponible con la versión 2013-11-01 o posterior.
CreationTime Especifica la hora a la que se creó la cuenta de almacenamiento.
CustomDomains Especifica los dominios personalizados asociados a la cuenta de almacenamiento.

El CustomDomains elemento sólo está disponible con la versión 2013-06-01 o posterior.
SecondaryReadEnabled Indica que la lectura secundaria está habilitada para la cuenta de almacenamiento.

Los valores posibles son:

- true
- false

El SecondaryReadEnabled elemento sólo está disponible con la versión 2013-11-01 o posterior y se reemplaza por el elemento AccountType con la versión 2014-06-01 o versiones posteriores.
SecondaryEndpoints Especifica los extremos secundarios de la cuenta de almacenamiento.

El SecondaryEndpoints elemento sólo está disponible con la versión 2013-11-01 o posterior.
AccountType Especifica si la cuenta admite almacenamiento con redundancia local, almacenamiento con redundancia geográfica, almacenamiento con redundancia de zona o almacenamiento con redundancia geográfica con acceso de lectura.

Los valores posibles son:

- Standard_LRS
- Standard_ZRS
- Standard_GRS
- Standard_RAGRS
- Premium_LRS

El AccountType elemento sólo está disponible con la versión 2014-06-01 o posterior y reemplaza los elementos SecondaryReadEnabled y GeoReplicationEnabled.

El Premium_LRS elemento sólo está disponible con la versión 2014-10-01 o posterior.

Extremos

Especifica los extremos de la cuenta de almacenamiento.

Nombre del elemento Descripción
de SQL Server Contiene el extremo de servicio de blob en el formato siguiente: https:// <storage-service-name>.blob.core.windows.net

El Endpoint elemento sólo está disponible con la versión 2012-03-01 o posterior. Extremos HTTP, se devuelven con la versión del 01/04/2014 o versiones inferiores.
de SQL Server Contiene el extremo de servicio de cola en el formato siguiente: https:// <storage-service-name>.queue.core.windows.net

El Endpoint elemento sólo está disponible con la versión 2012-03-01 o posterior. Extremos HTTP, se devuelven con la versión del 01/04/2014 o versiones inferiores.
de SQL Server Contiene el extremo de servicio de tabla en el formato siguiente: https://<storage-service-name>.table.core.windows.net

El Endpoint elemento sólo está disponible con la versión 2012-03-01 o posterior. Extremos HTTP, se devuelven con la versión del 01/04/2014 o versiones inferiores.
de SQL Server Contiene el extremo de servicio de archivo en el formato siguiente: https://<storage-service-name>.file.core.windows.net

El Endpoint elemento sólo está disponible con la versión 2012-03-01 o posterior. Extremos HTTP, se devuelven con la versión del 01/04/2014 o versiones inferiores.

CustomDomains

Especifica los dominios personalizados asociados a la cuenta de almacenamiento.

Nombre del elemento Descripción
CustomDomain Especifica la información sobre un dominio personalizado asociado a la cuenta de almacenamiento.
Nombre Especifica el nombre del dominio personalizado.

SecondaryEndpoints

Especifica los extremos secundarios de la cuenta de almacenamiento.

Nombre del elemento Descripción
de SQL Server Contiene el extremo de servicio secundario de blobs con el siguiente formato: https://<storage-secondary-service-name>.blob.core.windows.net

Extremos HTTP, se devuelven con la versión del 01/04/2014 o versiones inferiores.
de SQL Server Contiene el extremo de servicio de cola en el formato siguiente: https://<storage-secondary-service-name>.queue.core.windows.net

Extremos HTTP, se devuelven con la versión del 01/04/2014 o versiones inferiores.
de SQL Server Contiene el extremo de servicio de tabla en el formato siguiente: https://<storage-secondary-service-name>.table.core.windows.net

Extremos HTTP, se devuelven con la versión del 01/04/2014 o versiones inferiores.

ExtendedProperties

Especifica el nombre y el valor de una propiedad extendida que se agregó a la cuenta de almacenamiento.

Nombre del elemento Descripción
Nombre Opcional. Representa el nombre de una propiedad de la cuenta de almacenamiento extendida. Cada propiedad extendida debe tener tanto un nombre como un valor definidos. Puede tener un máximo de 50 pares de valores/nombres de propiedad extendidos.

La longitud máxima del elemento Nombre es de 64 caracteres, solo los caracteres alfanuméricos y caracteres de subrayado son válidos en el Nombre y debe comenzar por una letra. Intentar utilizar otros caracteres, empezando el Nombre con un carácter no alfanumérico, o escribir un nombre idéntico al de otra propiedad extendida propiedad de la misma cuenta de almacenamiento, producirá un error de código de estado 400 (solicitud incorrecta).

El Name elemento sólo está disponible con la versión 2012-03-01 o posterior.
Valor Opcional. Representa el valor de una propiedad de la cuenta de almacenamiento extendida. Cada propiedad extendida debe tener tanto un nombre como un valor definidos. Puede tener un máximo de 50 pares de valores/nombres de propiedad extendidos, y cada valor de propiedad extendido tiene una longitud máxima de 255 caracteres.

El Value elemento sólo está disponible con la versión 2012-03-01 o posterior.

Comentarios

La replicación geográfica se puede habilitar cuando se crea o actualiza una cuenta de almacenamiento.

Si la x-ms-version es 2012-03-01 o posterior y el grupo de afinidad se creó en una de las regiones Anywhere US, Anywhere Europe, Anywhere Asia de las regiones, el Location elemento devolverá la ubicación donde esté asignado este grupo de afinidad.

Ejemplo

El programa de ejemplo siguiente usa el identificador de la suscripción, una huella digital del certificado de administración asociada, la cadena de versión de la operación y un nombre de cuenta de almacenamiento, e imprime las propiedades de cuenta de almacenamiento devueltas a la consola. Inicializar el msVersion, subscriptionId, thumbprint y serviceName las variables con sus propios valores 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; class Program { static void Main(string[] args) { string msVersion = "2011-12-01"; string subscriptionId = "subscription-id-guid"; string thumbprint = "certificate-thumbprint"; string serviceName = "myexamplestorage1"; try { // Obtain the certificate with the specified thumbprint X509Certificate2 certificate = GetCertificate(thumbprint); GetStorageAccountPropertiesExample( subscriptionId, certificate, msVersion, serviceName); } 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 GetStorageAccountPropertiesExample( string subscriptionId, X509Certificate2 certificate, string version, 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 = "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 = "https://schemas.microsoft.com/windowsazure"; XElement storageService = responseBody.Element(wa + "StorageService"); Console.WriteLine( "Storage Account Properties for {0}:{1}{2}", serviceName, Environment.NewLine, storageService.ToString(SaveOptions.OmitDuplicateNamespaces)); } else { Console.WriteLine("Call to GetStorageAccountProperties returned an error:"); Console.WriteLine("Status Code: {0} ({1}):{2}{3}", (int)statusCode, statusCode, Environment.NewLine, responseBody.ToString(SaveOptions.OmitDuplicateNamespaces)); } return; } }