Tätigen von SDK-Aufrufen von einem Backend-Dienst - 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.

Tätigen von SDK-Aufrufen von einem Backend-Dienst

Sobald Sie einen Benutzer erstellt haben, der Ihre Backend-Dienste repräsentiert, erstellen Sie einen Kanal, senden Nachrichten an diesen Kanal und lesen Nachrichten von diesem Kanal.

Führen Sie den folgenden CLI-Befehl aus, um einen öffentlichen Kanal zu erstellen:

aws chime-sdk-messaging create-channel \ --chime-bearer "app_instance_user_arn" \ --app-instance-arn "app_instance_arn" \ --name "firstChannel"

Der Befehl erzeugt einen ARN in folgendem Format:arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/channel/channel_id.

So funktioniert die IAM-Autorisierung für Backend-Dienste

Beachten Sie im CLI-Befehl aus dem vorherigen Abschnitt diechime-bearer-Parameter. Es identifiziert den Benutzer, der Ressourcen wie Kanäle und Nachrichten erstellt oder mit ihnen interagiert. Fast alle Amazon Chime SDK-Messaging-APIs verwendenchime-bearerals Parameter, mit Ausnahme von APIs, die nur von Entwicklern aufgerufen werden sollen, wieCreateAppInstanceaus.

Die IAM-Berechtigungen für Amazon Chime SDK-Messaging-APIs erfordern eineapp-instance-user-arn das entsprichtchime-bearer-Parameter. Zusätzliche ARNS — in der Regel Kanal-ARNS — könnten basierend auf der API erforderlich sein. Für Backend-Dienste wie das obige Beispiel führt dies zu IAM-Richtlinien wie dem folgenden Beispiel:

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "chime:SendChannelMessage", "chime:ListChannelMessages", "chime:CreateChannelMembership", "chime:ListChannelMemberships", "chime:DeleteChannelMembership", "chime:CreateChannel", "chime:ListChannels", "chime:DeleteChannel", ... ], "Resource": [ "arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/user/backend_worker", "arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/channel/*" ] }

Beachten Sie dasAppInstanceUserARN und Channel-ARN in derResourceAbschnitts erstellt. Dieses Beispiel für eine IAM-Richtlinie gewährt dem Backend-Dienst die Berechtigung, API-Aufrufe als Benutzer mit der ID „Backend-Worker“ durchzuführen. Wenn Sie möchten, dass Ihr Backend-Dienst Anrufe für die Personen tätigen kann, die Ihre App verwenden, ändern Sie dieapp_instance_user_arnzuarn:aws:chime:region:aws_account_id:app-instance/app_instance_id/user/*aus.

Implizite API-Autorisierung verstehen

Zusätzlich zu den IAM-Richtlinien verfügen die Amazon Chime SDK-Messaging-APIs über implizite Berechtigungen. Zum Beispiel wird einAppInstanceUserkann nur in Channels, zu denen der Benutzer gehört, eine Nachricht senden oder eine Channel-Mitgliedschaft auflisten. Eine Ausnahme ist einAppInstanceUserzu wem wurde befördertAppInstanceAdminaus. Standardmäßig haben Admins Berechtigungen für alle Kanäle in deiner App. In den meisten Anwendungsfällen benötigen Sie dies nur für Backend-Services, die eine erhebliche Geschäftslogik enthalten.

Der folgende CLI-Befehl befördert einen Backend-Benutzer zu einem Administrator.

aws chime-sdk-identity create-app-instance-admin \ --app-instance-admin-arn "app_instance_user_arn" \ --app-instance-arn "app_instance_arn"

Kanalnachrichten senden und auflisten

Der folgende CLI-Befehl sendet Kanalnachrichten.

aws chime-sdk-messaging send-channel-message \ --chime-bearer "app_instance_user_arn" \ --channel-arn "channel_arn" \ --content "hello world" \ --type STANDARD \ --persistence PERSISTENT

Die folgenden CLI-Befehle führen Kanalnachrichten in umgekehrter chronologischer Reihenfolge auf.

  • aws chime list-channel-messages

  • aws chime-sdk-messaging list-channel-messages

aws chime-sdk-messaging list-channel-messages \ --chime-bearer "app_instance_user_arn" \ --channel-arn "channel_arn"