Eseguire la migrazione del servizio mobile di Azure esistente al servizio app di Azure

Con la disponibilità generale del servizio app di Azure, è possibile eseguire facilmente la migrazione sul posto dei siti di Servizi mobili di Azure per sfruttare appieno tutte le funzionalità del servizio app di Azure. Questo documento illustra cosa accade durante la migrazione del sito da Servizi mobili di Azure al servizio app di Azure.

Effetti della migrazione sul sito

La migrazione trasforma il servizio mobile di Azure in un'app del servizio app di Azure senza influire sul codice. Gli hub di notifica, la connessione dati SQL, le impostazioni di autenticazione, i processi pianificati e il nome di dominio rimangono invariati. I client mobili che usano il servizio mobile di Azure continuano a funzionare normalmente. Dopo averlo trasferito nel servizio app di Azure, la migrazione riavvia il servizio.

Sono disponibili due opzioni per il passaggio da Servizi mobili al servizio app: la migrazione o l'aggiornamento. Entrambe le opzioni consentono di accedere a tutte le funzionalità di hosting del servizio app:

  • migrazione di un servizio cambia semplicemente l'ambiente sottostante che ospita il back-end mobile. Non richiede alcuna modifica del codice per il progetto del client mobile o del server mobile. Se si usa l'opzione di migrazione automatica, viene mantenuto l'URL service.azure mobile.net .
  • aggiornamento di un servizio richiede modifiche del codice per il progetto sia del server che del client, ma consente di sfruttare le nuove funzionalità di Mobile SDK, come i miglioramenti dell'autenticazione e la superiore flessibilità per il progetto server.

Perché eseguire la migrazione del sito

È consigliabile eseguire la migrazione da Servizi mobili di Azure per sfruttare appieno tutte le funzionalità del servizio app di Azure, tra cui:

Per altre informazioni sui vantaggi del servizio app di Azure, vedere Confronto tra Servizi mobili e il servizio app.

Prima di iniziare

Prima di iniziare qualsiasi attività importante nel sito, è consigliabile eseguire un backup degli script e del database SQL del servizio mobile.

Migrazione dei siti

Il processo di migrazione esegue la migrazione di tutti i siti all'interno di una singola area di Azure.

Per eseguire la migrazione del sito:

  1. Accedere al portale di Azure classico.
  2. Selezionare un servizio mobile nell'area di cui si vuole eseguire la migrazione.
  3. Fare clic sul pulsante Esegui la migrazione al servizio app.

    Pulsante di migrazione

  4. Leggere il contenuto della finestra di dialogo Esegui la migrazione al servizio app.
  5. Immettere il nome del servizio mobile nell'apposita casella. Ad esempio, se il nome di dominio è contoso.azure-mobile.net, immettere contoso nell'apposita casella.
  6. Fare clic sul pulsante con il segno di spunta.

Monitorare lo stato della migrazione nel monitoraggio attività. Il sito è indicato come sottoposto a migrazione nel portale di Azure classico.

Monitoraggio dell'attività di migrazione

Per ogni servizio mobile di cui viene eseguita la migrazione possono essere necessari dai 3 ai 15 minuti. Durante la migrazione il sito rimane disponibile. Al termine del processo di migrazione il sito viene riavviato. Durante il processo di riavvio il sito non è disponibile per pochi secondi.

Finalizzazione della migrazione

Pianificare il test del sito da un client mobile al termine del processo di migrazione. Assicurarsi che sia possibile eseguire tutte le normali azioni client senza apportare modifiche al client mobile.

Selezionare un piano tariffario appropriato per il servizio app

La migrazione al servizio app di Azure offre una maggiore flessibilità dei prezzi.

  1. Accedere al portale di Azure.
  2. Selezionare Tutte le risorse o Servizi app e quindi fare clic sul nome del servizio mobile di cui è stata eseguita la migrazione.
  3. Per impostazione predefinita si apre il pannello Impostazioni.
  4. Fare clic su Piano di servizio app nel menu Impostazioni.
  5. Fare clic sul riquadro Piano tariffario.
  6. Fare clic sul riquadro del piano tariffario più adatto alle proprie esigenze e quindi fare clic su Seleziona. Potrebbe essere necessario fare clic su Visualizza tutto per visualizzare i piani tariffari disponibili.

