

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.

# Messung der Wirkung von Empfehlungen mit einer metrischen Zuordnung
<a name="metric-attributions"></a>

 Um die Wirkung von Artikelempfehlungen zu messen, können Sie eine metrische Zuordnung erstellen. Mit einer *metrischen Zuordnung* werden Berichte erstellt, die auf den Artikelinteraktionen und Artikeldaten, die Sie importieren, sowie auf den von Ihnen angegebenen Metriken basieren. Zum Beispiel die Gesamtlänge der von Benutzern angesehenen Filme oder die Gesamtzahl der Klickereignisse. Amazon Personalize aggregiert Berechnungen über einen Zeitraum von 15 Minuten. Für gestreamte Interaktionsdaten und inkrementelle Massendaten sendet Amazon Personalize automatisch Metrikberichte an Amazon. CloudWatch Für Massendaten können Sie wählen, ob Sie Berichte in einem Amazon S3 S3-Bucket veröffentlichen möchten. 

 Fügen Sie für jede Interaktion, die Sie importieren, Quelldaten hinzu, um verschiedene Kampagnen, Empfehlungsgeber und Drittanbieter zu vergleichen. Sie können die Empfehlungs-ID der Empfehlungen, die Sie dem Benutzer gezeigt haben, oder die Ereignisquelle, z. B. die eines Drittanbieters, angeben. 

 Möglicherweise haben Sie eine Video-Streaming-App, die Filmempfehlungen von zwei verschiedenen Amazon Personalize Personalize-Empfehlungsgebern anzeigt. Wenn Sie herausfinden möchten, welcher Empfehlungsgeber die meisten Wiedergabeereignisse generiert, könnten Sie eine metrische Zuordnung erstellen, die die Gesamtzahl der Wiedergabeereignisse erfasst. Dann könnten Sie die Wiedergabeereignisse aufzeichnen, wenn Nutzer mit Empfehlungen interagieren, und diese `recommendationId` in jedes Ereignis einbeziehen. Amazon Personalize verwendet die`recommendationId`, um jeden Empfehlungsgeber zu identifizieren. Während Sie Ereignisse aufzeichnen, können Sie sich die Gesamtsumme der Ereignisse ansehen, die alle 15 Minuten für beide Empfehlungsgeber zusammengefasst wurden. CloudWatch Codebeispiele, die zeigen, wie Sie ein `recommendationId` oder ein `eventAttributionSource` für ein Ereignis angeben, finden Sie unter. [Ereignismetriken und Attributionsberichte](event-metrics.md) 

**Topics**
+ [Richtlinien und Anforderungen für die Zuordnung von Metriken](metric-attribution-requirements.md)
+ [Eine Amazon Personalize-Metrikzuweisung erstellen](creating-metric-attribution.md)
+ [Aktualisierung einer Amazon Personalize Personalize-Metrikzuweisung](updating-metric-attribution.md)
+ [Löschen einer Amazon Personalize Personalize-Metrikzuweisung](deleting-metric-attribution.md)
+ [Anzeigen von Diagrammen mit metrischen Daten in CloudWatch](metric-attribution-results-cloudwatch.md)
+ [Veröffentlichen von Berichten zur Zuordnung von Metriken in Amazon S3](metric-attribution-results-s3.md)

