Exportar (0) Imprimir
Expandir todo

Enumerar Servicios en la nube

Actualizado: agosto de 2014

La operación List Cloud Services enumera los servicios en la nube disponibles en la suscripción especificada.

La solicitud List Cloud Services se puede especificar como sigue. Reemplazar <subscription-id> con el identificador de suscripción:

 

Método URI de solicitud

GET

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

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.

Ninguna.

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 debería establecerse en 01/10/2009 o posterior. Para obtener más información acerca de los encabezados de control de versiones, vea Control de versiones de la administración del servicio.

x-ms-continuation-token

Opcional. Especifica un token de continuación que le permite obtener un recordatorio de la respuesta cuando aparezcan más servicios en la nube que puedan devolverse en el tiempo asignado. El valor de este token se devuelve en el encabezado de la respuesta anterior y solo se devolverá si es necesario enumerar servicios en la nube adicionales.

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

Especifica un valor que identifica de forma exclusiva una solicitud realizada ante el servicio de administración.

x-ms-continuation-token

Especifica un token de continuación que le permite obtener un recordatorio de la respuesta cuando aparezcan más servicios en la nube que puedan devolverse en el tiempo asignado. Si en la suscripción existe una gran cantidad de servicios en la nube, no se podrán mostrar todos ellos en una única respuesta. Puede usar el token en este encabezado en las solicitudes de operación posteriores hasta que se devuelvan todos los servicios en la nube.

El formato del cuerpo de respuesta es el siguiente:


<?xml version="1.0" encoding="utf-8"?>
  <HostedServices xmlns=”http://schemas.microsoft.com/windowsazure”>
    <HostedService>
      <Url>address-of-cloud-service</Url>
      <ServiceName>name-of-cloud-service</ServiceName>
      <HostedServiceProperties>
        <Description>description-of-cloud-service</Description>
        <AffinityGroup>name-of-affinity-group</AffinityGroup>
        <Location>location-of-cloud-service</Location>
        <Label>label-of-cloud-service</Label>
        <Status>status-of-cloud-service</Status>
        <DateCreated>date-created</DateCreated>
        <DateLastModified>date-modified</DateLastModified>
        <ExtendedProperties>
          <ExtendedProperty>
            <Name>name-of-property-name</Name>
            <Value>value-of-property</Value>
          </ExtendedProperty>
        </ExtendedProperties>
        <ReverseDnsFqdn>reverse-dns-fqdn</ReverseDnsFqdn>
      </HostedServiceProperties>
      <DefaultWinRMCertificateThumbprint>certificate-thumbprint-for-winrm</DefaultWinRMCertificateThumbprint>
      <ComputeCapabilities>
        <VirtualMachineRoleSizes>
          <RoleSize>role-size-name</RoleSize>
        </VirtualMachineRoleSizes>
        <WebWorkerRoleSizes>
          <RoleSize>role-size-name</RoleSize>
        </WebWorkerRoleSizes>
      </ComputeCapabilities>
    </HostedService>
  </HostedServices>

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

 

Nombre del elemento Descripción

Dirección URL

Especifica el URI de solicitud que se usa para obtener información acerca del servicio en la nube.

ServiceName

Especifica el nombre del servicio en la nube. Este nombre es el nombre del prefijo DNS y se puede utilizar para tener acceso al servicio.

Por ejemplo, si el nombre de servicio es MyService puede acceder al servicio llamando a: http://MyService.cloudapp.net

Descripción

Especifica la descripción del servicio en la nube.

El elemento Description solamente se encuentra disponible si utiliza la versión 01/03/2012 o versiones posteriores.

AffinityGroup

Especifica el grupo de afinidad al que está asociado este servicio en la nube, en su caso. Si el servicio está asociado a un grupo de afinidad, el elemento Location no se devuelve.

El elemento AffinityGroup solamente se encuentra disponible si utiliza la versión 01/03/2012 o versiones posteriores.

Ubicación

Especifica la ubicación geográfica del servicio en la nube en Azure, si el servicio no está asociado a un grupo de afinidad. Si se especificó una ubicación, el elemento AffinityGroup no se devuelve.

El elemento Location solamente se encuentra disponible si utiliza la versión 01/03/2012 o versiones posteriores.

Etiqueta

Especifica el identificador codificado en base 64 del servicio en la nube. Este identificador se puede usar con fines de seguimiento.

El elemento Label solamente se encuentra disponible si utiliza la versión 01/03/2012 o versiones posteriores.

Estado

Especifica el estado del servicio en la nube. Los valores posibles son:

  • Creating

  • Created

  • Deleting

  • Deleted

  • Changing

  • ResolvingDns

El elemento Status solamente se encuentra disponible si utiliza la versión 01/03/2012 o versiones posteriores.

DateCreated

Especifica la fecha en que se creó el servicio en la nube, en formato [4DigitYear]-[2DigitMonth]-[2DigitDay]T[2DigitHour]:[2DigitMinute]:[2DigitSecond]Z. La fecha 2011-05-11T16: 15:26Z es un ejemplo que podrían devolver los elementos DateCreated o DateLastModified.

El elemento DateCreated solamente se encuentra disponible si utiliza la versión 01/03/2012 o versiones posteriores.

DateLastModified

