Fazer chamadas de SDK em um serviço de back-end - Amazon Chime SDK

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Fazer chamadas de SDK em um serviço de back-end

Depois de criar um usuário para representar seus serviços de back-end, você cria um canal, envia mensagens para esse canal e lê as mensagens desse canal.

Execute o seguinte comando da CLI a seguir para criar um canal público.

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

O comando produz um ARN neste formato: arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/channel/channel_id.

Como a autorização do IAM funciona para serviços de back-end

No comando da CLI da seção anterior, observe o parâmetro chime-bearer. Ele identifica o usuário que cria ou interage com recursos como canais e mensagens. Quase todas as APIs de mensagens do SDK do Amazon Chime usam chime-bearer como parâmetro, exceto APIs destinadas a serem chamadas somente por desenvolvedores, como CreateAppInstance.

As permissões do IAM para as APIs de mensagens do SDK do Amazon Chime exigem um app-instance-user-arn que corresponda ao parâmetro chime-bearer. ARNs adicionais: geralmente ARNs de canal, podem ser necessários com base na API. Para serviços de back-end como o exemplo acima, isso leva a políticas do IAM, como o exemplo a seguir:

{ "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/*" ] }

Observe o ARN do AppInstanceUser e o ARN do canal na seção Resource. Este exemplo de política do IAM concede ao serviço de back-end permissão para fazer chamadas de API como usuário com o ID de "back-end-worker". Se você quiser que seu serviço de back-end seja capaz de fazer chamadas para as pessoas que usam sua aplicação, mude app_instance_user_arn para arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/user/*.

Entendendo a autorização implícita da API

Além das políticas do IAM, as APIs de Mensagens do SDK do Amazon Chime têm permissões implícitas. Por exemplo, um AppInstanceUser só pode enviar uma mensagem ou listar a associação de um canal nos canais aos quais o usuário pertence. Uma exceção a isso é o AppInstanceUser que foi promovido a AppInstanceAdmin. Por padrão, os administradores têm permissões para todos os canais do seu aplicativo. Para a maioria dos casos de uso, você só precisa disso para serviços de back-end que contenham uma lógica comercial significativa.

O comando da CLI a seguir promove um usuário back-end a administrador.

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

Enviar e listar mensagens do canal

O comando da CLI a seguir envia mensagens 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

Os comandos da CLI a seguir listam mensagens de canal em ordem cronológica inversa.

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