Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym samouczku użyjesz telemetrii w aplikacji Python do śledzenia ewaluacji flag funkcjonalności i zdarzeń niestandardowych. Telemetria umożliwia podejmowanie świadomych decyzji dotyczących strategii zarządzania funkcjami. Używasz flagi funkcji z włączoną telemetrią, która została utworzona w przeglądzie na potrzeby włączania telemetrii dla flag funkcji. Przed kontynuowaniem upewnij się, że utworzono flagę funkcji o nazwie Greeting w magazynie konfiguracji z włączoną telemetrią. Ten samouczek opiera się na samouczku dotyczącym używania flag funkcji wariantów w aplikacji napisanej w Pythonie.
Wymagania wstępne
- Flaga wariantu funkcji z włączoną telemetrią w Włącz telemetrię dla flag funkcji.
- Aplikacja korzystająca z flag funkcji wariantu w języku Python.
Dodawanie danych telemetrycznych do aplikacji w języku Python
Zainstaluj wymagane pakiety przy użyciu narzędzia pip.
pip install azure-appconfiguration-provider pip install featuremanagement["AzureMonitor"] pip install azure-monitor-opentelemetryOtwórz
app.pyi skonfiguruj aplikację w celu nawiązania połączenia z usługą Application Insights i opublikowania danych telemetrycznych. Upewnij się, że istniejąca instrukcja importufrom flask import Flaskznajduje się po wywołaniuconfigure_azure_monitor(...)przedstawionym w poniższym kodzie. Ta kolejność jest wymagana, aby automatyczna instrumentacja OpenTelemetry działała poprawnie.import os from azure.monitor.opentelemetry import configure_azure_monitor # Configure Azure Monitor configure_azure_monitor(connection_string=os.getenv("APPLICATIONINSIGHTS_CONNECTION_STRING"))Ponadto załaduj
app.pyflagi funkcji z usługi App Configuration i załaduj je do zarządzania funkcjami.FeatureManagerużywa funkcji wywołania zwrotnegopublish_telemetrydo publikowania danych telemetrycznych w usłudze Azure Monitor.from featuremanagement.azuremonitor import publish_telemetry feature_manager = FeatureManager(config, on_feature_evaluated=publish_telemetry)Otwórz
routes.pyi zaktualizuj kod, aby śledzić własne zdarzenia w aplikacji. Po wywołaniutrack_eventniestandardowe zdarzenie zostaje opublikowane w usłudze Azure Monitor z określonym użytkownikiem.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"})Otwórz
index.htmli zaktualizuj kod, aby zaimplementować przycisk polubienie. Po kliknięciu przycisku "Lubię to", żądanie POST jest wysyłane do punktu końcowego/heart.<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>
Kompilowanie i uruchamianie aplikacji
Usługa Application Insights wymaga parametrów połączenia w celu nawiązania połączenia z zasobem usługi Application Insights. Ustaw zmienną środowiskową
APPLICATIONINSIGHTS_CONNECTION_STRINGna ciąg połączenia dla zasobu usługi Application Insights. Aby zlokalizować parametry połączenia, otwórz portal Azure, przejdź do pozycji Application Insights, wybierz utworzony wcześniej zasób usługi Application Insights, a następnie przejdź do pozycji Przegląd. Skopiuj wartość elementu Connection String. Zastąp wartość symbolu zastępczego w poniższym poleceniu parametrami połączenia skopiowanymi z zasobu usługi Application Insights.setx APPLICATIONINSIGHTS_CONNECTION_STRING "applicationinsights-connection-string"Jeśli używasz programu PowerShell, uruchom następujące polecenie:
$Env:APPLICATIONINSIGHTS_CONNECTION_STRING = "applicationinsights-connection-string"Jeśli używasz systemu macOS lub Linux, uruchom następujące polecenie:
export APPLICATIONINSIGHTS_CONNECTION_STRING='applicationinsights-connection-string'
Zbieranie danych telemetrycznych
Wdróż aplikację, aby rozpocząć zbieranie danych telemetrycznych od użytkowników. Aby przetestować jego funkcjonalność, możesz symulować aktywność użytkownika, tworząc wielu użytkowników testowych. Każdy użytkownik zobaczy inny wariant wiadomości powitalnych i będzie mógł wchodzić w interakcję z aplikacją, klikając przycisk z sercem, aby polubić cytat. Wraz ze wzrostem bazy użytkowników można monitorować rosnącą ilość danych telemetrycznych zebranych w usłudze Azure App Configuration. Ponadto możesz przejść do szczegółów danych, aby przeanalizować, jak każdy wariant flagi funkcji wpływa na zachowanie użytkownika.