Come punto di partenza, è consigliabile scegliere i livelli seguenti:

Piano tariffario del servizio mobile Piano tariffario del servizio app
Free F1 Gratuito
Basic B1 Basic
Standard S1 Standard

C'è una notevole flessibilità nella scelta del piano tariffario per l'applicazione. Per informazioni dettagliate sui prezzi del nuovo servizio app, vedere [Prezzi di Servizio app] .

Suggerimento

Il livello Standard del servizio app include l'accesso a molte funzionalità utili, come ad esempio slot di staging, backup automatico e scalabilità automatica. Sono anche disponibili nuove funzionalità interessanti.

Esaminare i processi dell'utilità di pianificazione di cui è stata eseguita la migrazione

I processi dell'utilità di pianificazione non saranno visibili fino a circa 30 minuti dopo la migrazione. L'esecuzione dei processi pianificati continua in background. Per visualizzare i processi pianificati quando sono nuovamente visibili, seguire questa procedura:

  1. Accedere al portale di Azure.
  2. Selezionare Esplora>, immettere Pianificazione nella casella Filtro e quindi selezionare Raccolte dell'Utilità di pianificazione.

Dopo la migrazione è disponibile un numero limitato di processi dell'utilità di pianificazione gratuiti. Esaminare l'utilizzo e i piani dell'utilità di pianificazione di Azure.

Configurare la condivisione CORS se necessario

La condivisione di risorse tra le origini è una tecnica che consente a un sito Web di accedere a un'API Web in un dominio diverso. Se si usa Servizi mobili di Azure con un sito Web associato è necessario configurare la condivisione CORS come parte della migrazione. Se l'accesso a Servizi mobili di Azure avviene esclusivamente da dispositivi mobili, non è necessario configurare la condivisione CORS se non in alcuni casi specifici.

Le impostazioni CORS di cui è stata eseguita la migrazione sono disponibili come impostazione app MS_CrossDomainWhitelist. Per eseguire la migrazione del sito alla funzionalità CORS del servizio app:

  1. Accedere al portale di Azure.
  2. Selezionare Tutte le risorse o Servizi app e quindi fare clic sul nome del servizio mobile di cui è stata eseguita la migrazione.
  3. Per impostazione predefinita si apre il pannello Impostazioni.
  4. Fare clic su CORS nel menu dell'API.
  5. Immettere tutte le origini consentite nell'apposita casella, premendo INVIO dopo ogni immissione.
  6. Dopo aver compilato correttamente l'elenco di origini consentite, fare clic sul pulsante Salva.
Suggerimento

Uno dei vantaggi dell'uso di un servizio app di Azure è che è possibile eseguire il sito Web e il servizio mobile nello stesso sito. Per altre informazioni, vedere la sezione Passaggi successivi.

Scaricare un nuovo profilo di pubblicazione

Il profilo di pubblicazione del sito viene modificato durante la migrazione al Servizio app di Azure. Se si intende pubblicare il sito da Visual Studio, è necessario un nuovo profilo di pubblicazione. Per scaricare il nuovo profilo di pubblicazione:

  1. Accedere al portale di Azure.
  2. Selezionare Tutte le risorse o Servizi app e quindi fare clic sul nome del servizio mobile di cui è stata eseguita la migrazione.
  3. Fare clic su Recupera profilo di pubblicazione.

Il file PublishSettings verrà scaricato nel computer. In genere è denominato nomesito.PublishSettings. Importare le impostazioni di pubblicazione nel progetto esistente:

  1. Aprire Visual Studio e il progetto di Servizi mobili di Azure.
  2. Fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e scegliere Pubblica.
  3. Fare clic su Importa.
  4. Fare clic su Sfoglia e selezionare il file delle impostazioni di pubblicazione scaricato. Fare clic su OK.
  5. Fare clic su Convalida connessione per verificare il corretto funzionamento delle impostazioni di pubblicazione.
  6. Fare clic su Pubblica per pubblicare il sito.