# Richtlinien und Anforderungen für die Zuordnung von Metriken
<a name="metric-attribution-requirements"></a>

 Amazon Personalize beginnt erst, die Auswirkungen von Empfehlungen zu berechnen und zu melden, nachdem Sie eine metrische Zuordnung erstellt haben. Um einen möglichst vollständigen Verlauf zu erstellen, empfehlen wir, vor dem Import Ihrer Interaktionsdaten eine metrische Zuordnung zu erstellen. Wenn Sie mit der Amazon Personalize Personalize-Konsole einen Datensatz-Importjob für einen Datensatz mit Artikelinteraktionen erstellen, haben Sie die Möglichkeit, auf einer neuen Registerkarte eine Metrik-Attribution zu erstellen. Anschließend können Sie zum Importauftrag zurückkehren, um ihn abzuschließen. 

 Nachdem Sie eine Metrikzuweisung 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](https://aws.amazon.com/cloudwatch/pricing/). Um das Senden von Metriken an zu beenden CloudWatch, [löschen Sie die Metrik-Zuordnung](deleting-metric-attribution.md).

 Um zu sehen, wie sich Empfehlungen im Laufe der Zeit auswirken, sollten Sie weiterhin Daten importieren, während Kunden mit Empfehlungen interagieren. Wenn Sie bereits Daten importiert haben, können Sie trotzdem eine metrische Zuordnung erstellen und damit beginnen, die Wirkung von Empfehlungen zu messen. Amazon Personalize berichtet jedoch nicht über Daten, die Sie vor der Erstellung importiert haben. 

Im Folgenden finden Sie Richtlinien und Anforderungen für die Erstellung von Berichten mit einer metrischen Zuordnung:
+ Sie müssen Amazon Personalize die Erlaubnis erteilen, auf Daten zuzugreifen und sie einzugeben. CloudWatch Richtlinienbeispiele finden Sie unter [Amazon Personalize Zugriff gewähren auf CloudWatch](#metric-attribution-cw-permissions).
+ Um Metriken in Amazon S3 zu veröffentlichen, erteilen Sie Amazon Personalize die Erlaubnis, in Ihren Bucket zu schreiben. Sie müssen auch den Bucket-Pfad in Ihrer Metrik-Zuordnung angeben. Richtlinienbeispiele finden Sie unter [Amazon Personalize Zugriff auf Ihren Amazon S3 S3-Bucket gewähren](#metric-attribution-s3-permissions).
+  Um Metriken veröffentlichen zu können CloudWatch, müssen die Datensätze weniger als 14 Tage alt sein. Wenn Ihre Daten älter sind, werden diese Datensätze nicht in Berechnungen oder Berichten berücksichtigt. 
+  Das Importieren doppelter Ereignisse (Ereignisse, die exakt mit allen Attributen übereinstimmen) kann zu unerwartetem Verhalten, einschließlich ungenauer Metriken, führen. Wir empfehlen, vor dem Import doppelte Datensätze aus allen Massendaten zu entfernen und zu vermeiden, dass doppelte Ereignisse während des `PutEvents` Vorgangs importiert werden. 
+ Ihr Datensatz mit Artikelinteraktionen muss eine `EVENT_TYPE` Spalte enthalten.
+ Sie können keine Metrikberichte für Daten in einem Datensatz mit Aktionsinteraktionen erstellen.
+ Sie können höchstens eine Metrik-Attribution pro Datensatzgruppe erstellen. Jede Metrik-Attribution kann maximal 10 Metriken enthalten.

Um Quellen vergleichen zu können, muss jedes Interaktionsereignis ein `recommendationId` oder `eventAttributionSource` enthalten. Sie können maximal 100 eindeutige Quellen für die Zuordnung von Ereignissen angeben. `PutEvents`-Codebeispiele finden Sie unter [Ereignismetriken und Attributionsberichte](event-metrics.md).
+  Wenn Sie eine angeben`recommendationId`, bestimmt Amazon Personalize automatisch die Quellkampagne oder den Empfehlungsgeber und identifiziert ihn in Berichten in einer EVENT\$1ATTRIBUTION\$1SOURCE-Spalte. 
+  Wenn Sie beide Attribute angeben, verwendet Amazon Personalize nur die`eventAttributionSource`. 
+  Wenn Sie keine Quelle angeben, kennzeichnet Amazon Personalize die Quelle `SOURCE_NAME_UNDEFINED` in Berichten. 

**Topics**
+ [Amazon Personalize Zugriff gewähren auf CloudWatch](#metric-attribution-cw-permissions)
+ [Amazon Personalize Zugriff auf Ihren Amazon S3 S3-Bucket gewähren](#metric-attribution-s3-permissions)

## Amazon Personalize Zugriff gewähren auf CloudWatch
<a name="metric-attribution-cw-permissions"></a>

**Wichtig**  
Wenn Sie Berechtigungen erteilen, platziert und validiert Amazon Personalize eine kleine Datenmenge. CloudWatch Dabei fallen einmalige Kosten von weniger als 0,30\$1 an. Weitere Informationen zur CloudWatch Preisgestaltung finden Sie auf der Seite mit den [ CloudWatch Amazon-Preisen](https://aws.amazon.com/cloudwatch/pricing/).

Um Amazon Personalize Zugriff darauf zu gewähren CloudWatch, fügen Sie Ihrer Amazon Personalize Personalize-Servicerolle eine neue AWS Identity and Access Management (IAM-) Richtlinie hinzu, die der Rolle die Berechtigung erteilt, die `PutMetricData` Aktion für zu verwenden. CloudWatch Das folgende Richtlinienbeispiel gewährt Berechtigungen. `PutMetricData`

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:PutMetricData"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Amazon Personalize Zugriff auf Ihren Amazon S3 S3-Bucket gewähren
<a name="metric-attribution-s3-permissions"></a>

 So gewähren Sie Amazon Personalize Zugriff auf Ihren Amazon S3 S3-Bucket:
+ Fügen Sie Ihrer Amazon Personalize Personalize-Servicerolle eine IAM-Richtlinie hinzu, die der Rolle die Erlaubnis erteilt, die `PutObject` Aktion in Ihrem Bucket zu verwenden. 

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Id": "PersonalizeS3BucketAccessPolicy",
      "Statement": [
          {
              "Sid": "PersonalizeS3BucketAccessPolicy",
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject"
              ],
              "Resource": [
                  "arn:aws:s3:::amzn-s3-demo-bucket",
                  "arn:aws:s3:::amzn-s3-demo-bucket/*"
              ]
          }
      ]
  }
  ```

------
+ Fügen Sie Ihrem Amazon S3 S3-Ausgabe-Bucket eine Bucket-Richtlinie hinzu, die dem Amazon Personalize Personalize-Prinzip die Erlaubnis erteilt, die `PutObject` Aktionen zu verwenden.

   Wenn Sie AWS Key Management Service (AWS KMS) für die Verschlüsselung verwenden, müssen Sie Amazon Personalize und Ihrer Amazon Personalize IAM-Servicerolle die Erlaubnis zur Verwendung Ihres Schlüssels erteilen. Weitere Informationen finden Sie unter [Amazon Personalize die Erlaubnis zur Verwendung Ihres AWS KMS Schlüssels erteilen](granting-personalize-key-access.md).

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Id": "PersonalizeS3BucketAccessPolicy",
      "Statement": [
          {
              "Sid": "PersonalizeS3BucketAccessPolicy",
              "Effect": "Allow",
              "Principal": {
                  "Service": "personalize.amazonaws.com"
              },
              "Action": [
                  "s3:PutObject"
              ],
              "Resource": [
                  "arn:aws:s3:::amzn-s3-demo-bucket",
                  "arn:aws:s3:::amzn-s3-demo-bucket/*"
              ]
          }
      ]
  }
  ```

------

# Eine Amazon Personalize-Metrikzuweisung erstellen
<a name="creating-metric-attribution"></a>

**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](https://aws.amazon.com/cloudwatch/pricing/). Um das Senden von Metriken an zu beenden CloudWatch, [löschen Sie die Metrik-Zuordnung](deleting-metric-attribution.md). 

Um mit der Generierung von Metrikberichten zu beginnen, erstellen Sie eine Metrikzuweisung und importieren Interaktionsdaten. Wenn Sie eine Metrik-Attribution erstellen, geben Sie eine Liste von Ereignistypen an, über die berichtet werden soll. Für jeden Ereignistyp geben Sie eine Funktion an, die Amazon Personalize bei der Erfassung der Daten anwendet. Zu den verfügbaren Funktionen gehören `SUM(DatasetType.COLUMN_NAME)` und`SAMPLECOUNT()`. 

 Angenommen, Sie haben eine Online-Videostreaming-App und möchten zwei Messwerte verfolgen: die Klickrate für Empfehlungen und die Gesamtlänge der angesehenen Filme, wobei jedes Video im Artikeldatensatz ein `LENGTH` Attribut enthält. Sie würden eine Metrik-Attribution erstellen und zwei Metriken hinzufügen, die jeweils einen Ereignistyp und eine Funktion haben. Die erste könnte für den `Click` Ereignistyp mit einer `SAMPLECOUNT()` Funktion gelten. Die zweite könnte für den `Watch` Ereignistyp mit einer `SUM(Items.LENGTH)` Funktion sein. 

Sie können `SUM()` Funktionen nur auf numerische Spalten von Datensätzen vom Typ Items und Item Interactions anwenden. Um eine `SUM()` Funktion auf eine Spalte in einem Artikel-Datensatz anzuwenden, müssen Sie zuerst Elementmetadaten importieren.

 Sie können eine Metrik-Attribution mit der Amazon Personalize Personalize-Konsole oder AWS Command Line Interface AWS SDKS erstellen.

**Topics**
+ [Eine Metrik-Zuordnung erstellen (Konsole)](#create-metric-attribution-console)
+ [Eine Metrik-Attribution erstellen ()AWS CLI](#create-metric-attribution-cli)
+ [Eine metrische Zuordnung erstellen ()AWS SDKs](#create-metric-attribution-sdk)

## Eine Metrik-Zuordnung erstellen (Konsole)
<a name="create-metric-attribution-console"></a>

 Um eine Metrik-Attribution mit der Amazon Personalize Personalize-Konsole zu erstellen, navigieren Sie zur Seite Metrik-Zuordnung und wählen **Metrik-Attribution** **erstellen**. Wenn Sie eine Metrik-Attribution erstellen, geben Sie einen optionalen Amazon S3 S3-Bucket-Pfad, Ihre Amazon Personalize IAM-Servicerolle und eine Liste von Metriken an, über die Sie Berichte erstellen möchten. 

 Wenn Sie mit der Amazon Personalize Personalize-Konsole einen Job zum Importieren von Datensätzen mit Artikelinteraktionen erstellen, haben Sie die Möglichkeit, auf einer neuen Registerkarte eine Metrik-Attribution zu erstellen. Anschließend können Sie zum Importjob zurückkehren, um ihn abzuschließen. Wenn Sie sich bereits auf der Seite **Metrik-Attribution konfigurieren** befinden, können Sie mit Schritt 4 fortfahren. 

**Um eine Metrik-Attribution zu erstellen**

1. Öffnen Sie zu [https://console.aws.amazon.com/personalize/Hause](https://console.aws.amazon.com/personalize/home) die Amazon Personalize Personalize-Konsole und melden Sie sich bei Ihrem Konto an. 

1. Wählen Sie Ihre Datensatzgruppe aus.

1. Wählen Sie im Navigationsbereich unter **Benutzerdefinierte Ressourcen** die Option **Metrische Zuordnung** aus.

1. Wählen Sie unter **Details zur metrischen Zuordnung** die Option **Metrik-Attribution erstellen** aus.

1. Geben Sie auf der Seite **Metrik-Attribution konfigurieren** der Metrik-Attribution einen Namen.

1. Wenn Sie Metriken für den Amazon **S3-Datenausgabepfad in Amazon S3** veröffentlichen möchten, geben Sie den Amazon S3-Ziel-Bucket ein. Dies ermöglicht die Option, Metriken jedes Mal zu veröffentlichen, wenn Sie einen Datensatz-Importauftrag erstellen. Verwenden Sie die folgende Syntax:

   **s3://amzn-s3-demo-bucket/<folder> path>**

1. Wenn Sie AWS KMS für die Verschlüsselung den **KMS-Schlüssel ARN** verwenden, geben Sie den Amazon-Ressourcennamen (ARN) für den AWS KMS Schlüssel ein. Sie müssen Amazon Personalize und Ihrer Amazon Personalize IAM-Servicerolle die Erlaubnis zur Verwendung Ihres Schlüssels erteilen. Weitere Informationen finden Sie unter [Amazon Personalize die Erlaubnis zur Verwendung Ihres AWS KMS Schlüssels erteilen](granting-personalize-key-access.md).

1. Wählen Sie in der **IAM-Rolle**, ob Sie eine neue Servicerolle erstellen oder eine bestehende verwenden möchten. Die Rolle, für CloudWatch die Sie sich entscheiden, muss über `PutMetricData` Berechtigungen verfügen. Wenn Sie auf Amazon S3 veröffentlichen möchten, muss die Rolle über `PutObject` Berechtigungen für Ihren Amazon S3 S3-Bucket verfügen. 

   Um die Rolle zu verwenden, in der Sie erstellt haben[Eine IAM-Rolle für Amazon Personalize erstellen](set-up-required-permissions.md#set-up-create-role-with-permissions), müssen Sie möglicherweise Richtlinien für CloudWatch Amazon S3 hinzufügen.

   Beispiele für Richtlinien finden Sie unter [Amazon Personalize Zugriff gewähren auf CloudWatch](metric-attribution-requirements.md#metric-attribution-cw-permissions) und[Amazon Personalize Zugriff auf Ihren Amazon S3 S3-Bucket gewähren](metric-attribution-requirements.md#metric-attribution-s3-permissions).

1. Wählen Sie **Weiter** aus.

1. Wählen Sie auf der Seite **Metrikattribute definieren** aus, wie Metriken definiert werden sollen. Wählen Sie **Metrikattribute erstellen**, um das Builder-Tool zu verwenden. Wählen Sie **Metrikattribute** eingeben, um Metriken im JSON-Format einzugeben.
   + Wenn Sie **Metrikattribute erstellen** wählen, geben Sie für jede Metrik einen Namen und einen Ereignistyp an und wählen Sie eine Funktion aus. Wählen Sie für `SUM()` Funktionen den Spaltennamen aus. Wählen Sie **Metrikattribut** hinzufügen, um weitere Metriken hinzuzufügen. 
   + Wenn Sie **Metrikattribute eingeben** wählen, geben Sie jede Metrik im JSON-Format ein. Im Folgenden wird gezeigt, wie eine Metrik formatiert wird.

     ```
     {
         "EventType": "watch",
         "MetricName": "MinutesWatchedTracker", 
         "MetricMathExpression": "SUM(Items.LENGTH)"
     }
     ```

1. Wählen Sie **Weiter** aus.

1. Überprüfen Sie auf der **Seite Überprüfen und erstellen** die Details für die neue Metrik-Attribution. Wählen Sie **Previous (Zurück)** aus, um Änderungen vorzunehmen. **Um die Metrik-Attribution zu erstellen, wählen Sie Erstellen aus.** Wenn die Metrik-Attribution aktiv ist, können Sie mit dem Import von Daten beginnen und die Ergebnisse anzeigen. Informationen zum Anzeigen von Ergebnissen finden Sie unter[Anzeigen von Diagrammen mit metrischen Daten in CloudWatch](metric-attribution-results-cloudwatch.md). Informationen zum Veröffentlichen von Ergebnissen in Amazon S3 finden Sie unter[Veröffentlichen von Berichten zur Zuordnung von Metriken in Amazon S3](metric-attribution-results-s3.md).

## Eine Metrik-Attribution erstellen ()AWS CLI
<a name="create-metric-attribution-cli"></a>

 Der folgende Code zeigt, wie Sie eine metrische Zuordnung mit dem erstellen. AWS Command Line Interface Die von Ihnen angegebene Rolle muss über `PutMetricData` Berechtigungen für Ihren Amazon S3-Bucket CloudWatch und, falls Sie auf Amazon S3 veröffentlichen, `PutObject` über Berechtigungen für Ihren Amazon S3 S3-Bucket verfügen. Um die Rolle zu verwenden, in der Sie erstellt haben[Eine IAM-Rolle für Amazon Personalize erstellen](set-up-required-permissions.md#set-up-create-role-with-permissions), müssen Sie möglicherweise Richtlinien für CloudWatch Amazon S3 hinzufügen. Beispiele für Richtlinien finden Sie unter [Amazon Personalize Zugriff gewähren auf CloudWatch](metric-attribution-requirements.md#metric-attribution-cw-permissions) und[Amazon Personalize Zugriff auf Ihren Amazon S3 S3-Bucket gewähren](metric-attribution-requirements.md#metric-attribution-s3-permissions). 

 Geben Sie für jede Metrik einen Namen, einen Ereignistyp und einen Ausdruck (eine Funktion) an. Zu den verfügbaren Funktionen gehören `SUM(DatasetType.COLUMN_NAME)` und`SAMPLECOUNT()`. Geben Sie für SUM () -Funktionen den Datensatztyp und den Spaltennamen an. Beispiel, `SUM(Items.LENGTH)`. Informationen zu den einzelnen Parametern finden Sie unter[CreateMetricAttribution](API_CreateMetricAttribution.md). 

```
aws personalize create-metric-attribution \
--name metric attribution name \
--dataset-group-arn dataset group arn \
--metrics-output-config "{\"roleArn\": \"Amazon Personalize service role ARN\", \"s3DataDestination\":{\"kmsKeyArn\":\"kms key ARN\",\"path\":\"s3://amzn-s3-demo-bucket/folder-name/\"}}" \
--metrics "[{
  \"eventType\": \"event type\",
  \"expression\": \"SUM(DatasetType.COLUMN_NAME)\",
  \"metricName\": \"metric name\"
}]"
```

## Eine metrische Zuordnung erstellen ()AWS SDKs
<a name="create-metric-attribution-sdk"></a>

 Der folgende Code zeigt, wie Sie mit dem SDK for Python (Boto3) eine metrische Zuordnung erstellen. Die von Ihnen angegebene Rolle muss über `PutMetricData` Berechtigungen für Ihren Amazon S3-Bucket CloudWatch und, falls Sie auf Amazon S3 veröffentlichen, `PutObject` über Berechtigungen für Ihren Amazon S3 S3-Bucket verfügen. Um die Rolle zu verwenden, in der Sie erstellt haben[Eine IAM-Rolle für Amazon Personalize erstellen](set-up-required-permissions.md#set-up-create-role-with-permissions), müssen Sie möglicherweise Richtlinien für CloudWatch Amazon S3 hinzufügen. Beispiele für Richtlinien finden Sie unter [Amazon Personalize Zugriff gewähren auf CloudWatch](metric-attribution-requirements.md#metric-attribution-cw-permissions) und[Amazon Personalize Zugriff auf Ihren Amazon S3 S3-Bucket gewähren](metric-attribution-requirements.md#metric-attribution-s3-permissions). 

 Geben Sie für jede Metrik einen Namen, einen Ereignistyp und einen Ausdruck (eine Funktion) an. Zu den verfügbaren Funktionen gehören `SUM(DatasetType.COLUMN_NAME)` und`SAMPLECOUNT()`. Geben Sie für SUM () -Funktionen den Datensatztyp und den Spaltennamen an. Beispiel, `SUM(Items.LENGTH)`. Informationen zu den einzelnen Parametern finden Sie unter[CreateMetricAttribution](API_CreateMetricAttribution.md). 

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

```
import boto3

personalize = boto3.client('personalize')

metricsList = [{ 
      "eventType": "event type",
      "expression": "SUM(DatasetType.COLUMN_NAME)",
      "metricName": "metric name"
}]

outputConfig = {
  "roleArn": "Amazon Personalize service role ARN", 
  "s3DataDestination": {
    "kmsKeyArn": "key ARN", 
    "path": "s3://amzn-s3-demo-bucket/<folder>"
  }
}
response = personalize.create_metric_attribution(
  name = 'metric attribution name',
  datasetGroupArn = 'dataset group arn',
  metricsOutputConfig = outputConfig,
  metrics = metricsList
)

metric_attribution_arn = response['metricAttributionArn']

print ('Metric attribution ARN: ' + metric_attribution_arn)

description = personalize.describe_metric_attribution(
    metricAttributionArn = metric_attribution_arn)['metricAttribution']

print('Name: ' + description['name'])
print('ARN: ' + description['metricAttributionArn'])
print('Status: ' + description['status'])
```

------
#### [ SDK for Java 2.x ]

```
public static String createMetricAttribution(PersonalizeClient personalizeClient,
                                             String eventType,
                                             String expression,
                                             String metricName,
                                             String metricAttributionName,
                                             String roleArn,
                                             String s3Path,
                                             String kmsKeyArn,
                                             String datasetGroupArn) {
    String metricAttributionArn = "";

    try {

        MetricAttribute attribute = MetricAttribute.builder()
                .eventType(eventType)
                .expression(expression)
                .metricName(metricName)
                .build();

        ArrayList<MetricAttribute> metricAttributes = new ArrayList<>();
        metricAttributes.add(attribute);

        S3DataConfig s3DataDestination = S3DataConfig.builder()
                .kmsKeyArn(kmsKeyArn)
                .path(s3Path)
                .build();

        MetricAttributionOutput outputConfig = MetricAttributionOutput.builder()
                .roleArn(roleArn)
                .s3DataDestination(s3DataDestination)
                .build();

        CreateMetricAttributionRequest createMetricAttributionRequest = CreateMetricAttributionRequest.builder()
                .name(metricAttributionName)
                .datasetGroupArn(datasetGroupArn)
                .metrics(metricAttributes)
                .metricsOutputConfig(outputConfig)
                .build();
        CreateMetricAttributionResponse createMetricAttributionResponse = personalizeClient.createMetricAttribution(createMetricAttributionRequest);

        metricAttributionArn = createMetricAttributionResponse.metricAttributionArn();
        System.out.println("Metric attribution ARN: " + metricAttributionArn);
        return metricAttributionArn;
    } catch (PersonalizeException e) {
        System.out.println(e.awsErrorDetails().errorMessage());
    }
    return "";
}
```

------
#### [ SDK for JavaScript v3 ]

```
// Get service clients and commands using ES6 syntax.
import { CreateMetricAttributionCommand, PersonalizeClient } from
  "@aws-sdk/client-personalize";
  
// create personalizeClient
const personalizeClient = new PersonalizeClient({
  region: "REGION"
});

// set the metric attribution param
export const createMetricAttributionParam = {
  name: "METRIC_ATTRIBUTION_NAME",            /* required */
  datasetGroupArn: "DATASET_GROUP_ARN",       /* required */
  metricsOutputConfig: {
    roleArn: "ROLE_ARN",                      /* required */
    s3DataDestination: {                
      kmsKeyArn: "KEY_ARN",                                                      /* optional */
      path: "s3://amzn-s3-demo-bucket/<folderName>/",    /* optional */
    },
  },
  metrics: [                        
    {
      eventType: "EVENT_TYPE",                      /* required for each metric */
      expression: "SUM(DatasetType.COLUMN_NAME)",   /* required for each metric */
      metricName: "METRIC_NAME",                    /* required for each metric */
    }
  ]
};

export const run = async () => {
  try {
    const response = await personalizeClient.send(
      new CreateMetricAttributionCommand(createMetricAttributionParam)
    );
    console.log("Success", response);
    return response; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

------

# Aktualisierung einer Amazon Personalize Personalize-Metrikzuweisung
<a name="updating-metric-attribution"></a>

 Wenn Sie eine Metrik-Attribution aktualisieren, können Sie Metriken hinzufügen und entfernen und die Ausgabekonfiguration ändern. Sie können eine Metrikzuweisung mit der Amazon Personalize Personalize-Konsole oder AWS dem AWS Command Line Interface SDKS aktualisieren. 

**Topics**
+ [Aktualisierung einer Metrik-Zuordnung (Konsole)](#updating-metric-attribution-console)
+ [Aktualisierung einer Metrik-Attribution ()AWS CLI](#updating-metric-attribution-cli)
+ [Aktualisierung einer metrischen Zuordnung (AWS SDK)](#updating-metric-attribution-sdk)

## Aktualisierung einer Metrik-Zuordnung (Konsole)
<a name="updating-metric-attribution-console"></a>

Um eine Metrik-Zuordnung mit der Amazon Personalize-Konsole zu aktualisieren, nehmen Sie Ihre Änderungen auf der Seite **Metrik-Zuordnung** vor.

**Um eine Metrik-Zuordnung zu aktualisieren**

1. Öffnen Sie zu [https://console.aws.amazon.com/personalize/Hause](https://console.aws.amazon.com/personalize/home) die Amazon Personalize Personalize-Konsole und melden Sie sich bei Ihrem Konto an. 

1. Wählen Sie Ihre Datensatzgruppe aus.

1. Wählen Sie im Navigationsbereich **Metrische Zuordnung** aus.

1. Wählen Sie im unteren Bereich die Registerkarte **Metrikattribute** oder die Registerkarte **Konfiguration der metrischen Zuordnung** aus, um mit den Änderungen zu beginnen.
   + Um Metriken hinzuzufügen oder zu entfernen, wählen Sie den Tab **Metrikattribute** und dann **Attribute bearbeiten** aus. Nehmen Sie Ihre Änderungen auf der Seite **Metrikattribute bearbeiten** vor und wählen Sie **Aktualisieren**, um Ihre Änderungen zu speichern.
   + Um Änderungen am Amazon S3 S3-Ausgabe-Bucket oder der IAM-Servicerolle vorzunehmen, wählen Sie die Registerkarte **Konfiguration der Metrikzuweisung bearbeiten** und nehmen Sie die Änderungen auf der Seite **Attributionskonfiguration bearbeiten** vor. Wählen Sie **Aktualisieren** aus, um Ihre Änderungen zu speichern.

## Aktualisierung einer Metrik-Attribution ()AWS CLI
<a name="updating-metric-attribution-cli"></a>

Nachdem Sie eine Metrik-Attribution erstellt haben, können Sie die AWS Command Line Interface (AWS CLI) verwenden, um Metriken hinzuzufügen und zu entfernen und die Ausgabekonfiguration zu ändern. Der folgende Code zeigt, wie Sie Metriken mit dem `update-metric-attribution` Befehl entfernen:

```
aws personalize update-metric-attribution \
--metric-attribution-arn metric attribution arn \
--remove-metrics metricName1 metricName2
```

 Der folgende Code zeigt, wie Sie eine zusätzliche Metrik hinzufügen und eine neue Ausgabekonfiguration angeben:

```
aws personalize update-metric-attribution \
--metric-attribution-arn metric attribution arn \
--metrics-output-config "{\"roleArn\": \"new role ARN\", \"s3DataDestination\":{\"kmsKeyArn\":\"kms key ARN\",\"path\":\"s3://amzn-s3-demo-bucket2/new-folder-name/\"}}" \
--add-metrics "[{
  \"eventType\": \"event type\",
  \"expression\": \"SUM(DatasetType.COLUMN_NAME)\",
  \"metricName\": \"metric name\"
}]"
```

 Bei Erfolg gibt Amazon Personalize den ARN der Metrik-Attribution zurück, die Sie aktualisiert haben. Eine vollständige Liste aller Parameter finden Sie unter. [UpdateMetricAttribution](API_UpdateMetricAttribution.md)

## Aktualisierung einer metrischen Zuordnung (AWS SDK)
<a name="updating-metric-attribution-sdk"></a>

Nachdem Sie eine Metrik-Attribution erstellt haben, können Sie Metriken hinzufügen oder entfernen und deren Ausgabekonfiguration ändern. Der folgende Code zeigt, wie Sie Metriken aus einer Metrik-Attribution entfernen.

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

```
import boto3
            
personalize = boto3.client('personalize')

metricsToRemove = ["metricName1", "metricName2"]
            
response = personalize.update_metric_attribution(
  metricAttributionArn = "metric attribution ARN",
  removeMetrics = metricsToRemove
)
```

------
#### [ SDK for Java 2.x ]

```
public static void removeMetrics(PersonalizeClient client,
                                 String metricAttributionArn,
                                 String metric1Name,
                                 String metric2Name) {

    ArrayList<String> metricsToRemove = new ArrayList<>(Arrays.asList(metric1Name, metric2Name));
    
    try {
    
        UpdateMetricAttributionRequest request = UpdateMetricAttributionRequest.builder()
                .metricAttributionArn(metricAttributionArn)
                .removeMetrics(metricsToRemove)
                .build();
                
        UpdateMetricAttributionResponse response = client.updateMetricAttribution(request);
        System.out.println(response);
        
    } catch (PersonalizeException e) {
        System.out.println(e.awsErrorDetails().errorMessage());
    }
}
```

------
#### [ SDK for JavaScript v3 ]

```
// Get service clients and commands using ES6 syntax.
import {UpdateMetricAttributionCommand, PersonalizeClient } from
  "@aws-sdk/client-personalize";

// create personalizeClient
const personalizeClient = new PersonalizeClient({
  region: "REGION"
});

// set the update request param
export const updateMetricAttributionParam = {
  metricAttributionArn: "METRIC_ATTRIBUTION_ARN",    /* required */
  removeMetrics: ["METRIC_NAME_1", "METRIC_NAME_2"]    /* specify list of names of metrics to delete */
};
export const run = async () => {
  try {
    const response = await personalizeClient.send(
      new UpdateMetricAttributionCommand(updateMetricAttributionParam)
    );
    console.log("Success", response);
    return response; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

------

 Der folgende Code zeigt, wie Sie eine zusätzliche Metrik hinzufügen und eine neue Ausgabekonfiguration angeben:

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

```
import boto3

personalize = boto3.client('personalize')

newMetrics = [{ 
      "eventType": "event type",
      "expression": "SUM(DatasetType.COLUMN_NAME)",
      "metricName": "metric name"
}]

newOutputConfig = {
  "roleArn": "Amazon Personalize service role ARN", 
  "s3DataDestination": {
    "kmsKeyArn": "key ARN", 
    "path": "s3://amzn-s3-demo-bucket/<folder>"
  }
}

response = personalize.update_metric_attribution(
  metricAttributionArn = "metric attribution arn",
  metricsOutputConfig = newOutputConfig,
  addMetrics = newMetrics
)
```

------
#### [ SDK for Java 2.x ]

```
public static void addMetricsAndUpdateOutputConfig(PersonalizeClient personalizeClient,
                                                String metricAttributionArn,
                                                String newMetric1EventType,
                                                String newMetric1Expression,
                                                String newMetric1Name,
                                                String newMetric2EventType,
                                                String newMetric2Expression,
                                                String newMetric2Name,
                                                String roleArn,
                                                String s3Path,
                                                String kmsKeyArn) {
    try {
    
        MetricAttribute newAttribute = MetricAttribute.builder()
                .eventType(newMetric1EventType)
                .expression(newMetric1Expression)
                .metricName(newMetric1Name)
                .build();
                
        MetricAttribute newAttribute2 = MetricAttribute.builder()
                .eventType(newMetric2EventType)
                .expression(newMetric2Expression)
                .metricName(newMetric2Name)
                .build();

        ArrayList<MetricAttribute> newAttributes = new ArrayList<>(Arrays.asList(newAttribute, newAttribute2));

        S3DataConfig newDataDestination = S3DataConfig.builder()
                .kmsKeyArn(kmsKeyArn)
                .path(s3Path)
                .build();

        MetricAttributionOutput newOutputConfig = MetricAttributionOutput.builder()
                .roleArn(roleArn)
                .s3DataDestination(newDataDestination)
                .build();
                
        UpdateMetricAttributionRequest request = UpdateMetricAttributionRequest.builder()
                .metricAttributionArn(metricAttributionArn)
                .metricsOutputConfig(newOutputConfig)
                .addMetrics(newAttributes)
                .build();
                
        UpdateMetricAttributionResponse response = personalizeClient.updateMetricAttribution(request);
        System.out.println("New metrics added!");
        System.out.println(response);
        
    } catch (PersonalizeException e) {
        System.out.println(e.awsErrorDetails().errorMessage());
    }
}
```

------
#### [ SDK for JavaScript v3 ]

```
// Get service clients and commands using ES6 syntax.
import {UpdateMetricAttributionCommand, PersonalizeClient } from
  "@aws-sdk/client-personalize";

// create personalizeClient
const personalizeClient = new PersonalizeClient({
  region: "REGION"
});

export const updateMetricAttributionParam = {
  metricAttributionArn: "METRIC_ATTRIBUTION_ARN",
  addMetrics: [
    {
      eventType: "EVENT_TYPE",                      /* required for each metric */
      expression: "SUM(DatasetType.COLUMN_NAME)",   /* required for each metric */
      metricName: "METRIC_NAME",                    /* required for each metric */
    }
  ],
  metricsOutputConfig: {
    roleArn: "ROLE_ARN",                      /* required */
    s3DataDestination: {                
      kmsKeyArn: "KEY_ARN",                                                      /* optional */
      path: "s3://amzn-s3-demo-bucket/<folderName>/",    /* optional */
    },
  }
};

export const run = async () => {
  try {
    const response = await personalizeClient.send(
      new UpdateMetricAttributionCommand(updateMetricAttributionParam)
    );
    console.log("Success", response);
    return response; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

------

Bei Erfolg gibt Amazon Personalize den ARN der Metrik-Attribution zurück, die Sie aktualisiert haben. Eine vollständige Liste aller Parameter finden Sie unter. [UpdateMetricAttribution](API_UpdateMetricAttribution.md)

# Löschen einer Amazon Personalize Personalize-Metrikzuweisung
<a name="deleting-metric-attribution"></a>

Wenn Sie keine Berichte mehr erstellen möchten, können Sie eine Metrikzuweisung löschen. Durch das Löschen einer Metrikzuweisung werden alle zugehörigen Metriken und die Ausgabekonfiguration gelöscht. 

 Wenn Sie eine Metrik-Zuordnung löschen, sendet Amazon Personalize nicht mehr automatisch Berichte zu PutEvents und inkrementellen Massendaten an. CloudWatch Daten, die bereits an Amazon S3 gesendet CloudWatch oder dort veröffentlicht wurden, sind nicht betroffen. Sie können eine Metrik-Attribution mit der Amazon Personalize Personalize-Konsole oder AWS Command Line Interface AWS SDKS löschen. 

**Topics**
+ [Löschen einer metrischen Zuordnung (Konsole)](#deleting-metric-attribution-console)
+ [Löschen einer metrischen Zuordnung ()AWS CLI](#deleting-metric-attribution-cli)
+ [Löschen einer metrischen Zuordnung ()AWS SDKs](#deleting-metric-attribution-sdk)

## Löschen einer metrischen Zuordnung (Konsole)
<a name="deleting-metric-attribution-console"></a>

Sie löschen eine Metrik-Attribution auf der Übersichtsseite für Ihre Metrik-Attribution.

**Um eine metrische Zuordnung zu löschen**

1. Öffnen Sie zu [https://console.aws.amazon.com/personalize/Hause](https://console.aws.amazon.com/personalize/home) die Amazon Personalize Personalize-Konsole und melden Sie sich bei Ihrem Konto an. 

1. Wählen Sie Ihre Datensatzgruppe aus.

1. Wählen Sie im Navigationsbereich die Option **Metrische Zuordnung** aus.

1. Wählen Sie **Löschen** und bestätigen Sie dann den Löschvorgang.

## Löschen einer metrischen Zuordnung ()AWS CLI
<a name="deleting-metric-attribution-cli"></a>

Um eine Metrik-Attribution mit dem zu löschen AWS CLI, verwenden Sie den `delete-metric-attribution` Befehl wie folgt.

```
aws personalize delete-metric-attribution --metric-attribution-arn metric attribution ARN
```

## Löschen einer metrischen Zuordnung ()AWS SDKs
<a name="deleting-metric-attribution-sdk"></a>

 Der folgende Code zeigt, wie eine metrische Zuordnung mit dem SDK for Python (Boto3) gelöscht wird:

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

```
import boto3
            
personalize = boto3.client('personalize')

response = personalize.delete_metric_attribution(
  metricAttributionArn = 'metric attribution ARN'
)
```

------
#### [ SDK for Java 2.x ]

```
public static void deleteMetricAttribution(PersonalizeClient client, String metricAttributionArn) {

    try {
    
        DeleteMetricAttributionRequest request = DeleteMetricAttributionRequest.builder()
                .metricAttributionArn(metricAttributionArn)
                .build();
                
        DeleteMetricAttributionResponse response = client.deleteMetricAttribution(request);
        if (response.sdkHttpResponse().statusCode() == 200) {
            System.out.println("Metric attribution deleted!");
        }
        
    } catch (PersonalizeException e) {
        System.out.println(e.awsErrorDetails().errorMessage());
    }
}
```

------
#### [ SDK for JavaScript v3 ]

```
// Get service clients and commands using ES6 syntax.
import { DeleteMetricAttributionCommand, PersonalizeClient } from
  "@aws-sdk/client-personalize";

// create personalizeClient
const personalizeClient = new PersonalizeClient({
  region: "REGION"
});

export const deleteMetricAttributionParam = {
  metricAttributionArn: "METRIC_ATTRIBUTION_ARN",
};
export const run = async () => {
  try {
    const response = await personalizeClient.send(
      new DeleteMetricAttributionCommand(deleteMetricAttributionParam)
    );
    console.log("Success", response);
    return response; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

------

# Anzeigen von Diagrammen mit metrischen Daten in CloudWatch
<a name="metric-attribution-results-cloudwatch"></a>

**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](https://aws.amazon.com/cloudwatch/pricing/). Um das Senden von Metriken an zu beenden CloudWatch, [löschen Sie die Metrik-Zuordnung](deleting-metric-attribution.md).

 Nachdem Sie eine Metrik-Zuordnung erstellt haben, sendet Amazon Personalize automatisch Metriken von Amazon [PutEvents](API_UBS_PutEvents.md) und inkrementelle Massendaten an Amazon. CloudWatch In der Konsole können Sie Metriken auswählen und Diagramme der Metrikdaten erstellen. CloudWatch Mithilfe dieser Grafiken können Sie die Leistung und Wirkung verschiedener Empfehlungen oder Kampagnen visuell überprüfen und vergleichen. 

Um Quellen vergleichen zu können, muss jedes Interaktionsereignis ein `recommendationId` oder `eventAttributionSource` enthalten. Codebeispiele, die zeigen, wie man diese Daten in ein Ereignis einbezieht, finden Sie unter[Ereignismetriken und Attributionsberichte](event-metrics.md). 

Um Metriken in anzuzeigen CloudWatch, führen Sie das unter [Metrik grafisch darstellen beschriebene](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph_a_metric.html) Verfahren aus. Sie können Ihre Daten in verschiedenen Detailebenen anzeigen. Der **Mindestzeitraum**, den Sie grafisch darstellen können, beträgt 15 Minuten. Sie können Amazon Personalize Personalize-Daten der letzten 2 Wochen anzeigen CloudWatch — ältere Daten werden ignoriert. Geben Sie für den Suchbegriff den Namen ein, den Sie der Metrik bei der Erstellung der Metrik-Zuordnung 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.\]](http://docs.aws.amazon.com/de_de/personalize/latest/dg/images/metric-attribution-cw-example.png)


# Veröffentlichen von Berichten zur Zuordnung von Metriken in Amazon S3
<a name="metric-attribution-results-s3"></a>

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-Import-Job für Interaktionsdaten erstellen, Metrikberichte in Ihrem Amazon S3 S3-Bucket veröffentlicht werden.

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\$1ATTRIBUTION\$1SOURCE 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)
<a name="metric-attribution-results-s3-console"></a>

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-stepEine Anleitung finden Sie unter[Einen Job zum Importieren von Datensätzen erstellen (Konsole)](bulk-data-import-step.md#bulk-data-import-console). 

## Veröffentlichen von Metriken für Massendaten in Amazon S3 (AWS CLI)
<a name="metric-attributinon-resuslts-s3-cli"></a>

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 unter[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
```

## Veröffentlichen von Metriken für Massendaten in Amazon S3 (AWS SDKs)
<a name="metric-attributinon-resuslts-s3-sdk"></a>

Um Metriken mit dem in einem Amazon S3 S3-Bucket zu veröffentlichen AWS SDKs, erstellen Sie einen Datensatz-Import-Job und setzen Sie `publishAttributionMetricsToS3` ihn auf true. Informationen zu den einzelnen Parametern finden Sie unter[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();
```

------