Accesso alle risorse locali usando connessioni ibride nel servizio app di Azure

È possibile connettere un'app del Servizio app di Azure a qualsiasi risorsa locale che usa una porta TCP statica, ad esempio SQL Server, MySQL, API Web HTTP e la maggior parte dei servizi Web personalizzati. Questo articolo illustra come creare una connessione ibrida tra il Servizio app e un database di SQL Server locale.

Nota

La parte relativa alle app Web della funzionalità Connessioni ibride è disponibile solo nel portale di Azure. Per creare una connessione nei servizi BizTalk, vedere Connessioni ibride.

Questo contenuto si applica anche a App per dispositivi mobili del Servizio app di Azure.

Prerequisiti

  • Una sottoscrizione di Azure. Per una sottoscrizione gratuita, vedere Versione di valutazione gratuita di Azure.

    Per iniziare a usare il servizio app di Azure prima di registrarsi per ottenere un account Azure, andare a Prova il servizio app, dove è possibile creare un'app Web iniziale temporanea nel servizio app. Non è necessario fornire una carta di credito né impegnarsi in alcun modo.

  • Per usare un'istanza di SQL Server locale o un database SQL Server Express con una connessione ibrida, TCP/IP deve essere abilitato su una porta statica. È consigliabile usare un'istanza predefinita di on SQL Server, perché usa la porta statica 1433. Per informazioni sull'installazione e configurazione di SQL Server Express per l'uso con le connessioni ibride, vedere Connettersi a un'istanza di SQL Server locale da un sito Web di Azure mediante Connessioni ibride.
  • Il computer in cui si installa l'agente Hybrid Connection Manager locale descritto più avanti in questo articolo:

    • Deve essere in grado di connettersi ad Azure usando la porta 5671
    • Deve essere in grado di raggiungere il hostname:numero di porta della risorsa locale.
Nota

I passaggi indicati in questo articolo presuppongono che l'utente usi il browser dal computer che ospiterà l'agente di connessione ibrida locale.

Creazione di un'app Web nel portale di Azure

Nota

Se nel portale di Azure è già stata creata un'app Web o un back-end per App per dispositivi mobili da usare per questa esercitazione, è possibile passare a Creare una connessione ibrida e un servizio BizTalk e proseguire da quel punto.

  1. Nell'angolo superiore sinistro del Portale di Azure fare clic su Nuovo > Web e dispositivi mobili > App Web.

    Nuova applicazione web

  2. Nel pannello App Web fornire un URL e fare clic su Crea.

    Website name

  3. Dopo alcuni momenti, l'app Web viene creata e viene visualizzato il relativo pannello. Il pannello è un dashboard scorrevole verticalmente che consente di gestire il sito.

    Website running

  4. Per verificare se il sito è online, è possibile fare clic sull'icona Sfoglia per visualizzare la pagina predefinita.

    Click browse to see your web app

    Pagina di applicazione web predefinita

Verranno quindi creati una connessione ibrida e un servizio BizTalk per l'app Web.

