Esporta (0) Stampa
Espandi tutto
Questo argomento non è stato ancora valutato - Valuta questo argomento

Elencare i servizi cloud

Aggiornamento: aprile 2014

Tramite l'operazione List Cloud Services vengono elencati i servizi cloud disponibili nella sottoscrizione specificata.

La richiesta di List Cloud Services può essere specificata come indicato di seguito. Sostituire <subscription-id> con l'ID sottoscrizione.

 

Metodo URI della richiesta Versione HTTP

GET

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

HTTP/1.1

Nessuno.

Nella tabella seguente vengono descritte le intestazioni delle richieste.

 

Intestazione della richiesta Descrizione

x-ms-version

Obbligatoria. Specifica la versione dell'operazione da utilizzare per questa richiesta. Questa intestazione deve essere impostata su 2009-10-01 o una versione successiva. Per ulteriori informazioni sulle intestazioni di controllo delle versioni, vedere Controllo delle versioni di gestione del servizio.

Nella risposta sono inclusi un codice di stato HTTP, un set di intestazioni per la risposta e il corpo di una risposta.

Un'operazione completata correttamente restituisce il codice di stato 200 (OK). Per informazioni sui codici di stato, vedere Codici di stato e di errore relativi alla gestione dei servizi.

Nella risposta per questa operazione sono incluse le intestazioni riportate di seguito; inoltre, possono essere incluse intestazioni HTTP standard aggiuntive. Tutte le intestazioni standard sono conformi alla specifica del protocollo HTTP/1.1.

 

Intestazione della risposta Descrizione

x-ms-request-id

Valore che identifica in modo univoco una richiesta effettuata nel servizio di gestione.

Il formato del corpo della risposta è il seguente:


<?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>
      </HostedServiceProperties>
      <DefaultWinRMCertificateThumbprint>certificate-thumbprint-for-winrm</DefaultWinRMCertificateThumbprint>
    </HostedService>
  </HostedServices>

Nella tabella seguente vengono descritti gli elementi chiave del corpo della risposta.

 

Nome elemento Descrizione

URL

Specifica l'URI della richiesta utilizzato per ottenere le informazioni sul servizio cloud.

ServiceName

Specifica il nome del servizio cloud. Questo nome è il nome del prefisso DNS e può essere utilizzato per accedere al servizio.

Ad esempio, se il nome del servizio è MyService, è possibile accedere al servizio chiamando: http://MyService.cloudapp.net

Descrizione

Specifica la descrizione del servizio cloud.

L'elemento Description è disponibile solo se si utilizza la versione 2012-03-01 o una versione successiva.

AffinityGroup

Specifica il gruppo di affinità a cui è associato il servizio cloud, se disponibile. Se il servizio è associato a un gruppo di affinità, l'elemento Location non viene restituito.

L'elemento AffinityGroup è disponibile solo se si utilizza la versione 2012-03-01 o una versione successiva.

Location

Specifica la posizione geografica del servizio cloud in Windows Azure, se il servizio non è associato a un gruppo di affinità. Se è specificata una posizione, l'elemento AffinityGroup non viene restituito.

L'elemento Location è disponibile solo se si utilizza la versione 2012-03-01 o una versione successiva.

Label

Specifica l'identificatore con codifica Base 64 del servizio cloud. Questo identificatore può essere utilizzato per motivi di rilevamento.

L'elemento Label è disponibile solo se si utilizza la versione 2012-03-01 o una versione successiva.

Stato

Specifica lo stato del servizio cloud. I valori possibili sono:

  • Creating

  • Created

  • Deleting

  • Deleted

  • Changing

  • ResolvingDns

L'elemento Status è disponibile solo se si utilizza la versione 2012-03-01 o una versione successiva.

DateCreated

Specifica la data di creazione del servizio cloud nel formato [anno a 4 cifre]-[mese a 2 cifre]-[giorno a 2 cifre]T[ore a 2 cifre]:[minuti a 2 cifre]:[secondi a 2 cifre]Z. La data 2011-05-11T16:15:26Z è un esempio che può essere restituito dagli elementi DateCreated o DateLastModified.

L'elemento DateCreated è disponibile solo se si utilizza la versione 2012-03-01 o una versione successiva.

DateLastModified

Specifica la data dell'ultimo aggiornamento del servizio cloud nel formato [anno a 4 cifre]-[mese a 2 cifre]-[giorno a 2 cifre]T[ore a 2 cifre]:[minuti a 2 cifre]:[secondi a 2 cifre]Z. La data 2011-05-11T16:15:26Z è un esempio che può essere restituito dagli elementi DateCreated o DateLastModified.

L'elemento DateLastModified è disponibile solo se si utilizza la versione 2012-03-01 o una versione successiva.

Name

Specifica il nome di una proprietà estesa del servizio cloud. Ogni proprietà estesa deve contenere un nome e un valore definiti. È possibile definire un massimo di 50 proprietà estese.

L'elemento Name è disponibile solo se si utilizza la versione 2012-03-01 o una versione successiva.

Valore

Rappresenta il valore di una proprietà estesa del servizio cloud. Il valore della proprietà estesa può avere una lunghezza massima di 255 caratteri.

L'elemento Value è disponibile solo se si utilizza la versione 2012-03-01 o una versione successiva.

DefaultWinRMCertificateThumbprint

Specifica il certificato predefinito per una connessione sicura con WinRM. Se l'identificazione digitale di un certificato non è specificata per WinRM al momento della distribuzione di una macchina virtuale in un servizio cloud, viene creato automaticamente un certificato e l'identificazione digitale viene elencata come valore di questo elemento. Per ulteriori informazioni sulla definizione di WinRM, vedere Creare la distribuzione di una macchina virtuale o Aggiungi ruolo.

Per eseguire l'autenticazione di questa operazione, è possibile utilizzare un qualsiasi certificato di gestione associato alla sottoscrizione specificata da <subscription-id>. Per ulteriori dettagli, vedere Autenticazione di richieste di gestione dei servizi.

Se x-ms-version è precedente alla versione 2012-03-01, non verranno restituiti i servizi cloud che contengono le distribuzioni delle macchine virtuali.

È possibile visualizzare i servizi cloud esistenti nella sottoscrizione vedendo la sezione relativa ai servizi cloud nel portale di gestione di Windows Azure. È inoltre possibile ottenere un elenco di servizi cloud utilizzando il cmdlet Get-AzureService.

Nel programma console di esempio seguente sono elencati i servizi cloud esistenti in una sottoscrizione:


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

Il documento è risultato utile?
(1500 caratteri rimanenti)
Grazie per i commenti inviati.
Mostra:
© 2014 Microsoft. Tutti i diritti riservati.