Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Hinzufügen von Programmcode zur Anwendung
Wichtig
Hinweis zum Ende des Supports: Am 16. Oktober 2025 AWS wird der Support für Evidently eingestellt. CloudWatch Nach dem 16. Oktober 2025 werden Sie nicht mehr auf die Ressourcen der Evidenly-Konsole oder Evidenly-Konsole zugreifen können.
Um mit CloudWatch Evidently zu arbeiten, fügen Sie Ihrer Anwendung Code hinzu, um jeder Benutzersitzung eine Variante zuzuweisen und Messwerte an Evidently zu senden. Sie verwenden den EvaluateFeature
Vorgang CloudWatch Eviently, um Benutzersitzungen Varianten zuzuweisen, und Sie verwenden den PutProjectEvents
Vorgang, um Ereignisse an Evidently zu senden, damit diese dann Metriken für Ihre Starts oder Experimente berechnen können.
Wenn Sie Varianten oder benutzerdefinierte Metriken erstellen, bietet die CloudWatch Evidently-Konsole Beispiele für den Code, den Sie hinzufügen müssen.
Ein end-to-end Beispiel finden Sie unterTutorial: A/B-Tests mit der Evidently-Beispielanwendung.
Benutzen EvaluateFeature
Wenn bei einem Start oder Experiment Funktionsvariationen verwendet werden, verwendet die Anwendung diesen EvaluateFeatureVorgang, um jeder Benutzersitzung eine Variante zuzuweisen. Die Zuweisung einer Variante zu einem Benutzer ist ein Auswertungsereignis. Wenn Sie diesen Vorgang aufrufen, geben Sie Folgendes ein:
Feature name (Name der Funktion) – Erforderlich. Evidently verarbeitet die Bewertung gemäß den Feature-Evaluierungsregeln des Starts bzw. des Experiments und wählt eine Variante für die Entität aus.
entityId— Erforderlich. Repräsentiert einen eindeutigen Benutzer.
evaluationContext— Fakultativ. Ein JSON Objekt, das zusätzliche Informationen über einen Benutzer darstellt. Dieser Wert wird von Evidently verwendet, um den Benutzer bei Feature-Auswertungen mit einem Segment Ihrer Zielgruppe abzugleichen, wenn Sie Segmente erstellt haben. Weitere Informationen finden Sie unter Fokussieren Ihrer Zielgruppe mithilfe von Segmenten.
Im folgenden Beispiel wird ein Wert vom Typ
evaluationContext
verwendet, den Sie an Evidently senden können:{ "Browser": "Chrome", "Location": { "Country": "United States", "Zipcode": 98007 } }
Sticky Evaluations
CloudWatch Verwendet offensichtlich „stichhaltige“ Auswertungen. Eine einzige Konfiguration von entityId
, Feature, Feature-Konfiguration und evaluationContext
erhält immer dieselbe Variantenzuweisung. Diese Zeitvariationszuweisung ändert sich nur dann, wenn eine Entität zu einer Überschreibung hinzugefügt wird oder der Versuchsverkehr gewählt wird.
Eine Featurekonfiguration umfasst Folgendes:
-
Die Feature-Variationen
-
Die Variantenkonfiguration (Prozentsätze, die jeder Variante zugewiesen sind) für ein aktuell ausgeführtes Experiment für dieses Feature, falls vorhanden.
-
Die Variantenkonfiguration für einen aktuell ausgeführten Start für dieses Feature, falls vorhanden. Die Variantenkonfiguration umfasst gegebenenfalls die definierten Segmentüberschreibungen.
Wenn die Datenverkehrszuordnung für ein Experiment erhöht wird, erhalten alle entityId
, die zuvor einer Experimentbehandlungsgruppe zugewiesen wurden, weiterhin dieselbe Behandlung. Jede entityId
, die zuvor der Kontrollgruppe zugewiesen war, kann gemäß der für das Experiment angegebenen Variationskonfiguration einer Experimentbehandlungsgruppe zugewiesen werden.
Wenn die Datenverkehrszuordnung eines Experiments verringert wird, kann eine entityId
zwar von einer Behandlungsgruppe in eine Kontrollgruppe übergehen, jedoch nicht in eine andere Behandlungsgruppe.
Benutzen PutProjectEvents
Um eine benutzerdefinierte Metrik für Evidently zu codieren, verwenden Sie die PutProjectEventsOperation. Im Folgenden sehen Sie ein einfaches Beispiel für eine Nutzlast.
{ "events": [ { "timestamp": {{$timestamp}}, "type": "aws.evidently.custom", "data": "{\"details\": {\"pageLoadTime\": 800.0}, \"userDetails\": {\"userId\": \"test-user\"}}" } ] }
Der entityIdKey
kann einfach ein entityId
sein oder Sie benennen ihn um, etwa zu userId
. Im eigentlichen Fall kann entityId
ein Benutzername, eine Sitzungs-ID usw. sein.
"metricDefinition":{ "name": "noFilter", "entityIdKey": "userDetails.userId", //should be consistent with jsonValue in events "data" fields "valueKey": "details.pageLoadTime" },
Um sicherzustellen, dass Ereignisse mit dem richtigen Start oder Experiment verbunden sind, müssen Sie dasselbe entityId
übergeben, wenn Sie sowohl EvaluateFeature
als auch PutProjectEvents
aufrufen. Stellen Sie sicher, dass Sie PutProjectEvents
nach dem EvaluateFeature
Anruf anrufen, da sonst Daten gelöscht werden und von CloudWatch Eviently nicht verwendet werden.
Die PutProjectEvents
-Operation benötigt den Feature-Namen nicht als Eingabeparameter. Auf diese Weise können Sie ein einzelnes Ereignis in mehreren Experimenten verwenden. Angenommen Sie rufen EvaluateFeature
auf, wobei entityId
auf userDetails.userId
gesetzt ist. Wenn Sie zwei oder mehr Experimente ausführen, können Sie ein einzelnes Ereignis aus der Sitzung dieses Benutzers Metriken für jedes dieser Experimente ausgeben lassen. Rufen Sie hierfür PutProjectEvents
einmal für jedes Experiment mit demselben entityId
auf.
Timing
Nachdem Ihre Bewerbung EvaluateFeature
aufruft, gibt es einen Zeitraum von einer Stunde, in dem Metrikereignisse von PutProjectEvents
auf der Grundlage dieser Bewertung zugeschrieben werden. Wenn nach einem Zeitraum von einer Stunde weitere Ereignisse auftreten, werden diese nicht zugeordnet.
Wenn jedoch der gleiche entityId
für einen neuen EvaluateFeature
-Aufruf während des Zeitraums von einer Stunde verwendet wird, wird jetzt stattdessen das spätere EvaluateFeature
-Ergebnis verwendet, und der einstündige Timer wird neu gestartet. Dies kann nur unter bestimmten Umständen geschehen, z. B. wenn der Testdatenverkehr zwischen den beiden Zuweisungen eingewählt wird, wie im vorherigen Abschnitt Sticky Evaluations erläutert.
Ein end-to-end Beispiel finden Sie unterTutorial: A/B-Tests mit der Evidently-Beispielanwendung.