CloudWatch 中的 Evidently 项目数据存储
重要
终止支持通知:2025 年 10 月 16 日,AWS 将停止对 CloudWatch Evidently 的支持。2025 年 10 月 16 日之后,您将无法再访问 Evidently 控制台或 Evidently 资源。
Evidently 收集两种类型的事件:
评估事件与分配给用户会话的功能变体有关。Evidently 使用这些事件,生成可在 Evidently 控制台中查看的指标与其他实验和启动数据。
您也可以选择将这些评估事件存储在 Amazon CloudWatch Logs 或 Amazon S3 中。
自定义事件用于通过单击和结算等用户操作生成指标。Evidently 不会提供存储自定义事件的方法。如果要将其保存,您必须修改应用程序代码以将其发送到 Evidently 之外的存储选项。
评估事件日志的格式
如果您选择将评估事件存储在 CloudWatch Logs 或 Amazon S3 中,则每个评估事件都将以下列格式存储为日志事件:
{ "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" }
以下是关于上述评估事件格式的更多详细信息:
时间戳为以毫秒为单位的 UNIX 时间
此变体是分配给此用户会话的功能变体的名称。
实体 ID 是字符串。
实体属性是客户端发送的任意值的哈希值。例如,如果
entityId
映射为蓝色或绿色,然后您可以选择从关联和数据仓库的角度选择性地发送用户 ID、会话数据或任何您想要的其它内容。
用于在 Amazon S3 中存储评估事件的 IAM policy 和加密
如果您选择使用 Amazon S3 存储评估事件,则必须添加类似以下内容的 IAM policy,以允许 Evidently 将日志发布到 Amazon S3 存储桶。这是因为 Amazon S3 存储桶及其包含的对象是私有的,默认情况下它们不允许访问其他服务。
{ "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
" } ] }
如果您将 Evidently 数据存储在 Amazon S3 中,您还可以选择使用带 AWS Key Management Service 密钥的服务器端加密 (SSE-KMS),对其进行加密。有关更多信息,请参阅使用服务器端加密保护数据。
如果您使用 AWS KMS 的客户托管式密钥,您必须将以下内容添加到密钥的 IAM policy 中。这样一来,Evidently 便可以写入存储桶。
{ "Sid": "AllowEvidentlyToUseCustomerManagedKey", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }