

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Effettuare chiamate SDK da un servizio di back-end per la messaggistica SDK di Amazon Chime
<a name="call-from-backend"></a>

Dopo aver creato un utente per rappresentare i tuoi servizi di back-end, crei un canale, invii messaggi a quel canale e leggi i messaggi da quel canale.

Esegui il seguente comando CLI per creare un canale pubblico.

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

Il comando produce un ARN in questo formato: `arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/channel/channel_id.`

**Topics**
+ [Come funziona l'autorizzazione IAM per i servizi di back-end](#how-iam-works)
+ [Comprensione dell'autorizzazione implicita delle API](#api-implicit-auth)
+ [Invio ed elenco dei messaggi del canale](#send-list-msgs)

## Come funziona l'autorizzazione IAM per i servizi di back-end
<a name="how-iam-works"></a>

Nel comando CLI della sezione precedente, prendete nota del `chime-bearer` parametro. Identifica l'utente che crea o interagisce con risorse come canali e messaggi. Quasi tutti i messaggi APIs di Amazon Chime SDK hanno `chime-bearer` come parametro, tranne quelli APIs destinati ad essere chiamati solo dagli sviluppatori, ad esempio. `CreateAppInstance`

Le autorizzazioni IAM per la APIs messaggistica dell'SDK Amazon Chime richiedono `app-instance-user-arn ` un che corrisponda al parametro. `chime-bearer` In base all' ARNsAPI ARNs potrebbero essere necessari altri canali, in genere un canale. Per i servizi di back-end come nell'esempio precedente, ciò porta a politiche IAM come l'esempio seguente:

------
#### [ 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/*"
        ]
    }
}
```

------

Annotate l'`AppInstanceUser`ARN e l'ARN del canale nella sezione. `Resource` Questo esempio di policy IAM concede al servizio di back-end l'autorizzazione a effettuare chiamate API come utente con l'ID ".» back-end-worker Se desideri che il tuo servizio di back-end sia in grado di effettuare chiamate per le persone che utilizzano la tua app, modifica l'impostazione in. `app_instance_user_arn` `arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/user/*`

## Comprensione dell'autorizzazione implicita delle API
<a name="api-implicit-auth"></a>

Oltre alle policy IAM, la messaggistica dell'SDK Amazon Chime APIs dispone di autorizzazioni implicite. Ad esempio, un `AppInstanceUser` può solo inviare un messaggio o elencare l'appartenenza a un canale nei canali a cui appartiene l'utente. Un'eccezione a questo è un `AppInstanceUser` who è stato promosso a`AppInstanceAdmin`. Per impostazione predefinita, gli amministratori dispongono delle autorizzazioni per tutti i canali dell'app. Nella maggior parte dei casi d'uso, è necessario solo per i servizi di back-end che contengono una logica aziendale significativa.

Il seguente comando CLI promuove un utente di back-end a amministratore.

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

## Invio ed elenco dei messaggi del canale
<a name="send-list-msgs"></a>

Il seguente comando CLI invia messaggi di canale.

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

I seguenti comandi CLI elencano i messaggi del canale in ordine cronologico 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"
```