

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 di report di attribuzione delle metriche su Amazon S3
<a name="metric-attribution-results-s3"></a>

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 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\$1ATTRIBUTION\$1SOURCE. 

```
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)
<a name="metric-attribution-results-s3-console"></a>

**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-stepPer [Creazione di un processo di importazione del set di dati (console)](bulk-data-import-step.md#bulk-data-import-console) istruzioni, consulta. 

## Pubblicazione di metriche per dati di massa su Amazon S3 ()AWS CLI
<a name="metric-attributinon-resuslts-s3-cli"></a>

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](API_CreateDatasetImportJob.md) 

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

## Pubblicazione di metriche per dati di massa su Amazon S3 ()AWS SDKs
<a name="metric-attributinon-resuslts-s3-sdk"></a>

Per pubblicare i parametri in un bucket Amazon S3 con, crea un processo di importazione AWS SDKs del set di dati e impostalo su true. `publishAttributionMetricsToS3` Per informazioni su ciascun parametro, consulta. [CreateDatasetImportJob](API_CreateDatasetImportJob.md) 

------
#### [ SDK for Python (Boto3) ]

```
import boto3

personalize = boto3.client('personalize')

response = personalize.create_dataset_import_job(
    jobName = 'YourImportJob',
    datasetArn = 'dataset_arn',
    dataSource = {'dataLocation':'s3://amzn-s3-demo-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://amzn-s3-demo-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();
```

------