

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

# Configurazione di un Channel Processor per la messaggistica di Amazon Chime SDK
<a name="processor-setup"></a>

Per iniziare a utilizzare i flussi di canale, devi prima creare una funzione Lambda del processore per gestire la preelaborazione per il tuo caso d'uso. Ad esempio, puoi aggiornare il contenuto o i metadati dei messaggi, rifiutare i messaggi e impedirne l'invio o far passare il messaggio originale.

**Prerequisiti**
+ La funzione Lambda deve trovarsi nello stesso AWS account e AWS nelle stesse regioni di. AppInstance

**Concessione delle autorizzazioni di chiamata**  
Devi autorizzare il servizio di messaggistica Amazon Chime SDK a richiamare la tua risorsa Lambda. [Per ulteriori informazioni sulle autorizzazioni, consulta Utilizzo delle politiche basate sulle risorse per. AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html) Esempio:

  
**Principal:** «messaging.chime.amazonaws.com»  
**Azione: lambda:** InvokeFunction  
**Effect (Effetto)**: Permetti  
**AWS: SourceAccount**:*Your AWS AccountId*.  
**AWSSourceArn:** `"arn:aws:chime:region:AWS AccountId: appInstance/"`

**Nota**  
Puoi fornire un ID di istanza dell'app specifico per richiamare il processore o utilizzare un wildcard per consentire a tutte le istanze dell'app Amazon Chime SDK di un account di richiamare il processore.

**Concessione delle autorizzazioni di callback**  
È inoltre necessario consentire alle funzioni Lambda del processore di chiamare l'`ChannelFlowCallback`API. Per informazioni su questa operazione, consulta [AWS Lambda run role](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) nella *guida per AWS Lambda sviluppatori*. 

Puoi aggiungere una politica Inline al ruolo di esecuzione della tua funzione Lambda. Questo esempio consente al processore di richiamare il. `ChannelFlowCallback API`

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "chime:ChannelFlowCallback"
            ],
            "Resource": [
            "arn:aws:chime:us-east-1:111122223333:appInstance/*"
            ]
        }
    ]
}
```

------

**Nota**  
Segui le best practice per le funzioni Lambda. Per ulteriori informazioni, consulta questi argomenti:   
[Best practice per l'efficienza delle prestazioni](https://docs.aws.amazon.com/whitepapers/latest/serverless-architectures-lambda/performance-efficiency-best-practices.html) 
[Le migliori pratiche per lavorare con AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html)
[Configurazione della simultaneità riservata](https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html#configuration-concurrency-reserved)
[Invocazione asincrona](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html)

**Invocare le funzioni Lambda del processore**  
Quando un utente invia un messaggio, la seguente richiesta di input richiama la funzione Lambda del processore.

```
{
    "EventType": "string"
    "CallbackId": "string"
    "ChannelMessage": {
        "MessageId": "string",
        "ChannelArn": "string",
        "Content": "string",
        "Metadata": "string",
        "Sender":{
            "Arn": "string", 
            "Name": "string"
        },
        "Persistence": "string",
        "LastEditedTimestamp": "string", 
        "Type": "string",
        "CreatedTimestamp": "string", 
    }
}
```

EventType  
L'evento inviato al processore. Il valore è una `CHANNEL_MESSAGE_EVENT` costante.

CallbackId  
Il token utilizzato durante la chiamata all'`ChannelFlowCallback`API dal processore.

ChannelMessage  
*ChannelArn*L'ARN del canale  
*Contenuto Contenuto* del messaggio da elaborare  
*CreatedTimestamp*L'ora in cui è stato creato il messaggio  
*LastEditedTimestamp*L'ora in cui un messaggio è stato modificato  
*MessageId*L'identificatore del messaggio  
*Metadati Metadati* del messaggio da elaborare  
*Persistenza* Booleana che controlla se il messaggio è persistente nel back-end. Valori validi: `PERSISTENT | NON_PERSISTENT`  
*Mittente Il mittente del messaggio*. [Tipo: un oggettoidentity.](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_Identity.html)  
*Tipo Il tipo* di messaggio. ChannelFlowsupporta solo i tipi di `STANDARD` messaggio. Valore valido: `STANDARD`

La funzione del processore determina quanto segue per ogni messaggio.
+ Se aggiornare il contenuto del messaggio, i metadati o entrambi
+ Se rifiutare un messaggio 
+ Se lasciare un messaggio invariato

Al termine dell'elaborazione, la funzione Lambda del processore invia il risultato al servizio di messaggistica SDK di Amazon Chime in modo che il messaggio possa essere inviato a tutti i destinatari. Lo stato del messaggio viene contrassegnato `PENDING` fino a quando la funzione Lambda del processore non restituisce i risultati. La funzione Lambda del processore ha 48 ore per inviare i risultati. Non garantiamo la consegna dei messaggi dopo tale data e l'[https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_ChannelFlowCallback.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_ChannelFlowCallback.html)API genera un messaggio di errore Forbidden Exception. Per restituire i risultati, richiama l'`ChannelFlowCallback`API.