Einen Channel-Prozessor einrichten - 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.

Einen Channel-Prozessor einrichten

Um mit der Verwendung von Channelflows 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 verhindern, dass sie gesendet werden, oder die ursprüngliche Nachricht durchlassen.

Voraussetzungen
  • Die Lambda-Funktion muss sich in derselben befindenAWSKonto und dasselbeAWSRegionen wie dieAppInstance.

Erteilen von Aufrufberechtigungen

Sie müssen dem Amazon Chime SDK-Messaging-Service die Erlaubnis erteilen, Ihre Lambda-Ressource aufzurufen. Weitere Informationen zu Berechtigungen finden Sie unterVerwendung ressourcenbasierter Richtlinien fürAWS Lambda. Beispiele:

Schulleiter: „messaging.chime.amazonaws.com“

Aktion: Lambda:InvokeFunction

Effekt: Erlauben

ALS:SourceAccount:DeinAWSAccountId.

ALS:SourceArn:"arn:aws:chime:region:AWSAccountId: 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 Ihrem Prozessor auch erlauben, die Lambda-Funktionen aufzurufenChannelFlowCallbackAPI. Hinweise dazu finden Sie unterAWS LambdaRolle ausführenin derAWS LambdaLeitfaden für Entwickler.

Sie können der Run-Rolle Ihrer Lambda-Funktion eine Inline-Richtlinie hinzufügen. Dieses Beispiel ermöglicht es dem Prozessor, den aufzurufenChannelFlowCallback API.

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

Folgen Sie den Best Practices für Lambda-Funktionen. Weitere Informationen finden Sie in den folgenden Themen:

Lambda-Funktionen des Prozessors aufrufen

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

CallbackId

Das Token, das beim Aufrufen des verwendet wurdeChannelFlowCallbackAPI vom Prozessor.

ChannelMessage

ChannelArnDer ARN des Kanals

InhaltZu verarbeitender Nachrichteninhalt

CreatedTimestampDer Zeitpunkt, zu dem die Nachricht erstellt wurde

LastEditedTimestampDer Zeitpunkt, zu dem eine Nachricht bearbeitet wurde

MessageIdDie Nachrichten-ID

MetadatenZu verarbeitende Nachrichtenmetadaten

BeharrlichkeitBoolescher Wert, der steuert, ob die Nachricht im Backend gespeichert wird. Zulässige Werte: PERSISTENT | NON_PERSISTENT

AbsenderDer Absender der Nachricht. Typ: einIdentitätsobjekt.

TypDer Nachrichtentyp. ChannelFlowunterstützt nur dieSTANDARDNachrichtentypen. Gültiger Wert:STANDARD

Die Prozessorfunktion bestimmt zu jeder 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 an den Amazon Chime SDK Messaging Service zurück, 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. Danach garantieren wir keine Nachrichtenzustellung, und dieChannelFlowCallbackDie API gibt eine Forbidden Exception-Fehlermeldung aus. Um die Ergebnisse zurückzuschicken, rufen Sie denChannelFlowCallbackAPI.