

**Hinweis zum Ende des Supports:** Am 30. Oktober 2026 AWS wird der Support für Amazon Pinpoint eingestellt. Nach dem 30. Oktober 2026 können Sie nicht mehr auf die Amazon-Pinpoint-Konsole oder die Amazon-Pinpoint-Ressourcen (Endpunkte, Segmente, Kampagnen, Journeys und Analytik) zugreifen. Weitere Informationen finden Sie unter [Ende des Amazon-Pinpoint-Supports](https://docs.aws.amazon.com/console/pinpoint/migration-guide). **Hinweis:** APIs In Bezug auf SMS sind Sprach-, mobile Push-, OTP- und Telefonnummernvalidierung von dieser Änderung nicht betroffen und werden von AWS End User Messaging unterstützt.

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.

# Verwenden Sie ein Empfehlungsmodell in Amazon Pinpoint mit AWS Lambda
<a name="ml-models-rm-lambda"></a>

In Amazon Pinpoint können Sie personalisierte Empfehlungen aus einem Empfehlungsmodell abrufen und zu Nachrichten hinzufügen, die Sie von Kampagnen und Journeys aus senden. Ein *Empfehlungsmodell* ist ein Art Machine-Learning-(ML-)Modell, das Muster in Daten findet und Vorhersagen sowie Empfehlungen basierend auf den gefundenen Mustern generiert. Es sagt vorher, welche Produkte oder Elemente aus einer Gruppe von Produkten oder Elementen ein bestimmter Benutzer bevorzugen wird, und stellt diese Informationen in Form einer Reihe von Empfehlungen für den Benutzer bereit.

Wenn Sie Empfehlungsmodelle mit Amazon Pinpoint verwenden, können Sie basierend auf den Attributen und Verhaltensweisen der einzelnen Empfänger personalisierte Empfehlungen an die Nachrichtenempfänger senden. Mit AWS Lambda können Sie diese Empfehlungen auch anpassen und verbessern. Beispielsweise können Sie eine Empfehlung dynamisch von einem einzelnen Textwert (z. B. einem Produktnamen oder einer ID) in komplexere Inhalte (z. B. einen Produktnamen, eine Beschreibung und ein Bild) umwandeln. Dies ist in Echtzeit möglich, wenn Amazon Pinpoint die Nachricht sendet.

Diese Funktion ist in den folgenden AWS Regionen verfügbar: USA Ost (Nord-Virginia), USA West (Oregon), Asien-Pazifik (Mumbai), Asien-Pazifik (Sydney) und Europa (Irland).

# Empfehlungen für Empfehlungsmodelle zu Nachrichten in Amazon Pinpoint hinzufügen
<a name="ml-models-rm-lambda-overview"></a>

Um ein Empfehlungsmodell mit Amazon Pinpoint zu verwenden, erstellen Sie zunächst eine Amazon-Personalize-Lösung und stellen diese Lösung als Amazon-Personalize-Kampagne bereit. Anschließend erstellen Sie eine Konfiguration für das Empfehlungsmodell in Amazon Pinpoint. In der Konfiguration geben Sie Einstellungen an, die bestimmen, wie Empfehlungsdaten aus der Amazon-Personalize-Kampagne abgerufen und verarbeitet werden sollen. Dazu gehört auch, ob eine AWS Lambda Funktion aufgerufen werden soll, um die abgerufenen Daten zusätzlich zu verarbeiten.

Amazon Personalize ist ein AWS Service, der Sie bei der Erstellung von ML-Modellen unterstützt, die personalisierte Empfehlungen in Echtzeit für Kunden bereitstellen, die Ihre Anwendungen verwenden. Amazon Personalize führt Sie durch den Prozess der Erstellung und Schulung eines ML-Modells und der anschließenden Vorbereitung und Bereitstellung des Modells als Amazon-Personalize-Kampagne. Sie können dann personalisierte Empfehlungen in Echtzeit aus der Kampagne abrufen. Weitere Informationen zu Amazon Personalize finden Sie im [Amazon-Personalize-Entwicklerhandbuch](https://docs.aws.amazon.com/personalize/latest/dg/what-is-personalize.html). 

AWS Lambda ist ein Rechenservice, mit dem Sie Code ausführen können, ohne Server bereitstellen oder verwalten zu müssen. Sie verpacken Ihren Code und laden ihn AWS Lambda als *Lambda-Funktion* hoch. AWS Lambda führt dann die Funktion aus, wenn die Funktion aufgerufen wird. Eine Funktion kann manuell von Ihnen, automatisch als Reaktion auf Ereignisse oder als Reaktion auf Anforderungen von Anwendungen oder Diensten, einschließlich Amazon Pinpoint, aufgerufen werden. Informationen zum Erstellen und Abrufen und Lambda-Funktionen finden Sie im [AWS Lambda -Entwicklerhandbuch](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html).

Nachdem Sie eine Amazon-Pinpoint-Konfiguration für ein Empfehlungsmodell erstellt haben, können Sie den Nachrichten, die Sie von Kampagnen und Journeys aus senden, Empfehlungen aus dem Modell hinzufügen. Hierfür verwenden Sie Nachrichtenvorlagen, die Nachrichtenvariablen für empfohlene Attribute enthalten. Ein *empfohlenes Attribut* ist ein dynamisches Endpunkt- oder Benutzerattribut zum Speichern von Empfehlungsdaten. Diese Attribute definieren Sie, wenn Sie die Konfiguration für ein Empfehlungsmodell erstellen.

In den folgenden Arten von Nachrichtenvorlagen können Sie Variablen für empfohlene Attribute verwenden:
+ E-Mail-Vorlagen für E-Mail-Nachrichten, die Sie von Kampagnen oder Journeys senden.
+ Push-Benachrichtigungsvorlagen für Push-Benachrichtigungen, die Sie von Kampagnen senden.
+ SMS-Vorlagen, für SMS-Textnachrichten, die Sie von Kampagnen senden.

Weitere Informationen zur Verwendung von Empfehlungsmodellen mit Amazon Pinpoint, finden Sie unter [Machine-Learning-Modelle](https://docs.aws.amazon.com/pinpoint/latest/userguide/ml-models.html) im *Amazon-Pinpoint-Benutzerhandbuch*.

Wenn Sie Amazon Pinpoint so konfigurieren, dass eine Lambda-Funktion aufgerufen wird, die Empfehlungsdaten verarbeitet, führt Amazon Pinpoint jedes Mal die folgenden allgemeinen Aufgaben durch, wenn personalisierte Empfehlungen in einer Nachricht für eine Kampagne oder Journey gesendet werden:

1. Evaluierung und Verarbeitung der Konfigurationseinstellungen und der Inhalte der Nachricht sowie der Nachrichtenvorlage.

1. Festlegung, dass die Nachrichtenvorlage mit einem Empfehlungsmodell verbunden ist.

1. Evaluierung der Konfigurationseinstellungen für die Verbindung mit dem Modell und die Verwendung des Modells. Diese werden von der [Empfehlungsmodell](https://docs.aws.amazon.com/pinpoint/latest/apireference/recommenders-recommender-id.html)-Ressource für das Modell definiert.

1. Erkennen einer oder mehrerer Nachrichtenvariablen für empfohlene Attribute, die über die Konfigurationseinstellungen für das Modell definiert werden.

1. Abrufen von Empfehlungsdaten aus der Amazon-Personalize-Kampagne, die in den Konfigurationseinstellungen für das Modell angegeben ist. Es verwendet den [GetRecommendations](https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html)Betrieb der Amazon Personalize Runtime API, um diese Aufgabe auszuführen.

1. Hinzufügen der entsprechenden Empfehlungsdaten zu einem dynamischen empfohlenen Attribut (`RecommendationItems`) für jeden Nachrichtenempfänger.

1. Aufruf Ihrer Lambda-Funktion und Senden der Empfehlungsdaten für die einzelnen Empfänger zur Verarbeitung an diese Funktion.

   Die Daten werden als JSON-Objekt gesendet, das die Endpunktdefinition für jeden Empfänger enthält. Jede Endpunktdefinition enthält ein Feld `RecommendationItems`, das ein geordnetes Array von 1–5 Werten enthält. Die Anzahl der Werte in dem Array hängt von den Konfigurationseinstellungen für das Modell ab.

1. Warten, bis Ihre Lambda-Funktion die Daten verarbeitet und die Ergebnisse zurückgibt.

   Die Ergebnisse sind ein JSON-Objekt, das eine aktualisierte Endpunktdefinition für jeden Empfänger enthält. Jede aktualisierte Endpunktdefinition enthält ein neues `Recommendations`-Objekt. Dieses Objekt enthält 1–10 Felder, eines für jedes benutzerdefinierte empfohlene Attribut, das Sie in den Konfigurationseinstellungen für das Modell definiert haben. In jedem dieser Felder werden erweiterte Empfehlungsdaten für den Endpunkt gespeichert.

1. Verwendung der aktualisierten Endpunktdefinition für die einzelnen Empfänger, um die einzelnen Nachrichtenvariablen durch den entsprechenden Wert für die betreffenden Empfänger zu ersetzen.

1. Sendet eine Version der Nachricht, die die personalisierten Empfehlungen für jeden Nachrichtenempfänger enthält.

Um Empfehlungen auf diese Weise anzupassen und zu verbessern, erstellen Sie zunächst eine Lambda-Funktion, die die von Amazon Pinpoint, gesendeten Endpunktdefinitionen verarbeitet und aktualisierte Endpunktdefinitionen zurückgibt. Weisen Sie dann der Funktion eine Lambda-Funktionsrichtlinie zu und autorisieren Sie Amazon Pinpoint, die Funktion aufzurufen. Konfigurieren Sie anschließend das Empfehlungsmodell in Amazon Pinpoint. Wenn Sie das Modell konfigurieren, geben Sie die aufzurufende Funktion an, und definieren Sie die zu verwendenden empfohlenen Attribute.

# Erstellen Sie eine Lambda-Funktion für Amazon Pinpoint, die für ein Empfehlungsmodell aufgerufen werden soll
<a name="ml-models-rm-lambda-create-function"></a>

Informationen zum Erstellen einer Lambda-Funktion finden Sie unter [Erste Schritte](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html) im *AWS Lambda -Entwicklerhandbuch*. Beachten Sie beim Entwerfen und Entwickeln der Funktion die folgenden Anforderungen und Richtlinien. 

## Eingabeereignisdaten
<a name="ml-models-rm-lambda-create-function-input"></a>

Wenn Amazon Pinpoint eine Lambda-Funktion für ein Empfehlungsmodell aufruft, sendet es eine Nutzlast, die die Konfiguration und andere Einstellungen für die Kampagne oder Journey enthält, von der die Nachricht gesendet wird. Die Nutzlast umfasst ein `Endpoints` Objekt, bei dem es sich um eine Map handelt, die Endpunktdefinitionen für IDs Nachrichtenempfänger zuordnet.

Die Endpunktdefinitionen verwenden die Struktur, die von der [Endpunkt](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-endpoints-endpoint-id.html)-Ressource der Amazon-Pinpoint-API definiert wird. Sie enthalten jedoch auch ein Feld für ein dynamisches empfohlenes Attribut namens `RecommendationItems`. Das Feld `RecommendationItems` enthält mindestens ein empfohlenes Element für den Endpunkt, das von der Amazon-Personalize-Kampagne zurückgegeben wird. Der Wert für dieses Feld ist ein geordnetes Array von 1–5 empfohlenen Elementen (als Zeichenfolgen). Die Anzahl der Elemente in dem Array hängt davon ab, wie viele Elemente Amazon Pinpoint laut Ihrer Konfiguration für jeden Endpunkt oder Benutzer abrufen soll. 

Beispiel:

```
"Endpoints": {
    "endpointIDexample-1":{
        "ChannelType":"EMAIL",
        "Address":"sofiam@example.com",
        "EndpointStatus":"ACTIVE",
        "OptOut":"NONE",
        "EffectiveDate":"2020-02-26T18:56:24.875Z",
        "Attributes":{
            "AddressType":[
                "primary"
            ]
        },
        "User":{
            "UserId":"SofiaMartínez",
            "UserAttributes":{
                "LastName":[
                    "Martínez"
                ],
                "FirstName":[
                    "Sofia"
                ],
                "Neighborhood":[
                    "East Bay"
                ]
            }
        },
        "RecommendationItems":[
            "1815",
            "2009",
            "1527"
        ],
        "CreationDate":"2020-02-26T18:56:24.875Z"
    },
    "endpointIDexample-2":{
        "ChannelType":"EMAIL",
        "Address":"alejandror@example.com",
        "EndpointStatus":"ACTIVE",
        "OptOut":"NONE",
        "EffectiveDate":"2020-02-26T18:56:24.897Z",
        "Attributes":{
            "AddressType":[
                "primary"
            ]
        },
        "User":{
            "UserId":"AlejandroRosalez",
            "UserAttributes":{
                "LastName ":[
                    "Rosalez"
                ],
                "FirstName":[
                    "Alejandro"
                ],
                "Neighborhood":[
                    "West Bay"
                ]
            }
        },
        "RecommendationItems":[
            "1210",
            "6542",
            "4582"
        ],
        "CreationDate":"2020-02-26T18:56:24.897Z"
    }
}
```

Im vorherigen Beispiel lauten die relevanten Amazon-Pinpoint-Einstellungen wie folgt:
+ Das Empfehlungsmodell ist so konfiguriert, dass drei empfohlene Elemente für jeden Endpunkt oder Benutzer abgerufen werden. (Der Wert für die Eigenschaft `RecommendationsPerMessage` ist auf `3` festgelegt.) Mit dieser Einstellung werden nur die ersten, zweiten und dritten empfohlenen Elemente für jeden Endpunkt oder Benutzer von Amazon Pinpoint abgerufen und hinzugefügt.
+ Das Projekt ist für die Verwendung von benutzerdefinierten Benutzerattributen konfiguriert, in denen der Vorname, Nachname und das Umfeld der Benutzer gespeichert werden. (Im Objekt `UserAttributes` sind die Werte für diese Attribute enthalten.)
+ Das Projekt ist für die Verwendung eines benutzerdefinierten Endpunktattributs (`AddressType`) konfiguriert, das angibt, ob der Endpunkt die bevorzugte Adresse (Kanal) des Benutzers für den Empfang von Nachrichten aus dem Projekt ist. (Im Objekt `Attributes` ist der Wert für dieses Attribut enthalten.)

Wenn Amazon Pinpoint die Lambda-Funktion aufruft und diese Nutzlast als Ereignisdaten sendet, übergibt AWS Lambda die Daten zur Verarbeitung an die Lambda-Funktion.

Jede Nutzlast kann Daten für bis zu 50 Endpunkte enthalten. Wenn ein Segment mehr als 50 Endpunkte enthält, ruft Amazon Pinpoint die Funktion wiederholt für bis zu 50 Endpunkte gleichzeitig auf, bis die Funktion alle Daten verarbeitet. 

## Antwortdaten und Anforderungen
<a name="ml-models-rm-lambda-create-function-response"></a>

Berücksichtigen Sie beim Entwerfen und Entwickeln Ihrer Lambda-Funktion die [Kontingente für Machine-Learning-Modelle](quotas.md#quotas-ML-models). Wenn die Funktion die durch diese Kontingente definierten Bedingungen nicht erfüllt, kann Amazon Pinpoint die Nachricht nicht verarbeiten und senden.

Beachten Sie auch die folgenden Anforderungen:
+ Die Funktion muss aktualisierte Endpunktdefinitionen in dem Format zurückgeben, das von den Eingabeereignisdaten bereitgestellt wurde.
+ Jede aktualisierte Endpunktdefinition kann 1–10 benutzerdefinierte empfohlene Attribute für den Endpunkt oder Benutzer enthalten. Die Namen dieser Attribute müssen mit den Attributnamen übereinstimmen, die Sie beim Konfigurieren des Empfehlungsmodells in Amazon Pinpoint angeben.
+ Alle benutzerdefinierten empfohlenen Attribute müssen in einem einzelnen `Recommendations`-Objekt für jeden Endpunkt oder Benutzer zurückgegeben werden. Mithilfe dieser Anforderung wird sichergestellt, dass keine Namenskonflikte auftreten. Sie können das `Recommendations`-Objekt einem beliebigen Speicherort in einer Endpunktdefinition hinzufügen. 
+ Der Wert für jedes benutzerdefinierte empfohlene Attribut muss eine Zeichenfolge (Einzelwert) oder ein Array von Zeichenfolgen (mehrere Werte) sein. Wenn es sich bei dem Wert um ein Array von Zeichenfolgen handelt, empfehlen wir, die Reihenfolge der empfohlenen Elemente beizubehalten, die von Amazon Personalize zurückgegeben wurden, wie im Feld `RecommendationItems` angegeben. Andernfalls könnte es sein, dass Ihre Inhalte die Vorhersagen des Modells für einen Endpunkt oder Benutzer nicht widerspiegeln.
+ Die Funktion sollte keine anderen Elemente in den Ereignisdaten ändern. Dies gilt auch für andere Attributwerte für einen Endpunkt oder Benutzer. Es sollten nur Werte für benutzerdefinierte empfohlene Attribute hinzugefügt und zurückgegeben werden. Amazon Pinpoint akzeptiert keine Aktualisierungen anderer Werte in der Antwort der Funktion.
+ Die Funktion muss in derselben AWS Region gehostet werden wie das Amazon Pinpoint Pinpoint-Projekt, das die Funktion aufruft. Wenn sich die Funktion und das Projekt nicht in derselben Region befinden, kann Amazon Pinpoint keine Ereignisdaten an die Funktion senden.

Wenn eine der oben genannten Anforderungen nicht erfüllt ist, kann Amazon Pinpoint die Nachricht nicht verarbeiten und an einen oder mehrere Endpunkte senden. Dies kann zum Fehlschlagen einer Kampagnen- oder Journey-Aktivität führen. 

Schließlich empfehlen wir, 256 gleichzeitige Ausführungen für die Funktion zu reservieren.

Insgesamt sollte Ihre Lambda-Funktion die Ereignisdaten verarbeiten, die von Amazon Pinpoint gesendet werden, und geänderte Endpunktdefinitionen zurückgeben. Zu diesem Zweck kann die Funktion jeden Endpunkt im `Endpoints`-Objekt durchlaufen und für jeden Endpunkt Werte für die zu verwendenden benutzerdefinierten empfohlenen Attribute erstellen und festlegen. Der folgende in Python geschriebene Beispiel-Handler, der mit dem vorherigen Beispiel für Eingabeereignisdaten fortfährt, zeigt folgende Ausgabe:

```
import json
import string
 
def lambda_handler(event, context):
    print("Received event: " + json.dumps(event))
    print("Received context: " +  str(context))
    segment_endpoints = event["Endpoints"]
    new_segment = dict()
    for endpoint_id in segment_endpoints.keys():
        endpoint = segment_endpoints[endpoint_id]
        if supported_endpoint(endpoint):
            new_segment[endpoint_id] = add_recommendation(endpoint)
 
    print("Returning endpoints: " + json.dumps(new_segment))
    return new_segment
 
def supported_endpoint(endpoint):
    return True
 
def add_recommendation(endpoint):
    endpoint["Recommendations"] = dict()
 
    customTitleList = list()
    customGenreList = list()
    for i,item in enumerate(endpoint["RecommendationItems"]):
        item = int(item)
        if item == 1210:
            customTitleList.insert(i, "Hanna")
            customGenreList.insert(i, "Action")
        elif item == 1527:
            customTitleList.insert(i, "Catastrophe")
            customGenreList.insert(i, "Comedy")
        elif item == 1815:
            customTitleList.insert(i, "Fleabag")
            customGenreList.insert(i, "Comedy")
        elif item == 2009:
            customTitleList.insert(i, "Late Night")
            customGenreList.insert(i, "Drama")
        elif item == 4582:
            customTitleList.insert(i, "Agatha Christie\'s The ABC Murders")
            customGenreList.insert(i, "Crime")
        elif item == 6542:
            customTitleList.insert(i, "Hunters")
            customGenreList.insert(i, "Drama")
        
    endpoint["Recommendations"]["Title"] = customTitleList
    endpoint["Recommendations"]["Genre"] = customGenreList
    
    return endpoint
```

Im vorherigen Beispiel werden die Ereignisdaten als Parameter an den Handler übergeben. AWS Lambda `event` Der Handler durchläuft jeden Endpunkt im `Endpoints`-Objekt und legt Werte für benutzerdefinierte empfohlene Attribute mit den Namen `Recommendations.Title` und `Recommendations.Genre` fest. Die `return`-Anweisung gibt jede aktualisierte Endpunktdefinition an Amazon Pinpoint zurück.

Bei Fortführung des früheren Beispiels für Eingabeereignisdaten lauten die aktualisierten Endpunktdefinitionen wie folgt:

```
"Endpoints":{
    "endpointIDexample-1":{
        "ChannelType":"EMAIL",
        "Address":"sofiam@example.com",
        "EndpointStatus":"ACTIVE",
        "OptOut":"NONE",
        "EffectiveDate":"2020-02-26T18:56:24.875Z",
        "Attributes":{
            "AddressType":[
                "primary"
            ]
        },
        "User":{
            "UserId":"SofiaMartínez",
            "UserAttributes":{
                "LastName":[
                    "Martínez"
                ],
                "FirstName":[
                    "Sofia"
                ],
                "Neighborhood":[
                    "East Bay"
                ]
            }
        },
        "RecommendationItems":[
            "1815",
            "2009",
            "1527"
        ],
        "CreationDate":"2020-02-26T18:56:24.875Z",
        "Recommendations":{
            "Title":[
                "Fleabag",
                "Late Night",
                "Catastrophe"
            ],
            "Genre":[
                "Comedy",
                "Comedy",
                "Comedy"
            ]
        }
    },
    "endpointIDexample-2":{
        "ChannelType":"EMAIL",
        "Address":"alejandror@example.com",
        "EndpointStatus":"ACTIVE",
        "OptOut":"NONE",
        "EffectiveDate":"2020-02-26T18:56:24.897Z",
        "Attributes":{
            "AddressType":[
                "primary"
            ]
        },
        "User":{
            "UserId":"AlejandroRosalez",
            "UserAttributes":{
                "LastName ":[
                    "Rosalez"
                ],
                "FirstName":[
                    "Alejandro"
                ],
                "Neighborhood":[
                    "West Bay"
                ]
            }
        },
        "RecommendationItems":[
            "1210",
            "6542",
            "4582"
        ],
        "CreationDate":"2020-02-26T18:56:24.897Z",
        "Recommendations":{
            "Title":[
                "Hanna",
                "Hunters",
                "Agatha Christie\'s The ABC Murders"
            ],
            "Genre":[
                "Action",
                "Drama",
                "Crime"
            ]
        }
    }
}
```

Im vorherigen Beispiel hat die Funktion das erhaltene `Endpoints`-Objekt geändert und die Ergebnisse zurückgegeben. Das `Endpoint`-Objekt für jeden Endpunkt enthält nun ein neues `Recommendations`-Objekt mit den Feldern `Genre` und `Title`. In jedem dieser Felder wird ein geordnetes Array von drei Werten (als Zeichenfolgen) gespeichert, wobei jeder Wert erweiterte Inhalte für ein entsprechendes empfohlenes Element im Feld `RecommendationItems` bereitstellt.

# Weisen Sie eine Lambda-Funktionsrichtlinie zu, um Amazon Pinpoint zur Verarbeitung von Empfehlungsdaten zu autorisieren
<a name="ml-models-rm-lambda-trust-policy"></a>

Bevor Sie die Lambda-Funktion zum Verarbeiten von Empfehlungsdaten verwenden können, müssen Sie Amazon Pinpoint zum Aufruf der Funktion berechtigen. Um eine Aufrufberechtigung zu erteilen, weisen Sie der Funktion eine Lambda-Funktionsrichtlinie zu. Eine *Lambda-Funktionsrichtlinie* ist eine ressourcenbasierte Berechtigungsrichtlinie, die bestimmt, welche Entitäten eine Funktion verwenden dürfen und welche Aktionen diese Entitäten durchführen können. Weitere Informationen finden Sie unter [ Verwenden von ressourcenbasierten Richtlinien für AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html) im *AWS Lambda -Entwicklerhandbuch*.

Die folgende Beispielrichtlinie ermöglicht es dem Amazon Pinpoint Service Principal, die `lambda:InvokeFunction` Aktion für eine bestimmte Amazon Pinpoint Pinpoint-Kampagne (*campaignId*) in einem bestimmten Amazon Pinpoint Pinpoint-Projekt () zu verwenden: *projectId*

```
{
  "Sid": "sid",
  "Effect": "Allow",
  "Principal": {
    "Service": "pinpoint.us-east-1.amazonaws.com"
  },
  "Action": "lambda:InvokeFunction",
  "Resource": "{arn:aws:lambda:us-east-1:accountId:function:function-name}",
  "Condition": {
    "ArnLike": {
      "AWS:SourceArn": "arn:aws:mobiletargeting:us-east-1:accountId:recommenders/*"
    }
  }
}
```

Die Funktionsrichtlinie erfordert einen `Condition`-Block, der einen `AWS:SourceArn`-Schlüssel beinhaltet. Dieser Schlüssel gibt an, welche Ressource die Funktion aufrufen darf. Im vorherigen Beispiel ermöglicht es die Richtlinie einer bestimmten Kampagne, die Funktion aufzurufen.

Sie können auch eine Richtlinie verfassen, die es dem Amazon Pinpoint Service Principal ermöglicht, die `lambda:InvokeFunction` Aktion für alle Kampagnen und Journeys in einem bestimmten Amazon Pinpoint Pinpoint-Projekt zu verwenden ()*projectId*. Die folgende Beispielrichtlinie zeigt dies:

```
{
  "Sid": "sid",
  "Effect": "Allow",
  "Principal": {
    "Service": "pinpoint.us-east-1.amazonaws.com"
  },
  "Action": "lambda:InvokeFunction",
  "Resource": "{arn:aws:lambda:us-east-1:accountId:function:function-name}",
  "Condition": {
    "ArnLike": {
      "AWS:SourceArn": "arn:aws:mobiletargeting:us-east-1:accountId:recommenders/*"
    }
  }
}
```

Im Gegensatz zum ersten Beispiel erlaubt es der `AWS:SourceArn`-Schlüssel im `Condition`-Block dieses Beispiels einem bestimmten Projekt, die Funktion aufzurufen. Diese Berechtigung gilt für alle Kampagnen und Journeys im Projekt.

Um eine allgemeinere Richtlinie zu schreiben, können Sie Wildcards (\$1), die mehrere Zeichen darstellen, verwenden. So können Sie beispielsweise den folgenden `Condition`-Block verwenden, um jedem Amazon-Pinpoint-Projekt den Aufruf der Funktion zu gestatten:

```
"Condition": {
  "ArnLike": {
    "AWS:SourceArn": "arn:aws:mobiletargeting:us-east-1:accountId:recommenders/*"
  }
}
```

Wenn Sie die Lambda-Funktion mit allen Projekten für Ihr Amazon-Pinpoint-Konto verwenden möchten, empfehlen wir, den `Condition`-Block der Richtlinie auf die vorherige Weise zu konfigurieren. Als bewährte Methode sollten Sie jedoch Richtlinien erstellen, die nur die zum Ausführen einer bestimmten Aktion für eine bestimmte Ressource erforderlichen Berechtigungen enthalten.

## Autorisieren Sie Amazon Pinpoint, eine Lambda-Funktion mit dem Befehl AWS CLI und dem Lambda-Befehl add-permission aufzurufen
<a name="ml-models-rm-lambda-trust-policy-assign"></a>

Nachdem Sie einer Funktion eine Lambda-Funktionsrichtlinie zugewiesen haben, können Sie Berechtigungen hinzufügen, die es Amazon Pinpoint ermöglichen, die Funktion für ein bestimmtes Projekt, eine Kampagne oder eine bestimmte Journey aufzurufen. Sie können dies mit dem Befehl AWS Command Line Interface (AWS CLI) und dem [https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html)Lambda-Befehl tun. Das folgende Beispiel zeigt, wie Sie dies für ein bestimmtes Projekt (*projectId*) tun können:

```
$ aws lambda add-permission \
--function-name function-name \
--statement-id sid \
--action lambda:InvokeFunction \
--principal pinpoint.us-east-1.amazonaws.com \
--source-arn arn:aws:mobiletargeting:us-east-1:accountId:recommenders/*
```

Das vorherige Beispiel ist für Unix, Linux und macOS formatiert. Ersetzen Sie unter Microsoft Windows das Zeilenfortsetzungszeichen, also den umgekehrten Schrägstrich (\$1), durch ein Caret-Zeichen (^).

Wird der Befehl erfolgreich ausgeführt, sehen Sie eine Ausgabe ähnlich der folgenden:

```
{
  "Statement": "{\"Sid\":\"sid\",
    \"Effect\":\"Allow\",
    \"Principal\":{\"Service\":\"pinpoint.us-east-1.amazonaws.com\"},
    \"Action\":\"lambda:InvokeFunction\",
    \"Resource\":\"arn:aws:lambda:us-east-1:111122223333:function:function-name\",
    \"Condition\":
      {\"ArnLike\":
        {\"AWS:SourceArn\":
         \"arn:aws:mobiletargeting:us-east-1:111122223333:recommenders/*\"}}}"
}
```

Der `Statement`-Wert ist eine JSON-Zeichenfolgenversion der Anweisung, die der Lambda-Funktionsrichtlinie hinzugefügt wurde.

## Amazon Pinpoint so konfigurieren, dass die Lambda-Funktion für ein Empfehlungsmodell aufgerufen wird
<a name="ml-models-rm-lambda-configure"></a>

Um Amazon Pinpoint für den Aufruf der Lambda-Funktion für ein Empfehlungsmodell zu konfigurieren, geben Sie die folgenden Lambda-spezifischen Konfigurationseinstellungen für das Modell an:
+ `RecommendationTransformerUri`: Diese Eigenschaft gibt den Namen oder den Amazon-Ressourcennamen (ARN) der Lambda-Funktion an.
+ `Attributes`: Dieses Objekt ist eine Zuordnung, die die benutzerdefinierten empfohlenen Attribute definiert, die die Funktion jeder Endpunktdefinition hinzufügt. Jedes dieser Attribute kann als Nachrichtenvariable in einer Nachrichtenvorlage verwendet werden.

Sie können diese Einstellungen mithilfe der Ressource [Empfehlungsmodelle](https://docs.aws.amazon.com/pinpoint/latest/apireference/recommenders.html) der Amazon-Pinpoint-API (wenn Sie die Konfiguration für ein Modell erstellen) oder mithilfe der Ressource [Empfängermodell](https://docs.aws.amazon.com/pinpoint/latest/apireference/recommenders-recommender-id.html) der Amazon-Pinpoint-API (wenn Sie die Konfiguration für ein Modell aktualisieren) angeben. Sie können diese Einstellungen auch über die Amazon-Pinpoint-Konsole definieren.

Weitere Informationen zur Verwendung von Empfehlungsmodellen mit Amazon Pinpoint, finden Sie unter [Machine-Learning-Modelle](https://docs.aws.amazon.com/pinpoint/latest/userguide/ml-models.html) im *Amazon-Pinpoint-Benutzerhandbuch*.