建立雲端服務
本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

建立雲端服務

 

Create Cloud Service 非同步作業會在 Microsoft Azure 中建立新的雲端服務。 如需有關雲端服務和使用它們的詳細資訊,請參閱 什麼是雲端服務?

您必須先建立訂閱並取得訂閱識別碼,才能執行這項作業。 如需有關建立 Azure 訂用帳戶的詳細資訊,請參閱 歡迎使用 Microsoft Azure 您可以從管理入口網站的 [設定] 頁面取得訂閱識別碼。 建立及上傳管理憑證以授權此作業。 如需詳細資訊,請參閱 建立及上傳 Microsoft Azure 的管理憑證

Create Cloud Service 要求的指定方式如下。 取代 <subscription-id> 與您的訂用帳戶 id。

方法

要求 URI

POST

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

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

下表描述要求標頭。

要求標頭

說明

Content-Type

必要項。 此標頭設定為 application/xml

x-ms-version

必要項。 指定用於這個要求的作業版本。 此標頭的值必須設定為 2010年-10-28 或更高版本。 如需有關版本設定標頭的詳細資訊,請參閱 服務管理版本控制

要求主體的格式如下:

<?xml version="1.0" encoding="utf-8"?> <CreateHostedService xmlns="http://schemas.microsoft.com/windowsazure"> <ServiceName>name-of-cloud-service</ServiceName> <Label>base64-encoded-label-of-cloud-service</Label> <Description>description-of-cloud-service</Description> <Location>location-of-cloud-service</Location> <AffinityGroup>name-of-affinity-group</AffinityGroup> <ExtendedProperties> <ExtendedProperty> <Name>name-of-property</Name> <Value>value-of-property</Value> </ExtendedProperty> </ExtendedProperties> <ReverseDnsFqdn>reverse-dns-fqdn</ReverseDnsFqdn> </CreateHostedService>

下表說明要求主體的元素。

元素名稱

說明

ServiceName

必要項。 指定雲端服務的名稱。 此名稱在 Azure 中必須是唯一的。 這個名稱是供用以存取服務的 DNS 首碼名稱。 若要確認名稱的可用性,您可以使用 檢查雲端服務名稱可用性

Label

必要項。 指定雲端服務的 Base-64 編碼識別項。 識別項的長度最多可達 100 個字元。 此標籤可讓您用來進行追蹤。

說明

選擇項。 指定雲端服務的描述。 描述的長度最多可達 1024 個字元。

位置

AffinityGroup 未指定。 指定雲端服務建立所在的位置。

您必須指定 LocationAffinityGroup, ,但不是能兩者並存。 若要查看可用的位置,您可以使用 列出位置

AffinityGroup

Location 未指定。 指定與訂閱相關聯之現有同質群組的名稱。 您必須指定 LocationAffinityGroup, ,但不是能兩者並存。 若要查看可用的同質群組,您可以使用 列出同質群組

名稱

選擇項。 指定雲端服務擴充屬性的名稱。 名稱的長度最多可達 64 個字元、只有英數字元和底線可用於名稱,而且名稱必須以字母當做開頭。 每個擴充屬性都必須具有已定義的名稱和值。 您最多可以定義 50 個擴充屬性。

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

選擇項。 指定雲端服務擴充屬性的值。 擴充屬性值的長度最多可達 255 個字元。

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

ReverseDnsFqdn

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

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

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

成功的作業會傳回狀態碼「201 (已建立)」。 如需狀態碼的相關資訊,請參閱 服務管理狀態和錯誤碼

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

回應標頭

說明

x-ms-request-id

唯一識別對管理服務發出之要求的值。 您可以呼叫非同步作業, 取得作業狀態 以判斷作業已完成之標頭的值、 失敗,還是仍在進行中。

您也可以使用下列資源來建立新的雲端服務:

Next step:

建立了雲端服務之後,下一個步驟就是建立部署。 如需詳細資訊,請參閱下列主題:

下列主控台應用程式範例示範如何建立新的雲端服務。 請取代下列變數值:

  • 指紋 – 以您訂用帳戶中的管理憑證指紋

  • SubscriptionId – 以您從管理入口網站取得的訂閱識別碼

  • ServiceName – 以您想要用於新的雲端服務的名稱

  • 位置 – 以您想要找出雲端服務地理位置

    System_CAPS_note注意事項

    您可以使用 列出位置 取得適當的位置。


using System; using System.Collections.Generic; using System.Xml.Linq; using System.Text; using System.Security.Cryptography.X509Certificates; using System.Net; using System.IO; namespace CreateCloudService { class Program { private static XNamespace wa = "http://schemas.microsoft.com/windowsazure"; private const string Thumbprint = "thumbprint-of-certificate"; private const string SubscriptionId = "identifier-of-subscription"; private const string ServiceName = "name-of-cloud-service"; private const string Location = "location-of-cloud-service"; private const string Version = "2013-08-01"; // 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 for the request string uriFormat = "https://management.core.windows.net/{0}/services/hostedservices"; Uri uri = new Uri(String.Format(uriFormat, SubscriptionId)); // Base-64 encode the label of the cloud service byte[] bytes = System.Text.Encoding.UTF8.GetBytes(ServiceName); string base64Label = Convert.ToBase64String(bytes); // Create the request body XDocument requestBody = new XDocument( new XDeclaration("1.0", "UTF-8", "no"), new XElement(wa + "CreateHostedService", new XElement(wa + "ServiceName", ServiceName), new XElement(wa + "Label", base64Label), new XElement(wa + "Location", Location))); // Submit the request and get the response HttpWebResponse response = InvokeRequest(uri, "POST", requestBody); HttpStatusCode statusCode = response.StatusCode; Console.WriteLine("The status of the operation: {0}", statusCode.ToString()); Console.Write("Press any key to continue:"); Console.ReadKey(); } // Set the request headers and submit the request private static HttpWebResponse InvokeRequest( Uri uri, string method, XDocument requestBody) { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri); request.Method = method; request.Headers.Add("x-ms-version", Version); request.ClientCertificates.Add(Certificate); request.ContentType = "application/xml"; HttpWebResponse response; try { byte[] byteArray = null; byteArray = Encoding.UTF8.GetBytes(requestBody.ToString()); Stream stream = request.GetRequestStream(); stream.Write(byteArray, 0, byteArray.Length); stream.Flush(); stream.Close(); response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { response = (HttpWebResponse)ex.Response; } response.Close(); return response; } // Gets the certificate matching the thumbprint from the local store. // Throws an ArgumentException if a matching certificate is not found. 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)); } } }
顯示:
© 2016 Microsoft