Ergebnisse veröffentlichen und anzeigen - Amazon Personalize

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.

Ergebnisse veröffentlichen und anzeigen

Amazon Personalize sendet die Berichte für jede Metrik an CloudWatch oder Amazon S3:

  • Für PutEvents Daten und inkrementelle Massendaten sendet Amazon Personalize automatisch Metriken an. CloudWatch Informationen zum Anzeigen und Identifizieren von Berichten in finden Sie CloudWatch unter. Metriken anzeigen in CloudWatch

  • Wenn Sie bei der Erstellung Ihrer Metrik-Attribution einen Amazon S3 S3-Bucket angeben, können Sie für alle Massendaten wählen, dass jedes Mal, wenn Sie einen Datensatz-Importjob für Interaktionsdaten erstellen, Metrikberichte in Ihrem Amazon S3 S3-Bucket veröffentlicht werden.

    Informationen zum Veröffentlichen von Metrikberichten in Amazon S3 finden Sie unterVeröffentlichen von Metriken auf Amazon S3.

Metriken anzeigen in CloudWatch

Wichtig

Nachdem Sie eine Metrik-Zuordnung erstellt und Ereignisse aufgezeichnet oder inkrementelle Massendaten importiert haben, fallen einige monatliche CloudWatch Kosten pro Metrik an. Informationen zu den CloudWatch Preisen finden Sie auf der Seite mit den CloudWatch Amazon-Preisen. Um das Senden von Metriken an zu beenden CloudWatch, löschen Sie die Metrik-Zuordnung.

Um Metriken in anzuzeigen CloudWatch, gehen Sie wie unter Metrik grafisch darstellen beschrieben vor. Der Mindestzeitraum, den Sie grafisch darstellen können, beträgt 15 Minuten. Geben Sie für den Suchbegriff den Namen ein, den Sie der Metrik bei der Erstellung der Metrik-Attribution gegeben haben.

Im Folgenden finden Sie ein Beispiel dafür, wie eine Metrik in CloudWatch erscheinen könnte. Die Metrik zeigt die Klickrate für zwei verschiedene Empfehlungen alle 15 Minuten.

Stellt die Klickrate für zwei verschiedene Empfehlungsgeber alle 15 Minuten grafisch dar.

Veröffentlichen von Metriken auf Amazon S3

Um Metriken in Amazon S3 zu veröffentlichen, geben Sie in Ihrer Metrik-Zuordnung einen Pfad zu Ihrem Amazon S3 S3-Bucket an. Anschließend veröffentlichen Sie Berichte in Amazon S3, wenn Sie einen Datensatz-Importauftrag erstellen.

Wenn der Job abgeschlossen ist, finden Sie die Metriken in Ihrem Amazon S3 S3-Bucket. Jedes Mal, wenn Sie Metriken veröffentlichen, erstellt Amazon Personalize eine neue Datei in Ihrem Amazon S3 S3-Bucket. Der Dateiname beinhaltet die Importmethode und das Datum wie folgt:

AggregatedAttributionMetrics - ImportMethod - Timestamp.csv

Im Folgenden finden Sie ein Beispiel dafür, wie die ersten Zeilen einer CSV-Datei mit einem Metrikbericht aussehen könnten. Die Metrik in diesem Beispiel gibt Auskunft über die Gesamtzahl der Klicks von zwei verschiedenen Empfehlungen in Intervallen von 15 Minuten. Jeder Empfehlungsgeber wird durch seinen Amazon-Ressourcennamen (ARN) in der Spalte EVENT_ATTRIBUTION_SOURCE identifiziert.

METRIC_NAME,EVENT_TYPE,VALUE,MATH_FUNCTION,EVENT_ATTRIBUTION_SOURCE,TIMESTAMP COUNTWATCHES,WATCH,12.0,samplecount,arn:aws:personalize:us-west-2:acctNum:recommender/recommender1Name,1666925124 COUNTWATCHES,WATCH,112.0,samplecount,arn:aws:personalize:us-west-2:acctNum:recommender/recommender2Name,1666924224 COUNTWATCHES,WATCH,10.0,samplecount,arn:aws:personalize:us-west-2:acctNum:recommender/recommender1Name,1666924224 COUNTWATCHES,WATCH,254.0,samplecount,arn:aws:personalize:us-west-2:acctNum:recommender/recommender2Name,1666922424 COUNTWATCHES,WATCH,112.0,samplecount,arn:aws:personalize:us-west-2:acctNum:recommender/recommender1Name,1666922424 COUNTWATCHES,WATCH,100.0,samplecount,arn:aws:personalize:us-west-2:acctNum:recommender/recommender2Name,1666922424 ...... .....

Veröffentlichen von Metriken für Massendaten in Amazon S3 (Konsole)

