내보내기(0) 인쇄
모두 확장

클라우드 서비스 나열

업데이트 날짜: 2014년 8월

List Cloud Services 작업은 지정된 구독에서 사용할 수 있는 클라우드 서비스를 나열합니다.

다음과 같이 List Cloud Services 요청을 지정할 수 있습니다. <subscription-id>를 구독 ID로 바꾸십시오.

 

방법 요청 URI

GET

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

관리 서비스에 대한 요청이 안전한지 확인해야 합니다. 자세한 내용은 서비스 관리 요청 인증을 참조하십시오.

다음 표에서는 요청 헤더에 대해 설명합니다.

 

요청 헤더 설명

x-ms-version

필수 사항입니다. 이 요청에 사용할 작업의 버전을 지정합니다. 이 헤더는 2009-10-01 이후로 설정되어야 합니다. 버전 관리 헤더에 대한 자세한 내용은 서비스 관리 버전 관리를 참조하십시오.

x-ms-continuation-token

선택적 요소입니다. 나열할 클라우드 서비스가 할당된 시간에 반환할 수 있는 것보다 많은 경우 나머지 응답을 가져올 수 있도록 연속 토큰을 지정합니다. 이 토큰의 값은 이전 응답의 헤더에서 반환되며, 추가 클라우드 서비스를 나열해야 하는 경우에만 반환됩니다.

없음.

응답에는 HTTP 상태 코드, 응답 헤더 집합 및 응답 본문이 포함되어 있습니다.

작업에 성공하면 상태 코드 200(정상)이 반환됩니다. 상태 코드에 대한 자세한 내용은 서비스 관리 상태 및 오류 코드를 참조하십시오.

이 작업의 응답에는 다음과 같은 헤더가 포함됩니다. 응답에는 추가 표준 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>
        <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>

다음 표에서는 응답 본문의 요소에 대해 설명합니다.

 

요소 이름 설명

Url

클라우드 서비스에 대한 정보를 가져오는 데 사용되는 요청 URI를 지정합니다.

ServiceName

클라우드 서비스의 이름을 지정합니다. 이 이름은 DNS 접두사 이름이며 서비스에 액세스하는 데 사용할 수 있습니다.

예를 들어 서비스 이름이 MyService인 경우 http://MyService.cloudapp.net을 호출하여 서비스에 액세스할 수 있습니다.

설명

클라우드 서비스의 설명을 지정합니다.

Description 요소는 버전 2012-03-01 이후인 경우에만 사용할 수 있습니다.

AffinityGroup

이 클라우드 서비스에 연결되어 있는 선호도 그룹을 지정합니다(있는 경우). 서비스에 선호도 그룹이 연결되어 있으면 Location 요소가 반환되지 않습니다.

AffinityGroup 요소는 버전 2012-03-01 이후인 경우에만 사용할 수 있습니다.

위치

Azure에서 클라우드 서비스의 지리적 위치를 지정합니다(클라우드 서비스에 선호도 그룹이 연결되지 않은 경우). 위치가 지정된 경우에는 AffinityGroup 요소가 반환되지 않습니다.

Location 요소는 버전 2012-03-01 이후인 경우에만 사용할 수 있습니다.

Label

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 이후인 경우에만 사용할 수 있습니다.

Name

확장 클라우드 서비스 속성의 이름을 지정합니다. 각 확장 속성에는 정의된 이름과 값이 모두 있어야 합니다. 확장 속성은 50개까지 정의할 수 있습니다.

Name 요소는 버전 2012-03-01 이후인 경우에만 사용할 수 있습니다.

확장 클라우드 서비스 속성의 값을 나타냅니다. 확장 속성 값은 255자까지 가능합니다.

Value 요소는 버전 2012-03-01 이후인 경우에만 사용할 수 있습니다.

ReverseDnsFqdn

선택적 요소입니다. 역방향 DNS 쿼리를 사용하여 쿼리할 때 클라우드 서비스의 IP 주소가 확인될 DNS 주소를 지정합니다.

ReverseDnsFqdn 요소는 버전 2014-06-01 이후인 경우에만 사용할 수 있습니다.

DefaultWinRMCertificateThumbprint

WinRM 보안 연결용 기본 인증서를 지정합니다. 가상 컴퓨터가 클라우드 서비스에 배포될 때 인증서 지문이 WinRM에 지정되지 않으면, 인증서가 자동으로 만들어지고 지문이 이 요소의 값으로 나열됩니다. WinRM을 정의하는 방법은 가상 컴퓨터 배포 만들기 또는 역할 추가를 참조하십시오.

ComputeCapabilities

클라우드 서비스의 배포에 사용할 수 있는 역할 크기를 지정합니다. 사용 가능한 역할 크기는 클라우드 서비스에서 지원되는 리소스에 의해 정의됩니다. 예를 들어 웹 역할 및 작업자 역할의 배포에서 사용 가능한 크기는 가상 컴퓨터의 배포에서 사용 가능한 크기보다 다를 수 있습니다. 역할 크기에 대한 자세한 내용은 Windows Azure를 위한 가상 컴퓨터 및 클라우드 서비스 크기를 참조하세요.

ComputeCapabilities 요소는 버전 2014-05-01 이후인 경우에만 사용할 수 있습니다.

클라우드 서비스의 배포에 사용할 수 있는 역할 크기를 지정합니다.

 

요소 이름 설명

VirtualMachineRoleSizes

RoleSize 요소의 컬렉션을 포함합니다.

WebWorkerRoleSizes

RoleSize 요소의 컬렉션을 포함합니다.

RoleSize

배포 유형에 사용할 수 있는 역할 크기를 지정합니다.

x-ms-version이 2012-03-01 이전인 경우 가상 컴퓨터 배포가 포함된 클라우드 서비스가 반환되지 않습니다.

관리 포털의 클라우드 서비스 섹션을 보면 구독에 있는 클라우드 서비스를 확인할 수 있습니다. Get-AzureService cmdlet을 사용하여 클라우드 서비스의 목록을 가져올 수도 있습니다.

다음 예제 콘솔 프로그램은 구독에 있는 클라우드 서비스를 나열합니다.


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

Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft