

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Effectuer des appels au SDK depuis un service principal pour la messagerie du SDK Amazon Chime
<a name="call-from-backend"></a>

Une fois que vous avez créé un utilisateur pour représenter vos services principaux, vous créez un canal, vous envoyez des messages à ce canal et vous lisez les messages provenant de ce canal.

Exécutez la commande CLI suivante pour créer un canal public.

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

La commande produit un ARN au format suivant : `arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/channel/channel_id.`

**Topics**
+ [Comment fonctionne l'autorisation IAM pour les services principaux](#how-iam-works)
+ [Comprendre l'autorisation implicite des API](#api-implicit-auth)
+ [Envoyer et répertorier les messages des chaînes](#send-list-msgs)

## Comment fonctionne l'autorisation IAM pour les services principaux
<a name="how-iam-works"></a>

Dans la commande CLI de la section précédente, notez le `chime-bearer` paramètre. Il identifie l'utilisateur qui crée ou interagit avec des ressources telles que des canaux et des messages. Presque tous les messages du SDK Amazon Chime sont APIs pris `chime-bearer` en paramètre, sauf ceux APIs destinés à être appelés uniquement par les développeurs, tels que. `CreateAppInstance`

Les autorisations IAM pour la APIs messagerie du SDK Amazon Chime nécessitent `app-instance-user-arn ` un code correspondant au paramètre. `chime-bearer` Un canal ARNs supplémentaire, généralement un canal ARNs, peut être requis en fonction de l'API. Pour les services principaux comme dans l'exemple ci-dessus, cela conduit à des politiques IAM comme dans l'exemple suivant :

------
#### [ JSON ]

****  

```
{
    "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:us-east-1:123456789012:app-instance/app_instance_id/user/back-end-worker",
            "arn:aws:chime:us-east-1:123456789012:app-instance/app_instance_id/channel/*"
        ]
    }
}
```

------

Notez l'`AppInstanceUser`ARN et l'ARN du canal dans la `Resource` section. Cet exemple de politique IAM accorde au service principal l'autorisation d'effectuer des appels d'API en tant qu'utilisateur ayant l'ID « »back-end-worker. Si vous souhaitez que votre service principal puisse passer des appels pour les utilisateurs de votre application, remplacez le par`app_instance_user_arn`. `arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/user/*`

## Comprendre l'autorisation implicite des API
<a name="api-implicit-auth"></a>

Outre les politiques IAM, les APIs messages du SDK Amazon Chime disposent d'autorisations implicites. Par exemple, un utilisateur ne `AppInstanceUser` peut envoyer un message ou répertorier les membres d'une chaîne que dans les chaînes auxquelles appartient l'utilisateur. Une exception à cette règle est un `AppInstanceUser` Who qui a été promu`AppInstanceAdmin`. Par défaut, les administrateurs sont autorisés à accéder à toutes les chaînes de votre application. Dans la plupart des cas d'utilisation, vous n'en avez besoin que pour les services principaux qui contiennent une logique métier significative.

La commande CLI suivante transforme un utilisateur principal en administrateur.

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

## Envoyer et répertorier les messages des chaînes
<a name="send-list-msgs"></a>

La commande CLI suivante envoie des messages 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
```

Les commandes CLI suivantes répertorient les messages des canaux dans l'ordre chronologique inverse.
+ `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"
```