Uso del sito dopo la migrazione

Dopo la migrazione è possibile iniziare a usare il nuovo servizio app nel portale di Azure. Di seguito sono riportate informazioni sulle operazioni specifiche che era possibile eseguire nel portale di Azure classico, con i rispettivi equivalenti nel servizio app.

Download e pubblicazione del sito di cui è stata eseguita la migrazione

Il sito è disponibile tramite Git o FTP e può essere pubblicato nuovamente con vari meccanismi, inclusi WebDeploy, TFS, Mercurial, GitHub e FTP. La migrazione delle credenziali di distribuzione viene eseguita con il resto del sito. Se le credenziali di distribuzione non sono state impostate o non sono disponibili, è possibile reimpostarle:

  1. Accedere al portale di Azure.
  2. Selezionare Tutte le risorse o Servizi app e quindi fare clic sul nome del servizio mobile di cui è stata eseguita la migrazione.
  3. Per impostazione predefinita si apre il pannello Impostazioni.
  4. Fare clic su Credenziali di distribuzione nel menu PUBBLICAZIONE.
  5. Immettere le nuove credenziali di distribuzione nelle apposite caselle e quindi fare clic sul pulsante Salva.

È possibile usare queste credenziali per clonare il sito con Git o configurare distribuzioni automatizzate da GitHub, TFS o Mercurial. Per altre informazioni, vedere Documentazione sulla distribuzione del servizio app di Azure.

Impostazioni dell'applicazione

La maggior parte delle impostazioni di un servizio mobile di cui è stata eseguita la migrazione è disponibile in Impostazioni app. Nel portale di Azure è possibile ottenere un elenco delle impostazioni dell'app. Per visualizzare o modificare le impostazioni app:

  1. Accedere al portale di Azure.
  2. Selezionare Tutte le risorse o Servizi app e quindi fare clic sul nome del servizio mobile di cui è stata eseguita la migrazione.
  3. Per impostazione predefinita si apre il pannello Impostazioni.
  4. Fare clic su Impostazioni dell'applicazione nel menu GENERALE.
  5. Scorrere fino alla sezione Impostazioni app e trovare l'impostazione dell'app.
  6. Fare clic sul valore dell'impostazione app per modificarlo. Fare clic su Salva per salvare il valore.

È possibile aggiornare le impostazioni di più app contemporaneamente.

Suggerimento

Sono disponibili due impostazioni dell'applicazione con lo stesso valore. Ad esempio, ApplicationKey e MS_ApplicationKey. Aggiornare entrambe le impostazioni dell'applicazione contemporaneamente.

Autenticazione

Tutte le impostazioni di autenticazione sono disponibili come impostazioni app nel sito di cui è stata eseguita la migrazione. Per aggiornare le impostazioni di autenticazione, è necessario modificare le impostazioni app appropriate. La tabella seguente riporta le impostazioni app appropriate per il provider di autenticazione:

Provider ID client Client Secret Altre impostazioni
Account Microsoft MS_MicrosoftClientID MS_MicrosoftClientSecret MS_MicrosoftPackageSID
Facebook MS_FacebookAppID MS_FacebookAppSecret
Twitter MS_TwitterConsumerKey MS_TwitterConsumerSecret
Google MS_GoogleClientID MS_GoogleClientSecret
Azure AD MS_AadClientID MS_AadTenants

Nota: l'impostazione MS_AadTenants viene archiviata come elenco delimitato da virgole dei domini del tenant, corrispondente al campo "Tenant consentiti" del portale di Servizi mobili.

Avviso

Non usare i meccanismi di autenticazione nel menu Impostazioni

Il servizio app di Azure fornisce un sistema di autenticazione e autorizzazione senza codice a parte nel menu Impostazioni di Autenticazione/Autorizzazione e l'opzione Autenticazione per dispositivi mobili (deprecata) nel menu Impostazioni. Queste opzioni non sono compatibili con un servizio mobile di Azure di cui è stata eseguita la migrazione. È possibile aggiornare il sito per sfruttare i vantaggi dell'autenticazione del servizio app di Azure.