Creare una connessione ibrida e servizi BizTalk

  1. Nel pannello dell'app Web fare clic su Tutte le impostazioni > Rete > Configurare gli endpoint della connessione ibrida.

    Connessioni ibride

  2. Nel pannello Connessioni ibride fare clic su Aggiungi.

  3. Viene visualizzato il pannello Aggiungi una connessione ibrida . Poiché si tratta della prima connessione ibrida, l'opzione Nuova connessione ibrida è preselezionata e viene visualizzato il pannello Crea connessione ibrida.

    Creare una connessione ibrida

    Nel pannello Crea connessione ibrida:

    • In Nomespecificare un nome per la connessione.
    • In Nome hostimmettere il nome del computer locale in cui è ospitata la risorsa.
    • In Portaimmettere il numero di porta usato dalla risorsa locale (1433 per un'istanza predefinita di SQL Server).
    • Fare clic su Servizio BizTalk
  4. Viene visualizzato il pannello Crea servizio BizTalk . Immettere un nome per il servizio BizTalk, quindi fare clic su OK.

    Crea servizio BizTalk

    Il pannello Crea servizio BizTalk si chiude e viene visualizzato di nuovo il pannello Crea connessione ibrida.

  5. Nel pannello Crea connessione ibrida fare clic su OK.

    Fare clic su OK.

  6. Al termine del processo l'area delle notifiche nel portale informa che la connessione è stata creata correttamente.

  7. Nel panello dell'app Web, l'icona Connessioni ibride ora mostra che è stata creata una connessione ibrida.

    One hybrid connection created

A questo punto è stata completata una parte importante dell'infrastruttura della connessione ibrida cloud. Nel passaggio successivo verrà creato un elemento locale corrispondente.

Installare l'istanza locale di Hybrid Connection Manager per completare la connessione

  1. Nel pannello dell'app Web fare clic su Tutte le impostazioni > Rete > Configurare gli endpoint della connessione ibrida.

    Hybrid connections icon

  2. Nel pannello Connessioni ibride la colonna Stato relativa all'endpoint aggiunto di recente visualizza Non connesso. Fare clic sulla connessione per configurarla.

    Non connesso

    Viene visualizzato il pannello Connessione ibrida.

    NotConnectedBlade

  3. Nel pannello fare clic su Impostazione listener.

    Click Listener Setup

  4. Viene visualizzato il pannello Proprietà connessioni ibride . In Gestione connessione ibrida locale scegliere Fare clic qui per eseguire l'installazione.

    Fare clic qui per eseguire l'installazione

  5. Nella finestra di dialogo Esecuzione applicazione - Avviso di sicurezza, scegliere Esegui per continuare.

    Scegliere Esegui per continuare

  6. Nella finestra di dialogo Controllo account utente scegliere .

    Choose Yes

  7. Hybrid Connection Manager viene scaricato e installato.

    Installazione

  8. Al termine dell'installazione fare clic su Chiudi.

    Fare clic su Chiudi

    Nel pannello Connessioni ibride la colonna Stato ora visualizza Connesso.

    Stato connesso

Dopo aver completato l'infrastruttura della connessione ibrida, sarà possibile creata un'applicazione Web che la usa.

Nota

Nelle sezioni seguenti viene illustrato come usare una connessione ibrida con un progetto di back-end .NET per App per dispositivi mobili.

Configurare il progetto di back-end .NET per App per dispositivi mobili per la connessione al database di SQL Server

In Servizio app, un progetto di back-end .NET per App per dispositivi mobili è semplicemente un'app Web ASP.NET dotata di un SDK per App per dispositivi mobili installato e inizializzato. Per usare l'App Web come back-end di App per dispositivi mobili, è necessario scaricare e inizializzare l'SDK back-end .NET per App per dispositivi mobili.

Per App per dispositivi mobili, è necessario anche definire una stringa di connessione per il database locale e modificare il back-end in modo che possa usare questa connessione.

  1. In Esplora soluzioni di Visual Studio aprire il file Web.config per il back-end .NET per App per dispositivi mobili, individuare la sezione connectionStrings , aggiungere una nuova voce SqlClient simile alla seguente, che punta al database di SQL Server locale:

     <add name="OnPremisesDBConnection"
      connectionString="Data Source=OnPremisesServer,1433;
      Initial Catalog=OnPremisesDB;
      User ID=HybridConnectionLogin;
      Password=<**secure_password**>;
      MultipleActiveResultSets=True"
      providerName="System.Data.SqlClient" />
    

    Ricordare di sostituire <**secure_password**> in questa stringa con la password creata per HybridConnectionLogin.

  2. Fare clic su Salva in Visual Studio per salvare il file Web.config.

    Nota

    Questa impostazione di connessione viene usata per l'esecuzione nel computer locale. Per l'esecuzione in Azure viene eseguito l'override di questa impostazione con l'impostazione di connessione definita nel portale.

  3. Espandere la cartella Modelli e aprire il file di modello dati, che termina con Context.cs.
  4. Modificare il costruttore di istanza DbContext per passare il valore OnPremisesDBConnection al costruttore DbContext di base, simile al frammento di codice seguente:

     public class hybridService1Context : DbContext
     {
         public hybridService1Context()
             : base("OnPremisesDBConnection")
         {
         }
     }
    

    Il servizio userà ora la nuova connessione al database di SQL Server.

Aggiornare il back-end per App per dispositivi mobili in modo che usi la stringa di connessione locale

Successivamente, è necessario aggiungere un'impostazione dell'app per la nuova stringa di connessione in modo da poter essere usata da Azure.

  1. Nel codice back-end dell'app Web per l'app per dispositivi mobili all'interno del portale di Azure fare clic su Tutte le impostazioni e quindi su Impostazioni applicazione.
  2. Nel pannello Impostazioni app Web scorrere fino a Stringhe di connessione e aggiungere una nuova stringa di connessione di SQL Server denominata OnPremisesDBConnection con un valore simile a Server=OnPremisesServer,1433;Database=OnPremisesDB;User ID=HybridConnectionsLogin;Password=<**secure_password**>.

    Sostituire <**secure_password**> con la password sicura per il database locale.

    Stringa di connessione del database locale

  3. Premere Salva per salvare la connessione ibrida e la stringa di connessione creata.

A questo punto è possibile ripubblicare il progetto server e provare la nuova connessione con i client di App per dispositivi mobili esistenti. I dati verranno letti da e scritti nel database locale tramite la connessione ibrida.

Passaggi successivi

Risorse aggiuntive

Panoramica delle connessioni ibride

Josh Twist presenta le connessioni ibride (video Channel 9)

Sito Web delle connessioni ibride

Servizi BizTalk: schede Dashboard, Monitor, Scala, Configura e Connessione ibrida

Creazione di un cloud ibrido reale con portabilità continua delle applicazioni (video Channel 9)

Connettersi a un'istanza di SQL Server locale da Servizi mobili di Azure mediante Connessioni ibride (video Channel 9)

Modifiche apportate