

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 tutte le API di messaggistica di Amazon Chime SDK utilizzano `chime-bearer` come parametro, ad eccezione delle API pensate per essere chiamate solo dagli sviluppatori, come. `CreateAppInstance`

Le autorizzazioni IAM per le API di messaggistica SDK di Amazon Chime richiedono `app-instance-user-arn ` un che corrisponda al parametro. `chime-bearer` In base all'API, potrebbero essere necessari ARN aggiuntivi, in genere ARN di canale. Per i servizi di back-end come nell'esempio precedente, ciò porta a politiche IAM come nell'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 di «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'opzione. `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, le API di messaggistica SDK di Amazon Chime dispongono 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 che è 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}}"
```