Dati

La scheda Dati in Servizi mobili è stata sostituita da Tabelle semplici nel portale di Azure. Per accedere a Easy Tables:

  1. Accedere al portale di Azure.
  2. Selezionare Tutte le risorse o Servizi app e quindi fare clic sul nome del servizio mobile di cui è stata eseguita la migrazione.
  3. Per impostazione predefinita si apre il pannello Impostazioni.
  4. Fare clic su Tabelle semplici nel menu MOBILE.

È possibile aggiungere una tabella facendo clic sul pulsante Aggiungi o accedere alle tabelle esistenti facendo clic sul nome della tabella. Da questo pannello è possibile eseguire una serie di operazioni, tra cui:

  • Modifica delle autorizzazioni tabella
  • Modifica degli script operativi
  • Gestione dello schema di tabella
  • Eliminazione della tabella
  • Cancellazione del contenuto della tabella
  • Eliminazione di righe specifiche della tabella

API

La scheda API in Servizi mobili è stata sostituita da API semplici nel portale di Azure. Per accedere a Easy APIs:

  1. Accedere al portale di Azure.
  2. Selezionare Tutte le risorse o Servizi app e quindi fare clic sul nome del servizio mobile di cui è stata eseguita la migrazione.
  3. Per impostazione predefinita si apre il pannello Impostazioni.
  4. Fare clic su API semplici nel menu MOBILE.

Le API di cui è stata eseguita la migrazione sono già elencate nel pannello. Dal pannello è anche possibile aggiungere un'API. Per gestire un'API specifica, fare clic su di essa. Dal nuovo pannello è possibile modificare le autorizzazioni e gli script per l'API.

Processi dell'Utilità di pianificazione

Tutti i processi dell'Utilità di pianificazione sono disponibili tramite la sezione relativa alle raccolte dei processi dell'Utilità di pianificazione. Per accedere ai processi dell'Utilità di pianificazione:

  1. Accedere al portale di Azure.
  2. Selezionare Esplora>, immettere Pianificazione nella casella Filtro e quindi selezionare Raccolte dell'Utilità di pianificazione.
  3. Selezionare la raccolta di processi per il sito. È denominata nomesito-Processi.
  4. Fare clic su Impostazioni.
  5. Fare clic su Processi dell'Utilità di pianificazione in GESTISCI.

I processi pianificati vengono elencati con la frequenza specificata prima della migrazione. I processi su richiesta sono disabilitati. Per eseguire un processo su richiesta:

  1. Selezionare il processo che si desidera eseguire.
  2. Se necessario, fare clic su Abilita per abilitare il processo.
  3. Fare clic su Impostazioni e quindi su Pianificazione.
  4. Selezionare la ricorrenza Una sola volta e quindi fare clic su Salva.

I processi su richiesta si trovano in App_Data/config/scripts/scheduler post-migration. È consigliabile convertire tutti i processi su richiesta in Processi Web o in funzioni. Scrivere i nuovi processi dell'Utilità di pianificazione come Processi Web o funzioni.

Hub di notifica

Servizi mobili usa Hub di notifica per le notifiche push. Le impostazioni app riportate di seguito vengono usate per collegare l'hub di notifica al servizio mobile dopo la migrazione:

Impostazione dell'applicazione Descrizione
MS_PushEntityNamespace Spazio dei nomi dell'hub di notifica
MS_NotificationHubName Nome dell'hub di notifica
MS_NotificationHubConnectionString Stringa di connessione dell'hub di notifica
MS_NamespaceName Alias per MS_PushEntityNamespace

L'hub di notifica viene gestito attraverso il portale di Azure. Prendere nota del nome dell'hub di notifica. Per trovarlo è possibile usare le impostazioni app:

  1. Accedere al portale di Azure.
  2. Selezionare Esplora> e quindi Hub di notifica.
  3. Fare clic sul nome dell'hub di notifica associato al servizio mobile.
Nota

