Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa esercitazione, verranno utilizzati i dati di telemetria nell'applicazione Python per tenere traccia delle valutazioni dei flag di funzionalità e degli eventi personalizzati. La telemetria consente di prendere decisioni informate sulla strategia di gestione delle funzionalità. Il flag di funzionalità viene utilizzato con i dati di telemetria abilitati creati nella panoramica per abilitare i dati di telemetria per i flag di funzionalità. Prima di procedere, assicurarsi di creare un flag di funzionalità denominato Messaggio di saluto nell'archivio di configurazione con i dati di telemetria abilitati. Questa esercitazione si basa su quella relativa a come utilizzare i feature flag di variante in un'applicazione Python.
Prerequisiti
- Flag di funzionalità varianti con i dati di telemetria abilitati in Abilitare i dati di telemetria per i flag di funzionalità.
- L'applicazione da Usa flag di funzionalità varianti in un'applicazione Python.
Aggiungere dati di telemetria all'applicazione Python
Installare i pacchetti necessari usando pip:
pip install azure-appconfiguration-provider pip install featuremanagement["AzureMonitor"] pip install azure-monitor-opentelemetryAprire
app.pye configurare l'applicazione per connettersi ad Application Insights e pubblicare i dati di telemetria. Assicurarsi che l'istruzione import esistentefrom flask import Flaskcompaia dopo la chiamataconfigure_azure_monitor(...)mostrata nel codice seguente. Questo ordine è necessario affinché la strumentazione automatica OpenTelemetry funzioni correttamente.import os from azure.monitor.opentelemetry import configure_azure_monitor # Configure Azure Monitor configure_azure_monitor(connection_string=os.getenv("APPLICATIONINSIGHTS_CONNECTION_STRING"))Inoltre, in
app.py, caricare i flag di funzionalità da Configurazione app e inserirli nella gestione delle funzionalità.FeatureManagerusa lapublish_telemetryfunzione di callback per pubblicare i dati di telemetria su Monitoraggio di Azure.from featuremanagement.azuremonitor import publish_telemetry feature_manager = FeatureManager(config, on_feature_evaluated=publish_telemetry)Aprire
routes.pye aggiornare il codice per tenere traccia dei propri eventi nell'applicazione. Quandotrack_eventviene chiamato, viene pubblicato un evento personalizzato in Monitoraggio di Azure con l'utente specificato.from featuremanagement import track_event from flask import jsonify @bp.route("/heart", methods=["POST"]) def heart(): if current_user.is_authenticated: user = current_user.username # Track the appropriate event based on the action track_event("Liked", user) return jsonify({"status": "success"})Aprire
index.htmle aggiornare il codice per implementare il pulsante like. Il pulsante like invia una richiesta POST all'endpoint/heartquando si fa clic su .<script> function heartClicked(button) { var icon = button.querySelector('i'); // Toggle the heart icon appearance icon.classList.toggle('far'); icon.classList.toggle('fas'); // Only send a request to the dedicated heart endpoint when it's a like action if (icon.classList.contains('fas')) { fetch('/heart', { method: 'POST', headers: { 'Content-Type': 'application/json', } }); } } </script>
Compilare ed eseguire l'app
Application Insights richiede una stringa di connessione per connettersi alla risorsa di Application Insights. Impostare la
APPLICATIONINSIGHTS_CONNECTION_STRINGvariabile di ambiente sulla stringa di connessione per la risorsa di Application Insights. Per individuare il stringa di connessione, aprire il portale di Azure, passare ad Application Insights, selezionare la risorsa di Application Insights creata in precedenza e quindi passare a Panoramica. Copiare il valore di Stringa di connessione. Sostituisci il valore segnaposto nel comando seguente con la stringa di connessione copiata dalla risorsa Application Insights.setx APPLICATIONINSIGHTS_CONNECTION_STRING "applicationinsights-connection-string"Se si usa PowerShell, eseguire il comando seguente:
$Env:APPLICATIONINSIGHTS_CONNECTION_STRING = "applicationinsights-connection-string"Se si usa macOS o Linux, eseguire il comando seguente:
export APPLICATIONINSIGHTS_CONNECTION_STRING='applicationinsights-connection-string'
Raccogliere i dati di telemetria
Distribuire l'applicazione per iniziare a raccogliere dati di telemetria dagli utenti. Per testare la funzionalità, è possibile simulare l'attività utente creando molti utenti di test. Ogni utente visualizzerà una variante diversa dei messaggi di saluto e potrà interagire con l'applicazione facendo clic sul pulsante con il cuore per mettere Mi piace a una citazione. Man mano che la base utente cresce, è possibile monitorare il volume crescente di dati di telemetria raccolti in Configurazione app di Azure. È anche possibile eseguire il drill-down dei dati per analizzare il modo in cui ogni variante del flag di funzionalità influisce sul comportamento dell'utente.