

**Avviso di fine del supporto:** il 30 ottobre 2026, AWS terminerà il supporto per Amazon Pinpoint. Dopo il 30 ottobre 2026, non potrai più accedere alla console Amazon Pinpoint o alle risorse Amazon Pinpoint (endpoint, segmenti, campagne, percorsi e analisi). Per ulteriori informazioni, consulta [Fine del supporto di Amazon Pinpoint](https://docs.aws.amazon.com/console/pinpoint/migration-guide). **Nota: per quanto** APIs riguarda gli SMS, i comandi vocali, i messaggi push su dispositivi mobili, l'OTP e la convalida del numero di telefono non sono interessati da questa modifica e sono supportati da End User Messaging. AWS 

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

# Usa un modello di raccomandazione in Amazon Pinpoint con AWS Lambda
<a name="ml-models-rm-lambda"></a>

In Amazon Pinpoint, puoi recuperare le raccomandazioni personalizzate da un modello di raccomandazione e aggiungerle ai messaggi inviati da campagne e percorsi. Un *modello della funzione di suggerimento* è un tipo di modello di machine learning (ML) che individua pattern nei dati e genera previsioni e suggerimenti in base ai pattern individuati. Predice ciò che un particolare utente preferirà da un determinato set di prodotti o articoli, e fornisce tali informazioni come una serie di suggerimenti per l'utente.

Utilizzando i modelli di raccomandazione con Amazon Pinpoint, puoi inviare raccomandazioni personalizzate ai destinatari dei messaggi in base agli attributi e al comportamento di ciascun destinatario. Con AWS Lambda, puoi anche personalizzare e migliorare questi consigli. Ad esempio, puoi trasformare dinamicamente un suggerimento da un singolo valore di testo (ad esempio un nome prodotto o un ID) a contenuti più sofisticati (ad esempio un nome prodotto, una descrizione e un'immagine). Puoi inoltre farlo in tempo reale, quando Amazon Pinpoint invia il messaggio.

Questa funzionalità è disponibile nelle seguenti AWS regioni: Stati Uniti orientali (Virginia settentrionale); Stati Uniti occidentali (Oregon); Asia Pacifico (Mumbai); Asia Pacifico (Sydney) ed Europa (Irlanda).

# Aggiungi consigli sui modelli di raccomandazione ai messaggi in Amazon Pinpoint
<a name="ml-models-rm-lambda-overview"></a>

Per utilizzare un modello di raccomandazione con Amazon Pinpoint, crea una soluzione Amazon Personalize e quindi implementala come campagna Amazon Personalize. Quindi, puoi creare una configurazione per il modello di raccomandazione in Amazon Pinpoint. Nella configurazione è necessario specificare le impostazioni che determinano come recuperare ed elaborare i dati relativi alle raccomandazioni dalla campagna Amazon Personalize. Ciò include se richiamare una AWS Lambda funzione per eseguire un'ulteriore elaborazione dei dati recuperati.

Amazon Personalize è un AWS servizio progettato per aiutarti a creare modelli di machine learning che forniscono consigli personalizzati in tempo reale per i clienti che utilizzano le tue applicazioni. Grazie a procedure semplificate, Amazon Personalize supporta l'utente nel processo di creazione e addestramento di un modello di machine learning, quindi nella preparazione e implementazione del modello come campagna Amazon Personalize. Puoi quindi recuperare i suggerimenti personalizzati in tempo reale dalla campagna. Per ulteriori informazioni su Amazon Personalize, consulta la [Guida per gli sviluppatori di Amazon Personalize](https://docs.aws.amazon.com/personalize/latest/dg/what-is-personalize.html). 

AWS Lambda è un servizio di elaborazione che puoi utilizzare per eseguire codice senza fornire o gestire server. Impacchettate il codice e lo caricate AWS Lambda come funzione *Lambda*. AWS Lambda quindi esegue la funzione quando la funzione viene richiamata. Puoi richiamare una funzione manualmente, come risposta automatica agli eventi o in risposta a richieste provenienti da applicazioni o servizi, compreso Amazon Pinpoint. Per ulteriori informazioni su come creare e richiamare le funzioni Lambda, consulta [Guida per gli sviluppatori di AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html).

Dopo aver creato una configurazione Amazon Pinpoint per un modello di raccomandazione, puoi aggiungere raccomandazioni dal modello ai messaggi inviati da campagne e percorsi. Puoi eseguire questa operazione utilizzando i modelli di messaggio che contengono variabili di messaggio per gli attributi suggeriti. Un *attributo suggerito* è un endpoint dinamico o un attributo utente progettato per memorizzare i dati dei suggerimenti. Puoi definire questi attributi crei la configurazione per un modello della funzione di suggerimento.

Puoi utilizzare le variabili per gli attributi suggeriti nei seguenti tipi di modelli di messaggio:
+ Modelli di posta elettronica, per i messaggi di posta elettronica inviati da campagne o viaggi.
+ Modelli di notifica push, per le notifiche push inviate dalle campagne.
+ Modelli SMS, per messaggi di testo SMS inviati da campagne.

Per ulteriori informazioni sull'utilizzo dei modelli di raccomandazione con Amazon Pinpoint, consulta [Modelli di machine learning](https://docs.aws.amazon.com/pinpoint/latest/userguide/ml-models.html) nella *Guida per l'utente di Amazon Pinpoint*.

Se configuri Amazon Pinpoint per richiamare una funzione Lambda che elabora i dati delle raccomandazioni, Amazon Pinpoint esegue le seguenti attività generali ogni volta che invia raccomandazioni personalizzate in un messaggio per una campagna o un percorso:

1. Valuta ed elabora le impostazioni di configurazione e il contenuto del messaggio e del modello di messaggio.

1. Determina che il modello di messaggio è connesso a un modello della funzione di suggerimento.

1. Valuta le impostazioni di configurazione per la connessione e l'utilizzo del modello. Queste impostazioni sono definite dalla risorsa del [Modello della funzione di suggerimento](https://docs.aws.amazon.com/pinpoint/latest/apireference/recommenders-recommender-id.html) per il modello.

1. Rileva una o più variabili di messaggio per gli attributi suggeriti definiti dalle impostazioni di configurazione per il modello.

1. Recupera i dati delle raccomandazioni dalla campagna Amazon Personalize specificata nelle impostazioni di configurazione per il modello. Utilizza il [GetRecommendations](https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html)funzionamento dell'API Amazon Personalize Runtime per eseguire questa attività.

1. Aggiunge i dati suggeriti appropriati a un attributo dinamico suggerito (`RecommendationItems`) per ogni destinatario del messaggio.

1. Richiama la funzione Lambda e invia i dati delle raccomandazioni per ciascun destinatario a tale funzione per l'elaborazione.

   I dati vengono inviati come oggetto JSON che contiene la definizione dell'endpoint per ogni destinatario. Ogni definizione di endpoint include un campo `RecommendationItems` contenente un array ordinato contenente da 1 a 5 valori. Il numero di valori nella matrice dipende dalle impostazioni di configurazione del modello.

1. Attende che la funzione Lambda elabori i dati e restituisca i risultati.

   I risultati consistono in un oggetto JSON che contiene una definizione dell’endpoint aggiornata per ogni destinatario. Ogni definizione dell’endpoint aggiornata contiene un nuovo oggetto `Recommendations`. Questo oggetto contiene da 1 a 10 campi, uno per ogni attributo consigliato personalizzato definito nelle impostazioni di configurazione per il modello. Ciascuno di questi campi memorizza dati dei suggerimenti avanzati per l'endpoint.

1. Utilizza la definizione dell'endpoint aggiornata per ciascun destinatario per sostituire ogni variabile di messaggio con il valore appropriato per tale destinatario.

1. Invia una versione del messaggio contenente i suggerimenti personalizzati per ciascun destinatario del messaggio.

Per personalizzare e migliorare le raccomandazioni in questo modo, crea una funzione Lambda che elabori le definizioni di endpoint inviate da Amazon Pinpoint e restituisca le definizioni aggiornate. Quindi, assegna una policy di funzione Lambda alla funzione e autorizza Amazon Pinpoint a richiamare la funzione. Quindi, configura il modello di raccomandazione in Amazon Pinpoint. Quando configuri il modello, specifica la funzione da richiamare e definisci gli attributi suggeriti da utilizzare.

# Crea una funzione Lambda per Amazon Pinpoint da richiamare per un modello di raccomandazione
<a name="ml-models-rm-lambda-create-function"></a>

Per informazioni su come creare una funzione Lambda, consulta [Guida introduttiva](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html) nella *Guida per gli sviluppatori di AWS Lambda *. Quando progetti e sviluppi la tua funzione, tiene a mente i requisiti e le linee guida seguenti. 

## Dati dell’evento di input
<a name="ml-models-rm-lambda-create-function-input"></a>

Quando Amazon Pinpoint richiama una funzione Lambda per un modello di raccomandazione, invia un payload contenente la configurazione e altre impostazioni per la campagna o il percorso di invio del messaggio. Il payload include un `Endpoints` oggetto, che è una mappa che associa l'endpoint alle definizioni degli endpoint IDs per i destinatari dei messaggi.

Le definizioni di endpoint utilizzano la struttura definita dalla risorsa [Endpoint](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-endpoints-endpoint-id.html) dell'API Amazon Pinpoint. Tuttavia, includono anche un campo per un attributo dinamico suggerito denominato `RecommendationItems`. Il campo `RecommendationItems` contiene uno o più elementi suggeriti per l'endpoint, come restituiti dalla campagna Amazon Personalize. Il valore di questo campo è un array ordinato contenente da 1 a 5 elementi suggeriti (come stringhe). Il numero di elementi nell'array dipende dal numero di elementi suggeriti configurati per il recupero da parte di Amazon Pinpoint per ciascun endpoint o utente. 

Esempio:

```
"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"
    }
}
```

Nell'esempio precedente, le impostazioni Amazon Pinpoint pertinenti sono:
+ Il modello della funzione di suggerimento è configurato per recuperare tre elementi suggeriti per ogni endpoint o utente. (Il valore della proprietà `RecommendationsPerMessage` è impostato su `3`.) Con questa impostazione, Amazon Pinpoint recupera e aggiunge solo i primi, secondi e terzi elementi suggeriti per ogni endpoint o utente.
+ Il progetto è configurato per utilizzare attributi utente personalizzati che memorizzano il nome, il cognome e il quartiere in cui vive ogni utente. (L'oggetto `UserAttributes` contiene i valori per questi attributi.)
+ Il progetto è configurato per utilizzare un attributo endpoint personalizzato (`AddressType`) che indica se l'endpoint è l'indirizzo (canale) preferito dall'utente per ricevere messaggi dal progetto. (L'oggetto `Attributes` contiene il valore per questo attributo.)

Quando Amazon Pinpoint richiama la funzione Lambda e invia il payload come dati dell'evento, AWS Lambda passa i dati alla funzione Lambda per l'elaborazione.

Ogni payload può contenere dati per un massimo di 50 endpoint. Se un segmento contiene più di 50 endpoint, Amazon Pinpoint richiama la funzione ripetutamente, per un massimo di 50 endpoint alla volta, finché non vengono elaborati tutti i dati. 

## Dati e requisiti di risposta
<a name="ml-models-rm-lambda-create-function-response"></a>

Quando progetti e sviluppi la funzione Lambda, considera le [quote per i modelli di machine learning](quotas.md#quotas-ML-models). Se la funzione non soddisfa le condizioni definite da queste quote, Amazon Pinpoint non sarà in grado di elaborare e inviare il messaggio.

Tieni a mente anche i seguenti requisiti:
+ La funzione deve restituire le definizioni degli endpoint aggiornate nello stesso formato fornito dai dati degli eventi di input.
+ Ogni definizione di endpoint aggiornata può contenere da 1 a 10 attributi consigliati personalizzati per l'endpoint o l'utente. I nomi di questi attributi devono corrispondere ai nomi degli attributi specificati quando configuri il modello di raccomandazione in Amazon Pinpoint.
+ Tutti gli attributi suggeriti personalizzati devono essere restituiti in un singolo oggetto `Recommendations` per ogni endpoint o utente. Questo requisito consente di garantire che i conflitti di denominazione non si verifichino. Puoi aggiungere l'oggetto `Recommendations` in qualsiasi posizione in una definizione di endpoint. 
+ Il valore per ogni attributo suggerito personalizzato deve essere una stringa (valore singolo) o una matrice di stringhe (valori multipli). Se il valore è un array di stringhe, è consigliabile mantenere l'ordine degli elementi suggeriti restituiti da Amazon Personalize, come indicato nel campo `RecommendationItems`. In caso contrario, il contenuto potrebbe non riflettere le previsioni del modello per un endpoint o un utente.
+ La funzione non deve modificare altri elementi nei dati dell'evento, inclusi altri valori di attributo per un endpoint o un utente. Deve aggiungere e restituire solo valori per gli attributi consigliati personalizzati. Amazon Pinpoint non accetterà aggiornamenti a nessun altro valore nella risposta della funzione.
+ La funzione deve essere ospitata nella stessa AWS regione del progetto Amazon Pinpoint che richiama la funzione. Se la funzione e il progetto non si trovano nella stessa regione, Amazon Pinpoint non è in grado di inviare i dati degli eventi alla funzione.

Se uno dei requisiti precedenti non viene soddisfatto, Amazon Pinpoint non sarà in grado di elaborare e inviare il messaggio a uno o più endpoint. Ciò potrebbe causare un fallimento di una campagna o di un'attività di viaggio. 

Infine, si consiglia di riservare 256 esecuzioni simultanee per la funzione.

Nel complesso, la funzione Lambda deve elaborare i dati degli eventi inviati da Amazon Pinpoint e restituire le definizioni di endpoint modificate. È possibile eseguire questa operazione mediante l'iterazione di ciascun endpoint nell'oggetto `Endpoints` e, per ogni endpoint, creando e impostando valori per gli attributi suggeriti personalizzati che si desidera utilizzare. Il seguente handler di esempio, scritto in Python e che prosegue l'esempio precedente di dati degli eventi di input, mostra quanto segue:

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

Nell'esempio precedente, AWS Lambda passa i dati dell'evento al gestore come parametro. `event` L’handler esegue l'iterazione di ciascun endpoint nell'oggetto `Endpoints` e imposta i valori per gli attributi suggeriti personalizzati denominati `Recommendations.Title` e `Recommendations.Genre`. L'istruzione `return` restituisce ogni definizione di endpoint aggiornata ad Amazon Pinpoint.

Continuando con l'esempio precedente di dati degli eventi di input, le definizioni degli endpoint aggiornati sono:

```
"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"
            ]
        }
    }
}
```

Nell'esempio precedente, la funzione ha modificato l'oggetto `Endpoints` ricevuto e restituito i risultati. L'oggetto `Endpoint` per ogni endpoint ora contiene un nuovo oggetto `Recommendations`, che contiene i campi `Title` e `Genre`. Ciascuno di questi campi memorizza una matrice ordinata di tre valori (come stringhe), in cui ogni valore fornisce contenuto migliorato per un elemento suggerito corrispondente nel campo `RecommendationItems`.

# Assegna una policy di funzione Lambda per autorizzare Amazon Pinpoint a elaborare i dati delle raccomandazioni
<a name="ml-models-rm-lambda-trust-policy"></a>

Prima di poter utilizzare la funzione Lambda per elaborare i dati delle raccomandazioni, devi autorizzare Amazon Pinpoint a richiamare la funzione. Per concedere l'autorizzazione per l'invocazione, assegna una policy di funzione Lambda alla funzione. Una *policy di funzione Lambda* è una policy di autorizzazione basata su risorse che designa le entità che possono utilizzare la funzione e le azioni che tali entità possono eseguire. Per ulteriori informazioni, consulta [Uso delle policy basate sulle risorse per AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html) nella *Guida per gli sviluppatori di AWS Lambda *.

La seguente policy di esempio consente al responsabile del servizio Amazon Pinpoint di utilizzare l'`lambda:InvokeFunction`azione per una particolare campagna Amazon Pinpoint *campaignId* () in un particolare progetto Amazon Pinpoint (): *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/*"
    }
  }
}
```

La policy di funzione richiede un blocco `Condition` che includa una chiave `AWS:SourceArn`. Questa chiave specifica quale risorsa può invocare la funzione. Nell'esempio precedente, la policy consente a una particolare campagna di richiamare la funzione.

Puoi anche scrivere una policy che consenta al responsabile del servizio Amazon Pinpoint di utilizzare l'`lambda:InvokeFunction`azione per tutte le campagne e i percorsi di uno specifico progetto Amazon Pinpoint (). *projectId* Di seguito viene illustrato un esempio di policy che mostra questo approccio:

```
{
  "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/*"
    }
  }
}
```

A differenza del primo esempio, la chiave `AWS:SourceArn` nel blocco `Condition` di questo esempio consente a un particolare progetto di invocare la funzione. Questa autorizzazione si applica a tutte le campagne e viaggi nel progetto.

Per scrivere una policy più generica, puoi utilizzare un carattere jolly di corrispondenza con più caratteri (\$1). Ad esempio, puoi utilizzare il seguente blocco `Condition` per consentire a qualsiasi progetto Amazon Pinpoint di richiamare la funzione:

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

Se desideri utilizzare la funzione Lambda con tutti i progetti per l'account Amazon Pinpoint, è consigliabile configurare il blocco `Condition` della policy come indicato in precedenza. Tuttavia, come procedura consigliata, dovresti creare policy che includano solo le autorizzazioni necessarie per eseguire un'operazione specifica su una risorsa specifica.

## Autorizza Amazon Pinpoint a richiamare una funzione Lambda utilizzando il comando e AWS CLI il comando Lambda add-permission
<a name="ml-models-rm-lambda-trust-policy-assign"></a>

Dopo aver assegnato una policy di funzione Lambda a una funzione, puoi aggiungere autorizzazioni che consentono ad Amazon Pinpoint di richiamare la funzione per un progetto, una campagna o un percorso specifico. Puoi farlo usando il comando AWS Command Line Interface (AWS CLI) e Lambda [https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html](https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html). L'esempio seguente mostra come eseguire questa operazione per un progetto specifico (*projectId*):

```
$ 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/*
```

L'esempio precedente è formattato per Unix, Linux e macOS. Per Microsoft Windows, sostituire il carattere di continuazione della riga (\$1) con un accento circonflesso (^).

Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

```
{
  "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/*\"}}}"
}
```

Il valore di `Statement` è una versione in formato stringa JSON dell'istruzione aggiunta alla policy della funzione Lambda.

## Configura Amazon Pinpoint per richiamare la funzione Lambda per un modello di raccomandazione
<a name="ml-models-rm-lambda-configure"></a>

Per configurare Amazon Pinpoint per richiamare la funzione Lambda per un modello di raccomandazione, specifica le seguenti impostazioni di configurazione specifiche di Lambda per il modello:
+ `RecommendationTransformerUri`: questa proprietà specifica il nome o il nome della risorsa Amazon (ARN) della funzione Lambda.
+ `Attributes`: questo oggetto è una mappa che definisce gli attributi consigliati personalizzati che la funzione aggiunge a ciascuna definizione di endpoint. Ciascuno di questi attributi può essere utilizzato come variabile di messaggio in un modello di messaggio.

Puoi specificare queste impostazioni utilizzando la risorsa [Modelli di raccomandazione](https://docs.aws.amazon.com/pinpoint/latest/apireference/recommenders.html) dell'API Amazon Pinpoint (quando crei la configurazione per un modello) o la risorsa [Modello di raccomandazione](https://docs.aws.amazon.com/pinpoint/latest/apireference/recommenders-recommender-id.html) dell'API Amazon Pinpoint (se aggiorni la configurazione per un modello). Puoi inoltre definire queste impostazioni utilizzando la console Amazon Pinpoint.

Per ulteriori informazioni sull'utilizzo dei modelli di raccomandazione con Amazon Pinpoint, consulta [Modelli di machine learning](https://docs.aws.amazon.com/pinpoint/latest/userguide/ml-models.html) nella *Guida per l'utente di Amazon Pinpoint*.