Se l'hub di notifica è di tipo "Misto", non è visibile. Gli hub di notifica di tipo "Misto" utilizzano sia Hub di notifica che le funzionalità legacy del bus di servizio. Convertire gli spazi dei nomi di tipo Misto prima di continuare. Al termine della conversione, l'hub di notifica viene visualizzato nel portale di Azure.

Per altre informazioni, vedere la documentazione relativa a Hub di notifica .

Suggerimento

Le funzionalità di gestione di Hub di notifica nel portale di Azure sono ancora in anteprima. Il portale di Azure classico rimane disponibile per la gestione di tutti gli hub di notifica.

Impostazioni push legacy

Se è stato configurato il push nel servizio mobile prima dell'introduzione di Hub di notifica, si sta usando la funzione push legacy. Se si usa il push e nella configurazione non è presente un hub di notifica, è probabile che si stia usando la funzione push legacy. La migrazione di questa funzionalità viene eseguita insieme a tutte le altre. È tuttavia consigliabile eseguire l'aggiornamento a Hub di notifica subito dopo il completamento della migrazione.

Nel frattempo tutte le impostazioni push legacy, con l'importante eccezione del certificato del servizio APN, sono disponibili in Impostazioni app. Aggiornare il certificato del servizio APN sostituendo il file appropriato nel file system.

Altre impostazioni app

Per le impostazioni app aggiuntive riportate di seguito viene eseguita la migrazione dal servizio mobile e sono disponibili in Impostazioni > App Impostazioni:

Impostazione dell'applicazione Descrizione
MS_MobileServiceName Nome dell'app
MS_MobileServiceDomainSuffix Prefisso del dominio, vale a dire azure-mobile.net
MS_ApplicationKey Chiave applicazione
MS_MasterKey Chiave master dell'app

La chiave applicazione e la chiave master sono identiche alle chiavi applicazione del servizio mobile di origine. In particolare, la chiave applicazione viene inviata dai client mobili per convalidare l'uso dell'API per dispositivi mobili.

Equivalenti della riga di comando

Non è più possibile usare il comando azure mobile per gestire il sito di Servizi mobili di Azure. Molte funzioni sono state sostituite con il comando azure site. Usare la tabella seguente per trovare gli equivalenti dei comandi più comuni:

Comando azure mobile Comando azure site equivalente
mobile locations site location list
mobile list site list
mobile show nome site show nome
mobile restart nome site restart nome
mobile redeploy nome site deployment redeploy commitId nome
mobile key set nome tipo valore site appsetting delete chiave nome
site appsetting add chiave=valore nome
mobile config list nome site appsetting list nome
mobile config get nome chiave site appsetting show chiave nome
mobile config set nome chiave site appsetting delete chiave nome
site appsetting add chiave=valore nome
mobile domain list nome site domain list nome
mobile dominio add nome dominio site domain add dominio nome
mobile domain delete nome site domain delete dominio nome
mobile scale show nome site show nome
mobile scale change nome site scale mode modalità nome
site scale instances istanze nome
mobile appsetting list nome site appsetting list nome
mobile appsetting add nome chiave valore site appsetting add chiave=valore nome
mobile appsetting delete nome chiave site appsetting delete chiave nome
mobile appsetting show nome chiave site appsetting delete chiave nome

Aggiornare le impostazioni di autenticazione o di notifica push aggiornando l'impostazione dell'applicazione appropriata. Modificare i file e pubblicare il sito tramite Git o FTP.

Diagnostica e registrazione

Nel servizio app di Azure la registrazione diagnostica è generalmente disabilitata. Per abilitare la registrazione diagnostica:

  1. Accedere al portale di Azure.
  2. Selezionare Tutte le risorse o Servizi app e quindi fare clic sul nome del servizio mobile di cui è stata eseguita la migrazione.
  3. Per impostazione predefinita si apre il pannello Impostazioni.
  4. Selezionare Log di diagnostica nel menu FUNZIONALITÀ.
  5. Fare clic su per i log seguenti: Registrazione applicazioni (file system), Messaggi di errore dettagliati e Traccia delle richieste non riuscite.
  6. Fare clic su File System per la registrazione del server Web.
  7. Fare clic su Save

