專案資料儲存 - Amazon CloudWatch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

專案資料儲存

Evidently 會收集兩種事件:

  • 評估事件與指派給使用者工作階段的功能變化有關。Evidently 使用這些事件來產生指標和其他實驗及啟動資料,您可以在 Evidently 主控台中檢視這些資料。

    您也可以選擇將這些評估事件存放在亞馬遜 CloudWatch 日誌或 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 映射為藍色或綠色,則您可選擇從關聯和資料倉儲的角度傳送 userID、工作階段資料,或任何您想要的其他內容。

於 Simple Storage Service (Amazon S3) 中評估事件儲存的 IAM 政策和加密

若您選擇使用 Simple Storage Service (Amazon S3) 來存放評估事件,則必須新增如下所示的 IAM 政策,可讓 Evidently 將日誌發佈至 Simple Storage Service (Amazon S3) 儲存貯體。這是因為 Simple Storage Service (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 資料存放在 Simple Storage Service (Amazon S3) 中,則您也可以選擇使用具有 AWS Key Management Service 金鑰的伺服器端加密 (SSE-KMS) 對其進行加密。如需詳細資訊,請參閱使用伺服器端加密保護資料

如果您使用的是客戶受管金鑰 AWS KMS,則必須將下列項目新增至金鑰的 IAM 政策。這允許 Evidently 寫入儲存貯體。

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