Indirizzare il traffico nel servizio app

Completato

Per impostazione predefinita, tutte le richieste client all'URL di produzione dell'app (http://<app_name>.azurewebsites.net) vengono indirizzate allo slot di produzione. È possibile instradare una parte del traffico a un altro slot. Questa funzionalità è utile se è necessario il feedback degli utenti su un nuovo aggiornamento, ma non si è ancora pronti per rilasciarlo in produzione.

Indirizzare automaticamente il traffico di produzione

Per indirizzare automaticamente il traffico di produzione:

  1. Accedere alla pagina delle risorse dell'app e selezionare Slot di distribuzione.

  2. Nella colonna % traffico dello slot a cui si vuole eseguire il routing specificare una percentuale compresa tra 0 e 100 che rappresenti la quantità di traffico totale da instradare. Seleziona Salva.

Dopo aver salvato l'impostazione, la percentuale specificata di client viene indirizzata in modo casuale allo slot non di produzione.

Una volta indirizzato automaticamente a uno slot specifico, il client viene associato a tale slot per tutta la durata della sessione client. Nel browser client è possibile visualizzare lo slot a cui è associata la sessione esaminando il cookie x-ms-routing-name nelle intestazioni HTTP. Per una richiesta indirizzata allo slot di "staging" il cookie è x-ms-routing-name=staging. Per una richiesta indirizzata allo slot di produzione il cookie è x-ms-routing-name=self.

Indirizzare automaticamente il traffico di produzione

Oltre al routing automatico del traffico, il servizio app può eseguire il routing delle richieste a uno slot specifico. Ciò è utile quando si vuole che gli utenti possano acconsentire esplicitamente o rifiutare esplicitamente l'app beta. Per indirizzare manualmente il traffico di produzione, si usa il parametro di query x-ms-routing-name.

Ad esempio, per consentire agli utenti di rifiutare esplicitamente l'app beta, è possibile inserire nella pagina Web questo collegamento:

<a href="<webappname>.azurewebsites.net/?x-ms-routing-name=self">Go back to production app</a>

La stringa x-ms-routing-name=self specifica lo slot di produzione. Dopo che il browser client avrà eseguito l’accesso al collegamento, verrà reindirizzato allo slot di produzione. Ogni richiesta successiva sarà associata al cookie x-ms-routing-name=self, che aggiungerà la sessione allo slot di produzione.

Affinché gli utenti debbano fornire il consenso esplicito per l'app beta, è necessario impostare lo stesso parametro di query sul nome dello slot non di produzione. Ecco un esempio:

<webappname>.azurewebsites.net/?x-ms-routing-name=staging

Per impostazione predefinita, ai nuovi slot viene assegnata una regola di gestione 0% e viene visualizzato un valore predefinito in grigio. Quando si imposta in modo esplicito il valore della regola di routing su 0% viene visualizzato in nero, gli utenti possono accedere manualmente allo slot di staging usando il parametro di query x-ms-routing-name. Gli utenti, tuttavia, non verranno indirizzati automaticamente allo slot perché la percentuale di routing è impostata su 0. Si tratta di uno scenario avanzato, in cui è possibile "nascondere" lo slot di staging dal pubblico consentendo ai team interni di testare le modifiche nello slot.