Création de service cloud
Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Création de service cloud

 

Le Create Cloud Service opération asynchrone crée un service cloud dans Microsoft Azure. Pour plus d'informations sur les services de cloud computing et comment vous pouvez les utiliser, consultez ce qu'est un service en nuage?.

Avant de pouvoir effectuer cette opération, vous devez créer un abonnement et obtenir l'identificateur d'abonnement. Pour plus d'informations sur la création d'un abonnement Azure, consultez Bienvenue dans Microsoft Azure. Vous pouvez récupérer l'identificateur d'abonnement dans la page Paramètres du Portail de gestion. Créez et téléchargez un certificat de gestion pour autoriser l'opération. Pour plus d'informations, consultez créer et télécharger un certificat de gestion de Microsoft Azure.

Le Create Cloud Service demande est spécifiée comme suit. Remplacez <subscription-id> avec votre ID d'abonnement.

Méthode

URI de demande

POST

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

Vous devez vous assurer que la demande adressée au service de gestion est sécurisée. Pour plus d'informations, consultez authentification des demandes de Service de gestion.

Le tableau suivant décrit les en-têtes de la demande.

En-tête de demande

Description

Content-Type

Obligatoire. Définissez cet en-tête sur application/xml.

x-ms-version

Obligatoire. Spécifie la version de l'opération à utiliser pour cette demande. La valeur de cet en-tête doit être définie 2010-10-28 ou une version ultérieure. Pour plus d'informations sur les en-têtes de contrôle de version, consultez Versioning de gestion de Service.

Le corps de la demande présente le format suivant :

<?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>

Le tableau suivant décrit les éléments du corps de la demande.

Nom de l'élément

Description

ServiceName

Obligatoire. Spécifie le nom du service cloud. Ce nom doit être unique dans Azure. Il s'agit du nom du préfixe DNS qui peut être utilisé pour accéder au service. Pour vérifier la disponibilité d'un nom, vous pouvez utiliser Check Cloud Service Name Availability.

Label

Obligatoire. Spécifie l'identificateur encodé en base 64 du service cloud. L'identificateur peut contenir jusqu'à 100 caractères. L'étiquette peut être utilisée pour le suivi.

Description

Facultatif. Spécifie la description du service cloud. La description peut comporter jusqu'à 1 024 caractères.

Emplacement

Requis si AffinityGroup n'est pas spécifié. Spécifie l'emplacement où le service cloud est créé.

Vous devez spécifier Location ou AffinityGroup, mais pas les deux. Pour afficher les emplacements disponibles, vous pouvez utiliser Liste des emplacements.

AffinityGroup

Requis si Location n'est pas spécifié. Spécifie le nom d'un groupe d'affinités existant associé à l'abonnement. Vous devez spécifier Location ou AffinityGroup, mais pas les deux. Pour afficher les groupes d'affinités disponibles, vous pouvez utiliser Liste des groupes d'affinités.

name

Facultatif. Spécifie le nom d'une propriété étendue du service cloud. La longueur maximale du nom est de 64 caractères, seuls les caractères alphanumériques et les traits de soulignement sont valides dans le nom, et celui-ci doit commencer par une lettre. Chaque propriété étendue doit avoir un nom et une valeur définis. Vous pouvez définir un maximum de 50 propriétés étendues.

Le Name élément est uniquement disponible si vous utilisez la version 2012-03-01 ou une version ultérieure.

Valeur

Facultatif. Spécifie la valeur d'une propriété étendue du service cloud. La valeur de la propriété étendue ne doit pas dépasser 255 caractères.

Le Value élément est uniquement disponible si vous utilisez la version 2012-03-01 ou une version ultérieure.

ReverseDnsFqdn

Facultatif. Spécifie l'adresse DNS avec laquelle l'adresse IP du service cloud est résolue lorsqu'il est interrogé à l'aide d'une requête DNS inversée.

Le ReverseDnsFqdn élément est uniquement disponible si vous utilisez la version 2014-06-01 ou une version ultérieure.

La réponse inclut un code d'état HTTP et un ensemble d'en-têtes de réponse.

Une opération réussie renvoie le code d'état 201 (Créé). Pour plus d'informations sur les codes d'état, consultez état de gestion de Service et les Codes d'erreur.

La réponse de l'opération inclut les en-têtes suivants. La réponse peut aussi inclure des en-têtes HTTP standard supplémentaires. Tous les en-têtes standard sont conformes à la spécification du protocole HTTP/1.1.

En-tête de réponse

Description

x-ms-request-id

Valeur qui identifie de façon unique une demande effectuée au service de gestion. Pour une opération asynchrone, vous pouvez appeler Obtenir l'état de l'opération avec la valeur de l'en-tête pour déterminer si l'opération est terminée, a échoué ou est toujours en cours.

Consulter également les ressources suivantes pour créer un service cloud :

Next step:

Après avoir créé un service cloud, l'étape suivante consiste à créer un déploiement. Pour plus d'informations, consultez les documents suivants :

L'exemple d'application console suivant montre comment créer un service cloud. Remplacez les valeurs de variable suivantes :

  • Empreinte – avec l'empreinte numérique du certificat de gestion dans votre abonnement

  • SubscriptionId – avec l'identificateur d'abonnement que vous avez obtenu à partir du portail de gestion

  • ServiceName avec le nom que vous souhaitez utiliser pour le nouveau service de cloud

  • Emplacement : par emplacement géographique dans lequel vous souhaitez trouver le service cloud

    System_CAPS_noteRemarque

    Vous pouvez utiliser liste des emplacements pour obtenir l'emplacement approprié.


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)); } } }
Afficher:
© 2016 Microsoft