Per visualizzare i log:

  1. Accedere al portale di Azure.
  2. Selezionare Tutte le risorse o Servizi app e quindi fare clic sul nome del servizio mobile di cui è stata eseguita la migrazione.
  3. Fare clic sul pulsante Strumenti.
  4. Selezionare Flusso di registrazione nel menu OSSERVAZIONE.

I log vengono visualizzati nella finestra man mano che vengono generati. È anche possibile scaricare i log per analizzarli in seguito usando le credenziali di distribuzione. Per altre informazioni, vedere la documentazione relativa alla registrazione.

Problemi noti

L'eliminazione del clone di un'app per dispositivi mobili di cui è stata eseguita la migrazione provoca un'interruzione del sito

Se si clona il servizio mobile di cui è stata eseguita la migrazione usando Azure PowerShell e si elimina il clone, viene rimossa la voce DNS per il servizio di produzione. Quindi, il sito non è più accessibile da Internet.

Risoluzione: se si vuole clonare il sito, effettuare questa operazione tramite il portale.

Le modifiche a Web.config non funzionano

Se si usa un sito ASP.NET, le modifiche al file Web.config non vengono applicate. Il servizio app di Azure compila un file Web.config appropriato durante l'avvio per supportare il runtime di Servizi mobili. È possibile eseguire l'override di alcune impostazioni, ad esempio le intestazioni personalizzate, tramite un file di trasformazione XML. Creare un file denominato applicationHost.xdt. Questo file deve essere salvato nella directory D:\home\site del servizio di Azure. Caricare il file applicationHost.xdt tramite uno script di distribuzione personalizzato o direttamente tramite Kudu. Di seguito viene illustrato un esempio di documento:

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <add name="X-Frame-Options" value="DENY" xdt:Transform="Replace" />
        <remove name="X-Powered-By" xdt:Transform="Insert" />
      </customHeaders>
    </httpProtocol>
    <security>
      <requestFiltering removeServerHeader="true" xdt:Transform="SetAttributes(removeServerHeader)" />
    </security>
  </system.webServer>
</configuration>

Per altre informazioni, vedere la documentazione XDT transform samples in GitHub.

Non è possibile aggiungere a Gestione traffico servizi mobili di cui è stata eseguita la migrazione

Quando si crea un profilo di Gestione traffico, non è possibile scegliere direttamente un servizio mobile di cui è stata eseguita la migrazione al profilo. È necessario usare un "endpoint esterno". L'endpoint esterno può essere aggiunto solo tramite PowerShell. Per altre informazioni, vedere l'esercitazione su Gestione traffico.

Passaggi successivi

Dopo aver eseguito la migrazione dell'applicazione nel servizio app, è possibile sfruttare ancora più funzionalità:

  • Gli slot di staging della distribuzione consentono lo staging delle modifiche al sito e di eseguire un test A/B.
  • Processi Web consente di sostituire i processi pianificati su richiesta.
  • La distribuzione continua del sito è resa possibile collegando il sito a GitHub, TFS o Mercurial.
  • È possibile usare Application Insights per monitorare il sito.
  • È possibile gestire un sito Web e un'API per dispositivi mobili dallo stesso codice.

Aggiornamento del sito di Servizi mobili ad Azure Mobile App SDK

  • Per i progetti server basati su Node.js, il nuovo Mobile Apps Node.js SDK offre diverse nuove funzionalità. Ad esempio, è possibile ora eseguire sviluppi e debug locali, utilizzare qualsiasi versione Node.js successiva alla 0.10 e personalizzare con qualsiasi middleware Express.js.
  • Per i progetti server basati su .NET, i nuovi pacchetti NuGet Mobile Apps SDK offrono una maggiore flessibilità sulle dipendenze NuGet. Questi pacchetti supportano la nuova autenticazione del servizio app e sono compatibili con qualsiasi progetto ASP.NET. Per altre informazioni sull'aggiornamento, vedere Aggiornamento del servizio mobile .NET di Azure esistente al Servizio app.