Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze zelfstudie gebruikt u telemetrie in uw Python-toepassing om evaluaties van functievlagken en aangepaste gebeurtenissen bij te houden. Met telemetrie kunt u weloverwogen beslissingen nemen over uw strategie voor functiebeheer. U gebruikt de functievlag met telemetrie ingeschakeld die is gemaakt in het overzicht voor het inschakelen van telemetrie voor functievlagmen. Voordat u doorgaat, moet u ervoor zorgen dat u een functievlag maakt met de naam Begroeting in uw configuratiearchief, waarbij telemetrie is ingeschakeld. Deze zelfstudie bouwt voort op de zelfstudie voor het gebruik van variantfunctievlagmen in een Python-toepassing.
Vereiste voorwaarden
- De variantfunctievlag met telemetrie ingeschakeld vanuit Telemetrie inschakelen voor functievlagmen.
- De applicatie van variantfunctievlaggen gebruiken in een Python-toepassing.
Telemetrie toevoegen aan uw Python-toepassing
Installeer de vereiste pakketten met behulp van pip:
pip install azure-appconfiguration-provider pip install featuremanagement["AzureMonitor"] pip install azure-monitor-opentelemetryOpen
app.pyen configureer uw toepassing om verbinding te maken met Application Insights en telemetriegegevens te publiceren. Zorg ervoor dat de bestaandefrom flask import Flaskimportinstructie wordt weergegeven na deconfigure_azure_monitor(...)aanroep die wordt weergegeven in de volgende code. Deze volgorde is vereist om automatische instrumentatie van OpenTelemetry correct te laten werken.import os from azure.monitor.opentelemetry import configure_azure_monitor # Configure Azure Monitor configure_azure_monitor(connection_string=os.getenv("APPLICATIONINSIGHTS_CONNECTION_STRING"))app.pyLaad ook uw functievlagmen vanuit App Configuration en laad ze in functiebeheer.FeatureManagergebruikt depublish_telemetrycallback-functie om telemetrie te publiceren naar Azure Monitor.from featuremanagement.azuremonitor import publish_telemetry feature_manager = FeatureManager(config, on_feature_evaluated=publish_telemetry)Open uw code en werk
routes.pydeze bij om uw eigen gebeurtenissen in uw toepassing bij te houden. Wanneertrack_eventwordt aangeroepen, wordt een aangepaste gebeurtenis gepubliceerd in Azure Monitor met de opgegeven gebruiker.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"})Open
index.htmlen werk de code bij om de knop Like te implementeren. De knop Like verzendt een POST-aanvraag naar het/hearteindpunt wanneer erop wordt geklikt.<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>
De app bouwen en uitvoeren
Application Insights vereist een verbindingsreeks om verbinding te maken met uw Application Insights-resource. Stel de
APPLICATIONINSIGHTS_CONNECTION_STRINGomgevingsvariabele in op de verbindingsreeks voor uw Application Insights-resource. Als u de verbindingsreeks wilt zoeken, opent u de Azure-portal, gaat u naar Application Insights, selecteert u de Application Insights-resource die u eerder hebt gemaakt en gaat u naar Overzicht. Kopieer de waarde van verbindingsreeks. Vervang de waarde van de plaatsaanduiding in het volgende commando door de verbindingsreeks die u hebt gekopieerd van uw Application Insights-resource.setx APPLICATIONINSIGHTS_CONNECTION_STRING "applicationinsights-connection-string"Als u PowerShell gebruikt, voert u de volgende opdracht uit:
$Env:APPLICATIONINSIGHTS_CONNECTION_STRING = "applicationinsights-connection-string"Als u macOS of Linux gebruikt, voert u de volgende opdracht uit:
export APPLICATIONINSIGHTS_CONNECTION_STRING='applicationinsights-connection-string'
Telemetrie verzamelen
Implementeer uw toepassing om te beginnen met het verzamelen van telemetriegegevens van uw gebruikers. Als u de functionaliteit ervan wilt testen, kunt u gebruikersactiviteiten simuleren door veel testgebruikers te maken. Elke gebruiker krijgt een andere variant van welkomstberichten te zien en kan met de applicatie interageren door op de hartknop te klikken om een citaat leuk te vinden. Naarmate uw gebruikersbestand groeit, kunt u het toenemende aantal telemetriegegevens bewaken dat wordt verzameld in Azure App Configuration. Daarnaast kunt u inzoomen op de gegevens om te analyseren hoe elke variant van de functievlag het gedrag van gebruikers beïnvloedt.