Экспорт (0) Печать
Развернуть все

Перечисление облачных служб

Обновлено: Август 2014 г.

Операция List Cloud Services выводит список облачных служб, доступных в указанной подписке.

Запрос List Cloud Services можно указать следующим образом. Замените <subscription-id> идентификатором подписки.

 

Метод URI запроса

GET

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

Необходимо убедиться, что запрос к службе управления безопасен. Дополнительные сведения см. в разделе Authenticating Service Management Requests.

В следующей таблице описаны заголовки запросов.

 

Заголовок запроса Описание

x-ms-version

Обязательно. Задает версию операции, используемой для этого запроса. Этот заголовок должен быть установлен в значение 01.10.09 или на более позднюю дату. Дополнительные сведения об управлении версиями заголовков см. в разделе Работа с версиями при управлении службами.

x-ms-continuation-token

Необязательно. Указывает токен продолжения, позволяющий получить оставшуюся часть ответа, когда можно перечислить больше облачных служб, чем может быть возвращено в отведенное время. Значение этого токена возвращается в заголовке предыдущего ответа и будет возвращаться только в том случае, когда необходимо перечислить дополнительные облачные службы.

Ответ включает код состояния HTTP, набор заголовков ответа и текст ответа.

Успешная операция возвращает код состояния 200 (ОК). Сведения о кодах состояния см. в разделе Service Management Status and Error Codes.

Ответ для этой операции включает следующие заголовки. Ответ может также включать дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют спецификации протокола HTTP/1.1.

 

Заголовок ответа Описание

x-ms-request-id

Указывает значение, которое однозначно идентифицирует запрос к службе управления.

x-ms-continuation-token

Указывает токен продолжения, позволяющий получить оставшуюся часть ответа, когда можно перечислить больше облачных служб, чем может быть возвращено в отведенное время. Если в подписке существует большое количество облачных служб, не все они могут быть перечислены в одном ответе. Можно использовать токен в этом заголовке в последующих запросах операции, пока не будут возвращены все облачные службы.

Текст ответа имеет следующий формат:


<?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>
        <ComputeCapabilities>
          <VirtualMachineRoleSizes>
            <RoleSize>role-size-name</RoleSize>
          </VirtualMachineRoleSizes>
          <WebWorkerRoleSizes>
            <RoleSize>role-size-name</RoleSize>
          </WebWorkerRoleSizes>
        </ComputeCapabilities>
      </HostedServiceProperties>
      <DefaultWinRMCertificateThumbprint>certificate-thumbprint-for-winrm</DefaultWinRMCertificateThumbprint>
    </HostedService>
  </HostedServices>

В следующей таблице описаны элементы текста ответа.

 

Имя элемента Описание

URL-адрес

Задает URI запроса, который используется для получения сведений об облачной службе.

ServiceName

Указывает имя облачной службы. Это имя префикса DNS, оно может использоваться для доступа к службе.

Например, если служба имеет имя MyService, то можно получить доступ с помощью следующего вызова: http://MyService.cloudapp.net

Описание

Указывает описание облачной службы.

Элемент Description доступен только при использовании версии 2012-03-01 или более поздней.

Территориальная группа

Задает территориальную группу сходства, с которой связана эта облачная служба (если она имеется). Если служба связана с территориальной группой, элемент Location не возвращается.

Элемент AffinityGroup доступен только при использовании версии 2012-03-01 или более поздней.

Местоположение

Задает географическое местоположение облачной службы в Azure, если служба не связана с территориальной группой. Если расположение указано, то элемент AffinityGroup не возвращается.

Элемент Location доступен только при использовании версии 2012-03-01 или более поздней.

Метка

Задает идентификатор облачной службы в кодировке base-64. Этот идентификатор можно использовать для отслеживания.

Элемент Label доступен только при использовании версии 2012-03-01 или более поздней.

Состояние

Задает состояние облачной службы. Возможные значения:

  • Creating

  • Created

  • Deleting

  • Deleted

  • Changing

  • ResolvingDns

Элемент Status доступен только при использовании версии 2012-03-01 или более поздней.

DateCreated

Задает дату создания облачной службы в формате [4DigitYear]-[2DigitMonth]-[2DigitDay]T[2DigitHour]:[2DigitMinute]:[2DigitSecond]Z. Дата 2011-05-11T16:15:26Z - пример значения, которое может быть возвращено элементами DateCreated или DateLastModified.

Элемент DateCreated доступен только при использовании версии 2012-03-01 или более поздней.

DateLastModified

Задает дату последнего обновления облачной службы в формате [4DigitYear]-[2DigitMonth]-[2DigitDay]T[2DigitHour]:[2DigitMinute]:[2DigitSecond]Z. Дата 2011-05-11T16:15:26Z - пример значения, которое может быть возвращено элементами DateCreated или DateLastModified.

Элемент DateLastModified доступен только при использовании версии 2012-03-01 или более поздней.

Название

Задает имя расширенного свойства облачной службы. Каждое расширенное свойство должно иметь и заданное имя, и значение. Можно определить самое большее 50 расширенных свойств.

Элемент Name доступен только при использовании версии 2012-03-01 или более поздней.

Значение

Представляет собой значение расширенного свойства облачной службы. Значение расширенного свойства не должно превышать по длине 255 символов.

Элемент Value доступен только при использовании версии 2012-03-01 или более поздней.

DefaultWinRMCertificateThumbprint

Задает сертификат по умолчанию для безопасного соединения с WinRM. Если для WinRM не указан отпечаток сертификата, то при развертывании виртуальной машины в облачной службе сертификат создается автоматически и его отпечаток приводится как значение данного элемента. Дополнительные сведения про определение WinRM см. в разделе Создание развертывания виртуальной машины или Добавление роли.

ComputeCapabilities

Указывает размеры ролей, доступные для развертывания в облачной службе. Доступные размеры ролей определяются ресурсами, которые поддерживаются облачной службой. Например, доступные размеры развертывания веб-ролей и рабочих ролей могут отличаться от размеров развертываний виртуальных машин. Дополнительные сведения о размерах ролей см. в разделе Размеры виртуальных машин и облачных служб в Windows Azure.

Элемент ComputeCapabilities доступен только при использовании версии 01.05.14 или более поздней.

Указывает размеры ролей, доступные для развертывания в облачной службе.

 

Имя элемента Описание

VirtualMachineRoleSizes

Включает в себя коллекцию элементов RoleSize.

WebWorkerRoleSizes

Включает в себя коллекцию элементов RoleSize.

RoleSize

Задает размер роли, доступный для типа развертывания.

Если значение x-ms-version имеет более раннюю версию, чем 2012-03-01, то облачные службы, содержащие развертывания виртуальных машин, не будут возвращены.

В разделе «Облачные службы» портала управления можно видеть службы, существующие в вашей подписке. Список облачных служб также можно получить с использованием командлета Get-AzureService.

В следующем примере консольной программы перечисляются облачные службы, существующие в подписке.


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

Показ:
© 2014 Microsoft