Almacenamiento de datos de proyectos de Evidently en CloudWatch - Amazon CloudWatch

Almacenamiento de datos de proyectos de Evidently en CloudWatch

Evidently recopila dos tipos de eventos:

  • Los eventos de evaluación están relacionados con la variación de características asignada a una sesión de usuario. Evidently utiliza estos eventos para producir métricas y otros datos de experimento y lanzamiento, que se pueden ver en la consola de Evidently.

    También puede elegir almacenar estos eventos de evaluación en Amazon CloudWatch Logs o Amazon S3.

  • Los eventos personalizados se utilizan para generar métricas a partir de acciones del usuario, tales como clics y salidas. Evidently no incluye un método para almacenar eventos personalizados. Si desea guardarlos, debe modificar el código de la aplicación para enviarlo a una opción de almacenamiento externo a Evidently.

Formato de los registros de eventos de evaluación

Si elige almacenar eventos de evaluación en CloudWatch Logs o Amazon S3, cada evento de evaluación se almacena como evento de registro con el siguiente formato:

{ "event_timestamp": 1642624900215, "event_type": "evaluation", "version": "1.0.0", "project_arn": "arn:aws:evidently:us-east-1:123456789012:project/petfood", "feature": "petfood-upsell-text", "variation": "Variation1", "entity_id": "7", "entity_attributes": {}, "evaluation_type": "EXPERIMENT_RULE_MATCH", "treatment": "Variation1", "experiment": "petfood-experiment-2" }

A continuación se muestran más detalles sobre el formato de evento de evaluación anterior:

  • La marca de hora está en tiempo UNIX con milisegundos

  • La variación es el nombre de la variación de la función asignada a esta sesión de usuario.

  • El ID de entidad es una cadena.

  • Los atributos de entidad son un hash de valores arbitrarios enviados por el cliente. Por ejemplo, si el entityId se asigna a azul o verde, entonces, de forma opcional, puede enviar ID de usuario, datos de sesión o cualquier otra cosa que desee desde una perspectiva de correlación y almacén de datos.

Política de IAM y cifrado para el almacenamiento de eventos de evaluación en Amazon S3

Si elige utilizar Amazon S3 para almacenar los eventos de evaluación, debe agregar una política de IAM como la siguiente para permitir que Evidently publique registros en el bucket de Amazon S3. Esto se debe a que los buckets de Amazon S3 y los objetos que contienen son privados y no permiten acceder a otros servicios de forma predeterminada.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::bucket_name/optional_folder/AWSLogs/account_id/*", "Condition": {"StringEquals": {"s3:x-amz-acl": "bucket-owner-full-control"}} }, { "Sid": "AWSLogDeliveryCheck", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": ["s3:GetBucketAcl", "s3:ListBucket"], "Resource": "arn:aws:s3:::bucket_name" } ] }

Si almacena datos de Evidently en Amazon S3, también puede elegir cifrarlos con cifrado del lado del servidor con claves de AWS Key Management Service (SSE-KMS). Para obtener más información, consulte Protección de los datos con el cifrado del lado del servidor.

Si utiliza una clave administrada por el cliente desde AWS KMS, debe agregar lo siguiente a la política de IAM para su clave. Esto permite que Evidently escriba en el bucket.

{ "Sid": "AllowEvidentlyToUseCustomerManagedKey", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }