列出雲端服務

 

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

選擇項。 指定當要列出的雲端服務比分配時間內能傳回的數目還多時,可讓您取得回應之剩餘部分的接續 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> <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 是可能會傳回範例 DateCreatedDateLastModified 項目。

DateCreated 項目只是使用 2012年-03-01 版或更高版本。

DateLastModified

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

DateLastModified 項目只是使用 2012年-03-01 版或更高版本。

名稱

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

Name 項目只是使用 2012年-03-01 版或更高版本。

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

Value 項目只是使用 2012年-03-01 版或更高版本。

ReverseDnsFqdn

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

ReverseDnsFqdn 項目只是使用 2014年-06-01 版或更高版本。

DefaultWinRMCertificateThumbprint

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

ComputeCapabilities

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

ComputeCapabilities 項目只是使用 2014年-05-01 版或更高版本。

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

元素名稱

說明

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)); } } }
顯示: