

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

# Chiamata di un'operazione della funzione Lambda
<a name="receiving-email-action-lambda"></a>

L'operazione Lambda chiama il codice tramite una funzione e, eventualmente, invia una notifica tramite Amazon SNS. Questa operazione della regola presenta le seguenti opzioni e requisiti.

**Opzioni**
+ **Lambda function** (Funzione Lambda): l'ARN della funzione Lambda. *Un esempio di funzione Lambda ARN è arn:aws:lambda:us-east-1:account-id:function:. MyFunction*
+ **Invocation type** (Tipo di chiamata): tipo di chiamata della funzione Lambda. Un tipo di invocazione significa che l'esecuzione della funzione produce una risposta immediata. **RequestResponse** Un tipo di invocazione di **Event (Evento)** significa che la funzione viene richiamata in modo asincrono. Ti consigliamo di usare il tipo di chiamata **Event (Evento)**, a meno che l'esecuzione sincrona non sia assolutamente necessaria per il tuo caso d'uso.

  Nelle chiamate **RequestResponse** si verifica un timeout dopo 30 secondi.

  Per ulteriori informazioni, consulta [Richiamo di funzioni AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-invocation.html) nella *Guida per gli sviluppatori di AWS Lambda *.
+ **SNS Topic (Argomento SNS)**: nome o ARN dell'argomento Amazon SNS cui inviare una notifica quando viene attivata la funzione Lambda specificata. Un esempio di ARN per un argomento Amazon SNS è *arn:aws:sns:us-east* - 1:123456789012:. MyTopic Per le istruzioni, consulta [Creazione di un argomento Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) nella *Guida per lo Sviluppatore di Amazon Simple Notification Service*.

**Requisiti**
+ La funzione Lambda scelta deve trovarsi nella stessa AWS regione dell'endpoint Amazon SES utilizzato per ricevere e-mail.
+ L'argomento Amazon SNS che scegli deve appartenere alla stessa AWS regione dell'endpoint Amazon SES che usi per ricevere e-mail.

## Scrittura della funzione Lambda
<a name="receiving-email-action-lambda-function"></a>

Per elaborare l'e-mail, la funzione Lambda può essere richiamata in modo asincrono, ovvero usando il tipo di chiamata `Event`. L'eventuale oggetto passato alla funzione Lambda conterrà i metadati relativi all'evento di e-mail in arrivo. Puoi usare i metadati anche per accedere al contenuto del messaggio dal bucket Amazon S3.

Se vuoi controllare effettivamente il flusso di posta, la funzione Lambda deve essere richiamata in modo sincrono, ovvero usando il tipo di chiamata `RequestResponse` e la funzione Lambda deve chiamare il metodo `callback` con due argomenti: il primo argomento è `null` e il secondo argomento è una proprietà `disposition` impostata su `STOP_RULE`, `STOP_RULE_SET` o `CONTINUE`. Se il secondo argomento è `null` o non ha una proprietà `disposition` valida, il flusso di posta continua e vengono elaborate ulteriori operazioni e regole. Questo comportamento corrisponde all'uso del valore `CONTINUE`.

Ad esempio, puoi arrestare la regola di ricezione impostata scrivendo la riga di codice seguente alla fine del codice della funzione Lambda:

```
callback( null, { "disposition" : "STOP_RULE_SET" });
```

Per esempi di AWS Lambda codice, consulta. [Esempi di funzione Lambda](receiving-email-action-lambda-example-functions.md) Per alcuni esempi di casi d'uso generali, consulta [Esempi di casi d'uso](receiving-email-action-lambda-example-use-cases.md).

### Formato di input
<a name="receiving-email-action-lambda-input"></a>

Amazon SES passa informazioni alla funzione Lambda in formato JSON. L'oggetto di primo livello contiene una matrice `Records`, che viene popolata con le proprietà `eventSource`, `eventVersion` e `ses`. L'oggetto `ses` contiene oggetti `receipt` e `mail`, che hanno esattamente lo stesso formato delle notifiche Amazon SNS; descritte in [Contenuti delle notifiche](receiving-email-notifications-contents.md).

I dati che Amazon SES trasmette a Lambda includono metadati relativi al messaggio, oltre a diverse intestazioni di posta elettronica. Tuttavia, non contiene il corpo del messaggio.

Di seguito viene mostrata una vista generale della struttura dell'input fornito da Amazon SES per la funzione Lambda.

```
{
   "Records": [
      {
        "eventSource": "aws:ses",
        "eventVersion": "1.0",
        "ses": {
           "receipt": {
               <same contents as SNS notification>
            },
           "mail": {
               <same contents as SNS notification>
           }
         }
     }
   ]
}
```

### Valori restituiti
<a name="receiving-email-action-lambda-function-return-values"></a>

La funzione Lambda può controllare il flusso di posta restituendo uno dei valori seguenti:
+ `STOP_RULE`: non verranno elaborate ulteriori operazioni nella regola di ricezione corrente, ma possono essere elaborate altre regole di ricezione.
+ `STOP_RULE_SET`: non verranno elaborate ulteriori operazioni o regole di ricezione.
+ `CONTINUE` o qualsiasi altro valore non valido: indica che è possibile elaborare ulteriori operazioni e regole di ricezione.

**Topics**
+ [Scrittura della funzione Lambda](#receiving-email-action-lambda-function)
+ [Esempio di evento di e-mail in entrata](receiving-email-action-lambda-event.md)
+ [Esempi di casi d'uso](receiving-email-action-lambda-example-use-cases.md)
+ [Esempi di funzione Lambda](receiving-email-action-lambda-example-functions.md)