Einrichten eines Channel-Prozessors - Amazon Chime SDK

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.

Einrichten eines Channel-Prozessors

Um Channelflows zu verwenden, erstellen Sie zuerst eine Lambda-Funktion des Prozessors, um die Vorverarbeitung für Ihren Anwendungsfall zu verarbeiten. Sie können beispielsweise Nachrichteninhalt oder Metadaten aktualisieren, Nachrichten verweigern und verhindern, dass sie gesendet werden, oder die ursprüngliche Nachricht durchlassen.

Voraussetzungen

  • Die Lambda-Funktion muss sich in derselben befindenAWSKonto und das gleicheAWSRegionen als AppInstance.

Erteilen von Aufrufberechtigungen

Sie müssen dem Amazon Chime SDK-Messaging-Dienst die Berechtigung erteilen, um Ihre Lambda-Ressource aufzurufen. Weitere Informationen zu Berechtigungen finden Sie unterVerwenden ressourcenbasierter Richtlinien fürAWS Lambdaaus. Zum Beispiel:

Prinzipal: chime.amazonaws.com

Action: lambda:InvokeFunction

Effect (Effekt): Sobald Sie die Details auf dieser Seite überprüft haben, klicken Sie auf

aws:SourceAccount:IhreAWS-Konto-IDaus.

aws:SourceArn:"arn:aws:chime:region:AWS account ID:appInstance/*"

Anmerkung

Sie können eine bestimmte App-Instanz-ID angeben, um Ihren Prozessor aufzurufen, oder einen Platzhalter verwenden, um allen Amazon Chime SDK-App-Instanzen in einem Konto den Aufruf Ihres Prozessors zu ermöglichen.

Erteilen von Callback-Berechtigungen

Sie müssen auch zulassen, dass Ihr Prozessor Lambda-Funktionen denChannelFlowCallbackAPI. Weitere Informationen dazu finden Sie unterAWS LambdaRolle ausführenimAWS LambdaEntwicklerhandbuchaus.

Sie können der Ausführungsrolle Ihrer Lambda-Funktion eine Inline-Richtlinie hinzufügen. In diesem Beispiel kann der Prozessor dieChannelFlowCallback APIaus.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "chime:ChannelFlowCallback" ], "Resource arn:aws:chime:region:AWS account ID:appInstance/*", "Effect": "Allow" } ] }
Anmerkung

Befolgen Sie die bewährten Methoden für Lambda-Funktionen. Weitere Informationen erhalten Sie in folgenden Themen:

Aufrufen von 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, das an den Prozessor gesendet wird. Der Wert ist einCHANNEL_MESSAGE_EVENTKonstant:

callbackID

Das Token, das beim Aufrufen desChannelFlowCallbackAPI vom Prozessor.

ChannelMessage

ChannelArnDer ARN des Channels

InhaltZu verarbeitender Nachrichteninhalt

CreatedTimestampDie Uhrzeit, zu der die Nachricht erstellt wurde

lastEditedTimestampDer Zeitpunkt, zu dem eine Nachricht bearbeitet wurde

MessageIdDie Nachrichtenkennung

MetadataZu verarbeitende Nachrichtenmetadaten

PersistenzBoolescher Wert, der steuert, ob die Nachricht im Back-End beibehalten wird. Zulässige Werte: PERSISTENT | NON_PERSISTENT

SenderDer Absender der Nachricht. Typ: anidentity-Objektaus.

TypDer Typ der Mitteilung. ChannelFlow unterstützt nur dasSTANDARDTyp von Nachrichten. Zulässiger Wert:STANDARD

Die Prozessorfunktion bestimmt zu jeder Nachricht Folgendes.

  • Ob der Nachrichteninhalt, Metadaten oder beides aktualisiert werden soll

  • 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 ist markiertPENDINGbis die Lambda-Funktion des Prozessors die Ergebnisse zurücksendet. Die Lambda-Funktion des Prozessors hat 48 Stunden Zeit, um die Ergebnisse zurückzusenden. Wir garantieren nicht, dass die Nachrichtenübermittlung danach erfolgt, und dieChannelFlowCallbackDie API löst eine Fehlermeldung zur Verbotenen Ausnahme aus. Um die Ergebnisse zurückzusenden, rufen Sie dieChannelFlowCallbackAPI.