

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.

# Einen Channel-Prozessor für Amazon Chime SDK-Messaging einrichten
<a name="processor-setup"></a>

Um mit der Verwendung von Kanalflüssen zu beginnen, erstellen Sie zunächst eine Prozessor-Lambda-Funktion, die die Vorverarbeitung für Ihren Anwendungsfall übernimmt. Sie können beispielsweise Nachrichteninhalte oder Metadaten aktualisieren, Nachrichten ablehnen und deren Versand verhindern oder die ursprüngliche Nachricht durchlassen.

**Voraussetzungen**
+ Die Lambda-Funktion muss sich im selben AWS Konto und in denselben AWS Regionen wie die AppInstance befinden.

**Erteilen von Aufrufrechten**  
Sie müssen dem Amazon Chime SDK-Messaging-Service die Erlaubnis erteilen, Ihre Lambda-Ressource aufzurufen. Weitere Informationen zu Berechtigungen finden Sie unter [Verwenden ressourcenbasierter](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html) Richtlinien für. AWS Lambda Beispiel:

  
**Schulleiter: „messaging.chime.amazonaws.com**“  
**Aktion**: Lambda: InvokeFunction  
**Effekt**: Erlauben  
**AWSSourceAccount:***Your AWS AccountId*.  
**AWS: SourceArn**: `"arn:aws:chime:region:AWS AccountId: appInstance/"`

**Anmerkung**  
Sie können eine bestimmte App-Instance-ID angeben, um Ihren Prozessor aufzurufen, oder einen Platzhalter verwenden, damit alle Amazon Chime SDK-App-Instances in einem Konto Ihren Prozessor aufrufen können.

**Erteilen von Rückrufberechtigungen**  
Sie müssen auch den Lambda-Funktionen Ihres Prozessors erlauben, die `ChannelFlowCallback` API aufzurufen. Informationen dazu finden Sie im *AWS Lambda Entwicklerhandbuch* unter [Rolle AWS Lambda ausführen](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html). 

Sie können der Ausführungsrolle Ihrer Lambda-Funktion eine Inline-Richtlinie hinzufügen. In diesem Beispiel kann der Prozessor die aufrufen. `ChannelFlowCallback API`

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

****  

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

------

**Anmerkung**  
Folgen Sie den Best Practices für Lambda-Funktionen. Weitere Informationen finden Sie in den folgenden Themen:   
[Bewährte Methoden für Leistung und Effizienz](https://docs.aws.amazon.com/whitepapers/latest/serverless-architectures-lambda/performance-efficiency-best-practices.html) 
[Bewährte Methoden für die Arbeit mit AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html)
[Konfigurieren reservierter Gleichzeitigkeit](https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html#configuration-concurrency-reserved)
[Asynchroner Aufruf](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html)

**Aufrufen von Prozessor-Lambda-Funktionen**  
Wenn ein Benutzer eine Nachricht sendet, ruft die folgende Eingabeanforderung die Lambda-Funktion des Prozessors auf.

```
{
    "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  
Das Ereignis wird an den Prozessor gesendet. Der Wert ist eine `CHANNEL_MESSAGE_EVENT` Konstante.

CallbackId  
Das Token, das beim Aufrufen der `ChannelFlowCallback` API vom Prozessor verwendet wurde.

ChannelMessage  
*ChannelArn*Der ARN des Kanals  
*Inhalt Inhalt* der Nachricht, die verarbeitet werden soll  
*CreatedTimestamp*Der Zeitpunkt, zu dem die Nachricht erstellt wurde  
*LastEditedTimestamp*Der Zeitpunkt, zu dem eine Nachricht bearbeitet wurde  
*MessageId*Die Nachrichten-ID  
*Metadaten* Zu verarbeitende Nachrichtenmetadaten  
*Persistence* Boolescher Wert, der steuert, ob die Nachricht im Backend persistent gespeichert wird. Zulässige Werte: `PERSISTENT | NON_PERSISTENT`  
*Absender Der Absender* der Nachricht. Typ: ein [identityObjekt](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_Identity.html).  
*Geben Sie* den Nachrichtentyp ein. ChannelFlowunterstützt nur die `STANDARD` Nachrichtentypen. Gültiger Wert: `STANDARD`

Die Prozessorfunktion bestimmt für jede Nachricht Folgendes.
+ Ob der Nachrichteninhalt, die Metadaten oder beides aktualisiert werden sollen
+ Ob eine Nachricht abgelehnt werden soll 
+ Ob eine Nachricht unverändert bleiben soll

Wenn die Verarbeitung abgeschlossen ist, sendet die Lambda-Funktion des Prozessors das Ergebnis zurück an den Amazon Chime SDK Messaging-Service, sodass die Nachricht an alle Empfänger gesendet werden kann. Der Nachrichtenstatus wird markiert, `PENDING` bis die Lambda-Funktion des Prozessors die Ergebnisse zurücksendet. Die Lambda-Funktion des Prozessors hat 48 Stunden Zeit, um die Ergebnisse zurückzusenden. Danach können wir die Nachrichtenzustellung nicht garantieren, und die [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 gibt eine Forbidden Exception-Fehlermeldung aus. Rufen Sie die API auf, um die Ergebnisse zurückzusenden. `ChannelFlowCallback`