Configurazione di un Channel Processor - SDK Amazon Chime

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

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 Per esempio:

Principal: «messaging.chime.amazonaws.com»

Azione: lambda: InvokeFunction

Effect (Effetto): Permetti

AWS: SourceAccount: Tuo 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'ChannelFlowCallbackAPI. Per informazioni su questa operazione, consulta AWS Lambda run role 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

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "chime:ChannelFlowCallback" ], "Resource": [ "arn:aws:chime:Region:AwsAccountId:appInstance/*" ] } ] }
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'ChannelFlowCallbackAPI dal processore.

ChannelMessage

ChannelArnL'ARN del canale

Contenuto Contenuto del messaggio da elaborare

CreatedTimestampL'ora in cui è stato creato il messaggio

LastEditedTimestampL'ora in cui un messaggio è stato modificato

MessageIdL'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.

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'ChannelFlowCallbackAPI genera un messaggio di errore Forbidden Exception. Per restituire i risultati, richiama l'ChannelFlowCallbackAPI.