Especifica la fecha en que se actualizó por última vez el servicio en la nube, en el formato [4DigitYear]-[2DigitMonth]-[2DigitDay]T[2DigitHour]:[2DigitMinute]:[2DigitSecond]Z. The date 2011-05-11T16:15:26Z is an example that could be returned by the DateCreated or DateLastModified

El elemento DateLastModified solamente se encuentra disponible si utiliza la versión 01/03/2012 o versiones posteriores.

Nombre

Especifica el nombre de una propiedad de servicio en la nube extendida. Cada propiedad extendida debe tener tanto un nombre como un valor definidos. Puede definir 50 propiedades extendidas, como máximo.

El elemento Name solamente se encuentra disponible si utiliza la versión 01/03/2012 o versiones posteriores.

Valor

Representa el valor de una propiedad de servicio en la nube extendida. El valor de la propiedad extendida puede tener una longitud máxima de 255 caracteres.

El elemento Value solamente se encuentra disponible si utiliza la versión 01/03/2012 o versiones posteriores.

ReverseDnsFqdn

Opcional. Especifica la dirección DNS en la que se resuelve la dirección IP del servicio en la nube cuando se envía una consulta mediante una consulta de DNS inversa.

El elemento ReverseDnsFqdn solamente se encuentra disponible si utiliza la versión 01/06/2014 o versiones posteriores.

DefaultWinRMCertificateThumbprint

Especifica el certificado predeterminado de una conexión segura con WinRM. Si no se especifica una huella de certificado para WinRM cuando se implementa una máquina virtual en un servicio en la nube, automáticamente se crea un certificado y la huella aparece como el valor de este elemento. Para obtener más información acerca de cómo definir WinRM, vea Crear una implementación de máquina virtual o Agregar rol.

ComputeCapabilities

Especifica los tamaños de roles disponibles para las implementaciones en el servicio en la nube. Los tamaños de roles disponibles están definidos por los recursos que admite el servicio en la nube. Por ejemplo, las implementaciones de roles web y roles de trabajo pueden tener disponibles diferentes tamaños que las implementaciones de Máquinas virtuales. Para obtener más información sobre los tamaños de roles, consulta Tamaños de máquinas virtuales y servicios en la nube de Windows Azure.

El elemento ComputeCapabilities solamente se encuentra disponible si utiliza la versión 01/05/2014 o versiones posteriores.

Especifica los tamaños de roles disponibles para las implementaciones en el servicio en la nube.

 

Nombre del elemento Descripción

VirtualMachineRoleSizes

Contiene una colección de elementos RoleSize.

WebWorkerRoleSizes

Contiene una colección de elementos RoleSize.

RoleSize

Especifica el tamaño de rol disponible para el tipo de implementación.

Si el x-ms-version es anterior a 2012-03-01, no se devolverán los servicios en la nube que contengan implementaciones de la máquina virtual.

Puede ver los servicios en la nube que existen en su suscripción mirando la sección Servicios en la nube del Portal de administración. También puede obtener una lista de servicios en la nube con el cmdlet Get-AzureService.

El programa de ejemplo de consola siguiente enumera los servicios en la nube que existen en una suscripción:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
using System.Security.Cryptography.X509Certificates;
using System.Net;

namespace ListCloudServices
{
  class Program
  {
    private const string Thumbprint = "thumbprint-of-management-certificate";
    private const string SubscriptionId = "subscription-identifier";
    private const string Version = "API-version-number";

    // Gets or sets the certificate that matches the Thumbprint value.
    private static X509Certificate2 Certificate { get; set; }
        
    static void Main(string[] args)
    {
      Certificate = GetStoreCertificate(Thumbprint);
      
      // Create the URI
      string uriFormat = "https://management.core.windows.net/{0}/services/hostedservices";
      Uri uri = new Uri(String.Format(uriFormat, SubscriptionId));
      
      // Submit the request and get the response
      XDocument responseBody;
      HttpWebResponse response = InvokeRequest(uri, "GET", out responseBody);

      HttpStatusCode statusCode = statusCode = response.StatusCode;
      Console.WriteLine("The status of the operation: {0}\n\n", statusCode.ToString());
      Console.WriteLine(responseBody.ToString(SaveOptions.OmitDuplicateNamespaces));
      Console.Write("Press any key to continue:");
      Console.ReadKey();
    }
    // Process the request
    private static HttpWebResponse InvokeRequest(
      Uri uri,
      string method,
      out XDocument responseBody)
    {
      HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
      request.Method = method;
      request.Headers.Add("x-ms-version", Version);
      request.ClientCertificates.Add(Certificate);
      request.ContentType = "application/xml";

      responseBody = null;
      HttpWebResponse response;
      try
      {
        response = (HttpWebResponse)request.GetResponse();
      }
      catch (WebException ex)
      {
        response = (HttpWebResponse)ex.Response;
      }
      XmlReaderSettings settings = new XmlReaderSettings();
      settings.DtdProcessing = DtdProcessing.Ignore;
      if (response.ContentLength > 0)
      {
        using (XmlReader reader = XmlReader.Create(response.GetResponseStream(), settings))
        {
          try
          {
            responseBody = XDocument.Load(reader);
          }
          catch
          {
            responseBody = null;
          }
        }
      }
      response.Close();
      return response;
    }
    
    // Get the certificate
    private static X509Certificate2 GetStoreCertificate(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));
    }
  }
}

Mostrar:
© 2015 Microsoft