Pubblicazione e visualizzazione dei risultati - Amazon Personalize

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Pubblicazione e visualizzazione dei risultati

Amazon Personalize invia i report per ogni metrica al nostro Amazon CloudWatch S3:

  • Per PutEvents i dati e i dati di massa incrementali, Amazon Personalize invia automaticamente i parametri a. CloudWatch Per informazioni sulla visualizzazione e l'identificazione dei report in, consulta. CloudWatch Visualizzazione delle metriche in CloudWatch

  • Per tutti i dati in blocco, se fornisci un bucket Amazon S3 quando crei l'attribuzione delle metriche, puoi scegliere di pubblicare report sui parametri nel tuo bucket Amazon S3 ogni volta che crei un processo di importazione del set di dati per i dati delle interazioni.

    Per informazioni sulla pubblicazione dei report dei parametri su Amazon S3, consulta. Pubblicazione dei parametri su Amazon S3

Visualizzazione delle metriche in CloudWatch

Importante

Dopo aver creato un'attribuzione di una metrica e registrato gli eventi o importato dati di massa incrementali, dovrai sostenere un costo mensile per metrica. CloudWatch Per informazioni sui CloudWatch prezzi, consulta la pagina CloudWatch dei prezzi di Amazon. Per interrompere l'invio delle metriche a CloudWatch, elimina l'attribuzione della metrica.

Per visualizzare le metriche in CloudWatch, completa la procedura disponibile in Rappresentazione grafica di una metrica. Il periodo minimo che puoi rappresentare graficamente è di 15 minuti. Per il termine di ricerca, specifica il nome che hai assegnato alla metrica quando hai creato l'attribuzione della metrica.

Di seguito è riportato un esempio di come potrebbe apparire una metrica in. CloudWatch La metrica mostra la percentuale di clic ogni 15 minuti per due diversi consiglieri.

Mostra un grafico della percentuale di clic ogni 15 minuti per due diversi consiglieri.

Pubblicazione dei parametri su Amazon S3

Per pubblicare i parametri su Amazon S3, fornisci un percorso al tuo bucket Amazon S3 nell'attribuzione dei parametri. Quindi pubblichi report su Amazon S3 quando crei un processo di importazione di set di dati.

Al termine del processo, puoi trovare i parametri nel tuo bucket Amazon S3. Ogni volta che pubblichi parametri, Amazon Personalize crea un nuovo file nel tuo bucket Amazon S3. Il nome del file include il metodo e la data di importazione come segue:

AggregatedAttributionMetrics - ImportMethod - Timestamp.csv

Di seguito è riportato un esempio di come potrebbero apparire le prime righe di un file CSV di un report metrico. La metrica in questo esempio riporta i clic totali di due diversi consiglieri su intervalli di 15 minuti. Ogni raccomandatore è identificato dal relativo Amazon Resource Name (ARN) nella colonna EVENT_ATTRIBUTION_SOURCE.

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 ...... .....

Pubblicazione di metriche per dati di massa su Amazon S3 (console)

Per pubblicare i parametri in un bucket Amazon S3 con la console Amazon Personalize, crea un processo di importazione del set di dati e scegli Pubblica metriche per questo processo di importazione in Pubblica metriche degli eventi su S3.

step-by-step Per Importazione di record in blocco (console) istruzioni, consulta.

Pubblicazione di metriche per dati di massa su Amazon S3 ()AWS CLI

Per pubblicare i parametri in un bucket Amazon S3 con AWS CLI(), usa AWS Command Line Interface il codice seguente per creare un processo di importazione del set di dati e fornire il flag. publishAttributionMetricsToS3 Se non desideri pubblicare i parametri per un particolare lavoro, ometti il flag. Per informazioni su ciascun parametro, consulta. CreateDatasetImportJob

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

Pubblicazione di metriche per dati di massa su Amazon S3 (AWS SDK)

Per pubblicare i parametri in un bucket Amazon S3 con gli SDK, crea un processo di importazione AWS del set di dati e impostalo su true. publishAttributionMetricsToS3 Per informazioni su ciascun parametro, consulta. CreateDatasetImportJob

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();