銷售: 1-800-867-1380

列出雲端服務

更新日期: 2014年8月

List Cloud Services 作業會列出指定的訂閱底下可用的雲端服務。

請使用下列格式指定 List Cloud Services 要求。以您的訂用帳戶識別碼取代 <subscription-id>

 

方法 要求 URI

GET

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

您必須確定對管理服務發出的要求是安全的。如需其他詳細資訊,請參閱驗證服務管理要求

無。

下表描述要求標頭。

 

要求標頭 描述

x-ms-version

必要項。指定用於這個要求的作業版本。此標頭應該設定為 2009/10/1 或更高版本。如需版本設定標頭的詳細資訊,請參閱服務管理版本設定

x-ms-continuation-token

選擇性。指定當要列出的雲端服務比分配時間內能傳回的數目還多時,可讓您取得回應之剩餘部分的接續 Token。此 Token 的值是在前一個回應標頭中傳回,且只有在需要列出其他雲端服務時才會傳回。

無。

回應包括 HTTP 狀態碼、一組回應標頭和回應主體。

成功的作業會傳回狀態碼 200 (確定)。如需狀態碼的資訊,請參閱<服務管理狀態和錯誤碼>。

這項作業的回應包括下列標頭。回應也可能包括其他標準 HTTP 標頭。所有標準標頭都符合 HTTP/1.1 通訊協定規格

 

回應標頭 描述

x-ms-request-id

指定唯一識別對管理服務發出之要求的值。

x-ms-continuation-token

指定當要列出的雲端服務比分配時間內能傳回的數目還多時,可讓您取得回應之剩餘部分的接續 Token。如果訂閱中存在大量雲端服務,則無法在單一回應中列出所有雲端服務。您可以在後續作業要求中,於此標頭中使用 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

描述

指定雲端服務的描述。

必須使用 2012/3/1 版或更高版本,才能使用 Description 元素。

AffinityGroup

指定與這個雲端服務相關聯的同質群組 (如果有的話)。如果服務與同質群組相關聯,就不會傳回 Location 元素。

必須使用 2012/3/1 版或更高版本,才能使用 AffinityGroup 元素。

位置

指定當 Azure 中的雲端服務未與任何同質群組相關聯時,該服務的地理位置。如果指定位置,就不會傳回 AffinityGroup 元素。

必須使用 2012/3/1 版或更高版本,才能使用 Location 元素。

Label

指定雲端服務的 Base-64 編碼識別項。此識別項可讓您用來進行追蹤。

必須使用 2012/3/1 版或更高版本,才能使用 Label 元素。

狀態

指定雲端服務的狀態。可能的值為:

  • Creating

  • Created

  • Deleting

  • Deleted

  • Changing

  • ResolvingDns

必須使用 2012/3/1 版或更高版本,才能使用 Status 元素。

DateCreated

指定雲端服務的建立日期,格式為 [4DigitYear]-[2DigitMonth]-[2DigitDay]T[2DigitHour]:[2DigitMinute]:[2DigitSecond]Z。2011-05-11T16:15:26Z 日期是 DateCreatedDateLastModified 元素可能會傳回的範例。

必須使用 2012/3/1 版或更高版本,才能使用 DateCreated 元素。

DateLastModified

指定雲端服務的上次更新日期,格式為 [4DigitYear]-[2DigitMonth]-[2DigitDay]T[2DigitHour]:[2DigitMinute]:[2DigitSecond]Z。2011-05-11T16:15:26Z 日期是 DateCreatedDateLastModified 元素可能會傳回的範例

必須使用 2012/3/1 版或更高版本,才能使用 DateLastModified 元素。

名稱

指定雲端服務擴充屬性的名稱。每個擴充屬性都必須具有已定義的名稱和值。您最多可以定義 50 個擴充屬性。

必須使用 2012/3/1 版或更高版本,才能使用 Name 元素。

代表擴充雲端服務屬性的值。擴充屬性值的長度最多可達 255 個字元。

必須使用 2012/3/1 版或更高版本,才能使用 Value 元素。

ReverseDnsFqdn

選擇性。指定在使用反向 DNS 進行查詢時,雲端服務的 IP 位址所解析成的 DNS 位址。

必須使用 2014/6/1 版或更高版本,才能使用 ReverseDnsFqdn 元素。

DefaultWinRMCertificateThumbprint

指定與 WinRM 進行安全連接的預設憑證。如果部署虛擬機器至雲端服務時未針對 WinRM 指定憑證指紋,便會自動建立憑證並將其憑證指紋列為這個元素的值。如需有關定義 WinRM 的詳細資訊,請參閱建立虛擬機器部署加入角色

ComputeCapabilities

指定可供雲端服務中的部署使用的角色大小。可用的角色大小是由雲端服務支援的資源所定義。例如,Web 角色和背景工作角色的部署可用的大小,可能與虛擬機器的部署有所不同。如需有關角色大小的詳細資訊,請參閱Windows Azure 的虛擬機器和雲端服務大小

必須使用 2014/5/1 版或更高版本,才能使用 ComputeCapabilities 元素。

指定可供雲端服務中的部署使用的角色大小。

 

元素名稱 描述

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

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見
顯示:
© 2015 Microsoft