Realizar llamadas al SDK desde un servicio de back-end - Amazon Chime SDK

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Realizar llamadas al SDK desde un servicio de back-end

Una vez que crea un usuario para representar sus servicios de back-end, crea un canal, envía mensajes a ese canal y lee los mensajes de ese canal.

Ejecute el siguiente comando de la CLI para crear un canal público.

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

El comando produce un ARN en este formato: arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/channel/channel_id.

Cómo funciona la autorización de IAM para los servicios de back-end

En el comando CLI de la sección anterior, anote el parámetro chime-bearer. Identifica al usuario que crea recursos como canales y mensajes o interactúe con ellos. Casi todas las API de mensajería de Amazon Chime SDK utilizan chime-bearer como parámetro, excepto las API destinadas a que solo las llamen los desarrolladores, como CreateAppInstance.

Los permisos de IAM para las API de mensajería de Amazon Chime SDK requieren una app-instance-user-arn que coincida con el parámetro chime-bearer. Según la API, es posible que se requieran ARN adicionales (normalmente ARN de canal). En el caso de los servicios de back-end, como el ejemplo anterior, esto lleva a políticas de IAM como las del ejemplo siguiente:

{ "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/back-end-worker", "arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/channel/*" ] }

Anote el ARN de AppInstanceUser y el ARN del canal en la sección Resource. En este ejemplo de política de IAM, se concede al servicio de back-end permiso para realizar llamadas a la API como usuario con el identificador de «trabajador de back-end». Si quiere que su servicio de back-end pueda realizar llamadas para las personas que usan su aplicación, cambie el app_instance_user_arn a arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/user/*.

Comprender la autorización implícita de la API

Además de las políticas de IAM, las API de mensajería de Amazon Chime SDK tienen permisos implícitos. Por ejemplo, tan solo AppInstanceUser puede enviar un mensaje o incluir una lista de los miembros de un canal en los canales a los que pertenezca el usuario. Una excepción a esto es AppInstanceUser que se ha ascendido a AppInstanceAdmin. De forma predeterminada, los administradores tienen permisos para acceder a todos los canales de su aplicación. En la mayoría de los casos de uso, solo lo necesita para los servicios de back-end que contienen una lógica empresarial significativa.

El siguiente comando CLI convierte a un usuario de back-end en administrador.

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

Enviar y enumerar los mensajes del canal

El siguiente comando CLI envía mensajes de canal.

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

Los siguientes comandos CLI enumeran los mensajes de canal en orden cronológico inverso.

  • 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"