VENDAS: 1-800-867-1389

Criar Serviço de Nuvem

Atualizado: abril de 2014

A operação Create Cloud Service cria um novo serviço de nuvem no Windows Azure. Para obter mais informações sobre os serviços de nuvem e como usá-los, consulte O que é um serviço de nuvem?.

Antes de executar essa operação, você deverá criar uma assinatura e obter o identificador da assinatura. Para obter mais informações sobre a criação de uma assinatura do Windows Azure, consulte Bem-vindo ao Windows Azure. É possível obter o identificador de assinatura na página de Configurações do Portal de Gerenciamento do Windows Azure. Criar e carregar um certificado de gerenciamento para autorizar a operação. Para obter mais informações, consulte Criar e carregar um certificado de gerenciamento para o Windows Azure.

A solicitação Create Cloud Service é especificada como a seguir. Substitua <subscription-id> por sua ID da assinatura. Esta operação usa a versão HTTP 1.1.

 

Método URI de solicitação

POST

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

A tabela a seguir descreve os cabeçalhos da solicitação.

 

Cabeçalho de solicitação Descrição

Content-Type

Obrigatório. Defina esse cabeçalho como application/xml.

x-ms-version

Obrigatório. Especifica a versão da operação a ser usada para esta solicitação. O valor deste cabeçalho deve ser definido como 2010-10-28 ou superior. Para obter mais informações sobre cabeçalhos de controle de versão, consulte Controle de versão de gerenciamento de serviço.

Formato do corpo da solicitação:

<?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>
</CreateHostedService>
ImportantImportante
A ordem dos elementos no corpo de solicitação é importante. Se um elemento for necessário, ele deverá aparecer no XML na ordem mostrada acima.

A tabela a seguir descreve os principais elementos do corpo da solicitação:

 

Nome de elemento

Descrição

ServiceName

Obrigatório. Especifica o nome para o serviço de nuvem. Esse nome deve ser exclusivo no Windows Azure. Esse nome é o nome do prefixo DNS que é usado para acessar o serviço. Para verificar a disponibilidade de um nome, você poderá usar Verificar disponibilidade do nome do serviço de nuvem.

Rótulo

Obrigatório. Especifica o identificador codificado em base 64 do serviço de nuvem. O identificador pode ter até 100 caracteres. O rótulo pode ser usado para suas finalidades de acompanhamento.

Descrição

Opcional. Especifica a descrição do serviço de nuvem. A descrição pode ter até 1024 caracteres.

Local

Obrigatório se AffinityGroup não for especificado. Especifica o local em que o serviço de nuvem é criado.

Você deve especificar Location ou AffinityGroup, mas não ambos. Para ver os locais disponíveis, você poderá usar Listar locais.

AffinityGroup

Obrigatório se Location não for especificado. Especifica o nome de um grupo de afinidade existente associado a essa assinatura. Você deve especificar Location ou AffinityGroup, mas não ambos. Para ver os grupos de afinidade disponíveis, você pode usar Listar grupos de afinidade.

Nome

Opcional. Especifica o nome de uma propriedade estendida do serviço de nuvem. O nome pode ter até 64 caracteres, somente os caracteres alfanuméricos e sublinhados são válidos no nome, e ele deve começar com uma letra. Cada propriedade estendida deve ter um nome e um valor definido. Você pode definir um máximo de 50 propriedades estendidas.

O elemento Name só estará disponível com a versão 2012-03-01 ou superior.

Valor

Opcional. Especifica o valor de uma propriedade estendida do serviço de nuvem. O valor da propriedade estendida pode ter até 255 caracteres.

O elemento Value só estará disponível com a versão 2012-03-01 ou superior.

A resposta inclui um código de status HTTP e um conjunto de cabeçalhos de resposta.

Uma operação bem-sucedida retorna o código de status 201 (Criado). Para obter informações sobre códigos de status, consulte Status de Gerenciamento de Serviço e códigos de erro.

A resposta para esta operação inclui os cabeçalhos a seguir. A resposta também pode incluir cabeçalhos padrão HTTP adicionais. Todos os cabeçalhos padrão obedecem à especificação de protocolo HTTP/1.1.

 

Cabeçalho de resposta Descrição

x-ms-request-id

Um valor que identifica exclusivamente uma solicitação feita no serviço de Gerenciamento. Para uma operação assíncrona, você pode obter o status da operação com o valor do cabeçalho para determinar se a operação foi concluída, se falhou ou se ainda está em andamento. Consulte Controlando solicitações assíncronas de gerenciamento de serviço para obter mais informações.

Qualquer certificado de gerenciamento associado à assinatura especificada por <id-assinatura> pode ser usado para autenticar esta operação. Para obter mais detalhes, consulte Autenticando solicitações do gerenciamento de serviços.

Você também pode usar os seguintes recursos para criar um novo serviço de nuvem:

Next step:

Depois de criar um serviço de nuvem, a próxima etapa será criar uma implantação. Para obter mais informações, consulte o seguinte:

O exemplo de aplicativo de console a seguir mostra como criar um novo serviço de nuvem. Substitua os seguintes valores de variáveis:

  • Impressão digital – com a impressão digital de um certificado de gerenciamento em sua assinatura

  • SubscriptionId – com o identificador da assinatura que você obteve do Portal de Gerenciamento

  • ServiceName – com o nome que você quer usar para o novo serviço de nuvem

  • Local – com o a localização geográfica onde você gostaria de localizar o serviço de nuvem



    noteObservação
    Você pode usar Locais de lista para obter o local apropriado.


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

Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários
Mostrar:
© 2014 Microsoft