Um Metriken mit der Amazon Personalize-Konsole in einem Amazon S3-Bucket zu veröffentlichen, erstellen Sie einen Datensatz-Import-Job und wählen Sie unter Event-Metriken in S3 veröffentlichen die Option Metriken für diesen Importjob veröffentlichen aus.

step-by-step Eine Anleitung finden Sie unterMassendatensätze importieren (Konsole).

Veröffentlichen von Metriken für Massendaten in Amazon S3 (AWS CLI)

Um Metriken mit dem AWS Command Line Interface (AWS CLI) in einem Amazon S3 S3-Bucket zu veröffentlichen, verwenden Sie den folgenden Code, um einen Datensatz-Importjob zu erstellen und das publishAttributionMetricsToS3 Flag bereitzustellen. Wenn Sie keine Metriken für einen bestimmten Job veröffentlichen möchten, lassen Sie das Kennzeichen weg. Informationen zu den einzelnen Parametern finden Sie unterCreateDatasetImportJob.

aws personalize create-dataset-import-job \ --job-name dataset import job name \ --dataset-arn dataset arn \ --data-source dataLocation=s3://bucketname/filename \ --role-arn roleArn \ --import-mode INCREMENTAL \ --publish-attribution-metrics-to-s3

Veröffentlichen von Metriken für Massendaten in Amazon S3 (AWS SDKs)

Um Metriken mit den AWS SDKs in einem Amazon S3 S3-Bucket zu veröffentlichen, erstellen Sie einen Job zum Importieren von Datensätzen und setzen Sie ihn publishAttributionMetricsToS3 auf true. Informationen zu den einzelnen Parametern finden Sie unterCreateDatasetImportJob.

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') response = personalize.create_dataset_import_job( jobName = 'YourImportJob', datasetArn = 'dataset_arn', dataSource = {'dataLocation':'s3://bucket/file.csv'}, roleArn = 'role_arn', importMode = 'INCREMENTAL', publishAttributionMetricsToS3 = True ) dsij_arn = response['datasetImportJobArn'] print ('Dataset Import Job arn: ' + dsij_arn) description = personalize.describe_dataset_import_job( datasetImportJobArn = dsij_arn)['datasetImportJob'] print('Name: ' + description['jobName']) print('ARN: ' + description['datasetImportJobArn']) print('Status: ' + description['status'])
SDK for Java 2.x
public static String createPersonalizeDatasetImportJob(PersonalizeClient personalizeClient, String jobName, String datasetArn, String s3BucketPath, String roleArn, ImportMode importMode, boolean publishToS3) { long waitInMilliseconds = 60 * 1000; String status; String datasetImportJobArn; try { DataSource importDataSource = DataSource.builder() .dataLocation(s3BucketPath) .build(); CreateDatasetImportJobRequest createDatasetImportJobRequest = CreateDatasetImportJobRequest.builder() .datasetArn(datasetArn) .dataSource(importDataSource) .jobName(jobName) .roleArn(roleArn) .importMode(importMode) .publishAttributionMetricsToS3(publishToS3) .build(); datasetImportJobArn = personalizeClient.createDatasetImportJob(createDatasetImportJobRequest) .datasetImportJobArn(); DescribeDatasetImportJobRequest describeDatasetImportJobRequest = DescribeDatasetImportJobRequest.builder() .datasetImportJobArn(datasetImportJobArn) .build(); long maxTime = Instant.now().getEpochSecond() + 3 * 60 * 60; while (Instant.now().getEpochSecond() < maxTime) { DatasetImportJob datasetImportJob = personalizeClient .describeDatasetImportJob(describeDatasetImportJobRequest) .datasetImportJob(); status = datasetImportJob.status(); System.out.println("Dataset import job status: " + status); if (status.equals("ACTIVE") || status.equals("CREATE FAILED")) { break; } try { Thread.sleep(waitInMilliseconds); } catch (InterruptedException e) { System.out.println(e.getMessage()); } } return datasetImportJobArn; } catch (PersonalizeException e) { System.out.println(e.awsErrorDetails().errorMessage()); } return ""; }
SDK for JavaScript v3
// Get service clients and commands using ES6 syntax. import { CreateDatasetImportJobCommand, PersonalizeClient } from "@aws-sdk/client-personalize"; // create personalizeClient const personalizeClient = new PersonalizeClient({ region: "REGION" }); // Set the dataset import job parameters. export const datasetImportJobParam = { datasetArn: 'DATASET_ARN', /* required */ dataSource: { dataLocation: 's3://<name of your S3 bucket>/<folderName>/<CSVfilename>.csv' /* required */ }, jobName: 'NAME', /* required */ roleArn: 'ROLE_ARN', /* required */ importMode: "FULL", /* optional, default is FULL */ publishAttributionMetricsToS3: true /* set to true to publish metrics to Amazon S3 bucket */ }; export const run = async () => { try { const response = await personalizeClient.send(new CreateDatasetImportJobCommand(datasetImportJobParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();