匯出 (0) 列印
全部展開

列出雲端服務

更新日期: 2014年5月

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

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

 

方法 要求 URI

GET

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

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

無。

下表描述要求標頭。

 

要求標頭 描述

x-ms-version

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

x-ms-continuation-token

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

無。

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

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

這項作業的回應包括下列標頭。回應也可能包括其他標準 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>
    <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 版或更高版本,才能使用 Description 元素。

AffinityGroup

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

必須使用 2012-03-01 版或更高版本,才能使用 AffinityGroup 元素。

Location

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

必須使用 2012-03-01 版或更高版本,才能使用 Location 元素。

Label

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

必須使用 2012-03-01 版或更高版本,才能使用 Label 元素。

Status

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

  • Creating

  • Created

  • Deleting

  • Deleted

  • Changing

  • ResolvingDns

必須使用 2012-03-01 版或更高版本,才能使用 Status 元素。

DateCreated

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

必須使用 2012-03-01 版或更高版本,才能使用 DateCreated 元素。

DateLastModified

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

必須使用 2012-03-01 版或更高版本,才能使用 DateLastModified 元素。

Name

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

必須使用 2012-03-01 版或更高版本,才能使用 Name 元素。

Value

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

必須使用 2012-03-01 版或更高版本,才能使用 Value 元素。

DefaultWinRMCertificateThumbprint

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

ComputeCapabilities

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

必須使用 2014-05-01 版或更高版本,才能使用 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));
  }
 }
}

顯示:
© 2014 Microsoft