

# Exemplos do Chat do Amazon IVS usando a AWS CLI
<a name="cli_ivschat_code_examples"></a>

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando a AWS Command Line Interface com o Chat do Amazon IVS.

*Ações* são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

**Topics**
+ [Ações](#actions)

## Ações
<a name="actions"></a>

### `create-chat-token`
<a name="ivschat_CreateChatToken_cli_topic"></a>

O código de exemplo a seguir mostra como usar `create-chat-token`.

**AWS CLI**  
**Para criar um token de chat**  
O exemplo `create-chat-token` a seguir cria um token de chat criptografado usado para estabelecer uma conexão WebSocket individual com uma sala. O token é válido por um minuto e uma conexão (sessão) estabelecida com o token é válida pela duração especificada.  

```
aws ivschat create-chat-token \
    --roomIdentifier "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6", \
    --userId" "11231234" \
    --capabilities "SEND_MESSAGE", \
    --sessionDurationInMinutes" 30
```
Resultado:  

```
{
    "token": "ACEGmnoq#1rstu2...BDFH3vxwy!4hlm!#5",
    "sessionExpirationTime": "2022-03-16T04:44:09+00:00"
    "state": "CREATING",
    "tokenExpirationTime": "2022-03-16T03:45:09+00:00"
}
```
Para obter mais informações, consulte [Etapa 3: autenticar e autorizar clientes de chat](https://docs.aws.amazon.com/ivs/latest/userguide/getting-started-chat.html) no *Guia do usuário do Amazon Interactive Video Service*.  
+  Para ver detalhes da API, consulte [CreateChatToken](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/create-chat-token.html) na *Referência de comandos da AWS CLI*. 

### `create-logging-configuration`
<a name="ivschat_CreateLoggingConfiguration_cli_topic"></a>

O código de exemplo a seguir mostra como usar `create-logging-configuration`.

**AWS CLI**  
**Para criar um recurso de chat LoggingConfiguration**  
O exemplo `create-logging-configuration` a seguir cria um recurso LoggingConfiguration que permite aos clientes armazenar e gravar as mensagens enviadas.  

```
aws ivschat create-logging-configuration \
    --destination-configuration s3={bucketName=demo-logging-bucket} \
    --name "test-logging-config" \
    --tags "key1=value1, key2=value2"
```
Resultado:  

```
{
    "arn": "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ",
    "createTime": "2022-09-14T17:48:00.653000+00:00",
    "destinationConfiguration": {
        "s3": {
            "bucketName": "demo-logging-bucket"
        }
    },
    "id": "ABcdef34ghIJ",
    "name": "test-logging-config",
    "state": "ACTIVE",
    "tags": { "key1" : "value1", "key2" : "value2" },
    "updateTime": "2022-09-14T17:48:01.104000+00:00"
}
```
Para obter mais informações, consulte [Conceitos básicos do Chat do Amazon IVS](https://docs.aws.amazon.com/ivs/latest/userguide/getting-started-chat.html) no *Guia do usuário do Amazon Interactive Video Service*.  
+  Para ver detalhes da API, consulte [CreateLoggingConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/create-logging-configuration.html) na *Referência de comandos da AWS CLI*. 

### `create-room`
<a name="ivschat_CreateRoom_cli_topic"></a>

O código de exemplo a seguir mostra como usar `create-room`.

**AWS CLI**  
**Para criar uma sala**  
O exemplo `create-room` a seguir cria uma nova sala.  

```
aws ivschat create-room \
    --name "test-room-1" \
    --logging-configuration-identifiers "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ" \
    --maximum-message-length 256 \
    --maximum-message-rate-per-second 5
```
Resultado:  

```
{
    "arn": "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6",
    "id": "g1H2I3j4k5L6",
    "createTime": "2022-03-16T04:44:09+00:00",
    "loggingConfigurationIdentifiers": ["arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ"],
    "maximumMessageLength": 256,
    "maximumMessageRatePerSecond": 5,
    "name": "test-room-1",
    "tags": {}
    "updateTime": "2022-03-16T07:22:09+00:00"
}
```
Para obter mais informações, consulte [Etapa 2: criar uma sala de chat](https://docs.aws.amazon.com/ivs/latest/userguide/getting-started-chat.html) no *Guia do usuário do Amazon Interactive Video Service*.  
+  Para ver detalhes da API, consulte [CreateRoom](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/create-room.html) na *Referência de comandos da AWS CLI*. 

### `delete-logging-configuration`
<a name="ivschat_DeleteLoggingConfiguration_cli_topic"></a>

O código de exemplo a seguir mostra como usar `delete-logging-configuration`.

**AWS CLI**  
**Para excluir um recurso de chat LoggingConfiguration**  
O exemplo `delete-logging-configuration` a seguir exclui o recurso de LoggingConfiguration do ARN especificado.  

```
aws ivschat delete-logging-configuration \
    --identifier "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ"
```
Este comando não produz saída.  
Para obter mais informações, consulte [Conceitos básicos do Chat do Amazon IVS](https://docs.aws.amazon.com/ivs/latest/userguide/getting-started-chat.html) no *Guia do usuário do Amazon Interactive Video Service*.  
+  Para ver detalhes da API, consulte [DeleteLoggingConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/delete-logging-configuration.html) na *Referência de comandos da AWS CLI*. 

### `delete-message`
<a name="ivschat_DeleteMessage_cli_topic"></a>

O código de exemplo a seguir mostra como usar `delete-message`.

**AWS CLI**  
**Para excluir mensagens de uma sala especificada**  
O exemplo `delete-message` a seguir envia um evento para a sala especificada que direciona os clientes a excluírem a mensagem especificada: ou seja, retirá-la da exibição e excluí-la do histórico de chat do cliente.  

```
aws ivschat delete-message \
    --roomIdentifier "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6" \
    --id "ABC123def456" \
    --reason "Message contains profanity"
```
Resultado:  

```
{
    "id": "12345689012"
}
```
Para obter mais informações, consulte [Conceitos básicos do Chat do Amazon IVS](https://docs.aws.amazon.com/ivs/latest/userguide/getting-started-chat.html) no *Guia do usuário do Amazon Interactive Video Service*.  
+  Consulte detalhes da API em [DeleteMessage](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/delete-message.html) na *Referência de comandos da AWS CLI*. 

### `delete-room`
<a name="ivschat_DeleteRoom_cli_topic"></a>

O código de exemplo a seguir mostra como usar `delete-room`.

**AWS CLI**  
**Para excluir uma sala**  
O exemplo `delete-room` a seguir exclui a sala especificada. Os clientes conectados são desconectados. Em caso de sucesso, ele retorna HTTP 204 com um corpo de resposta vazio.  

```
aws ivschat delete-room \
    --identifier "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6"
```
Este comando não produz saída.  
Para obter mais informações, consulte [Conceitos básicos do Chat do Amazon IVS](https://docs.aws.amazon.com/ivs/latest/userguide/getting-started-chat.html) no *Guia do usuário do Amazon Interactive Video Service*.  
+  Para ver detalhes da API, consulte [DeleteRoom](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/delete-room.html) na *Referência de comandos da AWS CLI*. 

### `disconnect-user`
<a name="ivschat_DisconnectUser_cli_topic"></a>

O código de exemplo a seguir mostra como usar `disconnect-user`.

**AWS CLI**  
**Como desconectar um usuário de uma sala**  
O exemplo `disconnect-user` a seguir desconecta todas as conexões do usuário especificado da sala especificada. Em caso de sucesso, ele retorna HTTP 200 com um corpo de resposta vazio.  

```
aws ivschat disconnect-user \
    --roomIdentifier "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6" \
    --userId "ABC123def456" \
    --reason "Violated terms of service"
```
Este comando não produz saída.  
Para obter mais informações, consulte [Conceitos básicos do Chat do Amazon IVS](https://docs.aws.amazon.com/ivs/latest/userguide/getting-started-chat.html) no *Guia do usuário do Amazon Interactive Video Service*.  
+  Para ver detalhes da API, consulte [DisconnectUser](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/disconnect-user.html) na *Referência de comandos da AWS CLI*. 

### `get-logging-configuration`
<a name="ivschat_GetLoggingConfiguration_cli_topic"></a>

O código de exemplo a seguir mostra como usar `get-logging-configuration`.

**AWS CLI**  
**Para obter informações sobre um recurso LoggingConfiguration**  
O exemplo `get-logging-configuration` a seguir obtém informações sobre o recurso de LoggingConfiguration do ARN especificado.  

```
aws ivschat get-logging-configuration \
    --identifier "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ"
```
Resultado:  

```
{
    "arn": "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ",
    "createTime": "2022-09-14T17:48:00.653000+00:00",
    "destinationConfiguration": {
        "s3": {
            "bucketName": "demo-logging-bucket"
        }
    },
    "id": "ABcdef34ghIJ",
    "name": "test-logging-config",
    "state": "ACTIVE",
    "tags": { "key1" : "value1", "key2" : "value2" },
    "updateTime": "2022-09-14T17:48:01.104000+00:00"
}
```
Para obter mais informações, consulte [Conceitos básicos do Chat do Amazon IVS](https://docs.aws.amazon.com/ivs/latest/userguide/getting-started-chat.html) no *Guia do usuário do Amazon Interactive Video Service*.  
+  Para ver detalhes da API, consulte [GetLoggingConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/get-logging-configuration.html) na *Referência de comandos da AWS CLI*. 

### `get-room`
<a name="ivschat_GetRoom_cli_topic"></a>

O código de exemplo a seguir mostra como usar `get-room`.

**AWS CLI**  
**Para obter a sala especificada**  
O exemplo `get-room` a seguir obtém as informações sobre a sala especificada.  

```
aws ivschat get-room \
    --identifier "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6"
```
Resultado:  

```
{
    "arn": "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6",
    "createTime": "2022-03-16T04:44:09+00:00",
    "id": "g1H2I3j4k5L6",
    "loggingConfigurationIdentifiers": ["arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ"],
    "maximumMessageLength": 256,
    "maximumMessageRatePerSecond": 5,
    "name": "test-room-1",
    "tags": {},
    "updateTime": "2022-03-16T07:22:09+00:00"
}
```
Para obter mais informações, consulte [Conceitos básicos do Chat do Amazon IVS](https://docs.aws.amazon.com/ivs/latest/userguide/getting-started-chat.html) no *Guia do usuário do Amazon Interactive Video Service*.  
+  Para ver detalhes da API, consulte [GetRoom](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/get-room.html) na *Referência de comandos da AWS CLI*. 

### `list-logging-configurations`
<a name="ivschat_ListLoggingConfigurations_cli_topic"></a>

O código de exemplo a seguir mostra como usar `list-logging-configurations`.

**AWS CLI**  
**Para obter informações resumidas sobre todas as configurações de log para o usuário na região da AWS em que a solicitação da API é processada**  
O exemplo `list-logging-configurations` a seguir lista informações sobre todos os recursos da LoggingConfiguration para o usuário na região da AWS onde a solicitação da API é processada.  

```
aws ivschat list-logging-configurations \
    --max-results 2 \
    --next-token ""
```
Resultado:  

```
{
    "nextToken": "set-2",
    "loggingConfigurations": [
        {
            "arn": "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ",
            "createTime": "2022-09-14T17:48:00.653000+00:00",
            "destinationConfiguration": {
                "s3": {
                    "bucketName": "demo-logging-bucket"
                }
            },
            "id": "ABcdef34ghIJ",
            "name": "test-logging-config",
            "state": "ACTIVE",
            "tags": { "key1" : "value1", "key2" : "value2" },
            "updateTime": "2022-09-14T17:48:01.104000+00:00"
        }
        ...
    ]
}
```
Para obter mais informações, consulte [Conceitos básicos do Chat do Amazon IVS](https://docs.aws.amazon.com/ivs/latest/userguide/getting-started-chat.html) no *Guia do usuário do Amazon Interactive Video Service*.  
+  Para ver detalhes da API, consulte [ListLoggingConfigurations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/list-logging-configurations.html) na *Referência de comandos da AWS CLI*. 

### `list-rooms`
<a name="ivschat_ListRooms_cli_topic"></a>

O código de exemplo a seguir mostra como usar `list-rooms`.

**AWS CLI**  
**Para obter informações resumidas sobre todas as suas salas na região atual**  
O exemplo `list-rooms` a seguir obtém informações resumidas sobre todas as salas na região da AWS em que a solicitação é processada. Os resultados são classificados em ordem decrescente de updateTime.  

```
aws ivschat list-rooms \
    --logging-configuration-identifier "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ" \
    --max-results 10 \
    --next-token ""
```
Resultado:  

```
{
    "nextToken": "page3",
    "rooms": [
        {
            "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6",
            "createTime": "2022-03-16T04:44:09+00:00",
            "id": "g1H2I3j4k5L6",
            "loggingConfigurationIdentifiers": ["arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ"],
            "name": "test-room-1",
            "tags": {},
            "updateTime": "2022-03-16T07:22:09+00:00"
        }
    ]
}
```
Para obter mais informações, consulte [Conceitos básicos do Chat do Amazon IVS](https://docs.aws.amazon.com/ivs/latest/userguide/getting-started-chat.html) no *Guia do usuário do Amazon Interactive Video Service*.  
+  Para ver detalhes da API, consulte [ListRooms](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/list-rooms.html) na *Referência de comandos da AWS CLI*. 

### `list-tags-for-resource`
<a name="ivschat_ListTagsForResource_cli_topic"></a>

O código de exemplo a seguir mostra como usar `list-tags-for-resource`.

**AWS CLI**  
**Para listar todas as tags de um recurso AWS (por exemplo: sala)**  
O exemplo `list-tags-for-resource` a seguir lista todas as tags do recurso ARN (Amazon Resource Name) especificado.  

```
aws ivschat list-tags-for-resource \
    --resource-arn arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6
```
Resultado:  

```
{
    "tags":
    {
        "key1": "value1",
        "key2": "value2"
    }
}
```
Para obter mais informações, consulte [Tags](https://docs.aws.amazon.com/ivs/latest/APIReference/Welcome.html) na *Referência da API do Amazon Interactive Video Service*.  
+  Para obter detalhes sobre a API, consulte [ListTagsForResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/list-tags-for-resource.html) na *AWS CLI Command Reference*. 

### `send-event`
<a name="ivschat_SendEvent_cli_topic"></a>

O código de exemplo a seguir mostra como usar `send-event`.

**AWS CLI**  
**Como enviar um evento para uma sala**  
O exemplo `send-event` a seguir envia o evento determinado para a sala especificada.  

```
aws ivschat send-event \
    --roomIdentifier "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6" \
    --eventName "SystemMessage" \
    --attributes \
        "msgType"="user-notification", \
        "msgText"="This chat room will close in 15 minutes."
```
Resultado:  

```
{
    "id": "12345689012"
}
```
Para obter mais informações, consulte [Conceitos básicos do Chat do Amazon IVS](https://docs.aws.amazon.com/ivs/latest/userguide/getting-started-chat.html) no *Guia do usuário do Amazon Interactive Video Service*.  
+  Para ver os detalhes da API, consulte [SendEvent](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/send-event.html) na *referência de comandos da AWS CLI*. 

### `tag-resource`
<a name="ivschat_TagResource_cli_topic"></a>

O código de exemplo a seguir mostra como usar `tag-resource`.

**AWS CLI**  
**Para adicionar ou atualizar tags de um recurso AWS (por exemplo: sala)**  
O exemplo `tag-resource` a adiciona ou atualiza as tags do recurso ARN (Amazon Resource Name) especificado. Em caso de sucesso, ele retorna HTTP 200 com um corpo de resposta vazio.  

```
aws ivschat tag-resource \
    --resource-arn arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6 \
    --tags "tagkey1=tagkeyvalue1, tagkey2=tagkeyvalue2"
```
Este comando não produz saída.  
Para obter mais informações, consulte [Tags](https://docs.aws.amazon.com/ivs/latest/APIReference/Welcome.html) na *Referência da API do Amazon Interactive Video Service*.  
+  Consulte detalhes da API em [TagResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/tag-resource.html) na *Referência de comandos da AWS CLI*. 

### `untag-resource`
<a name="ivschat_UntagResource_cli_topic"></a>

O código de exemplo a seguir mostra como usar `untag-resource`.

**AWS CLI**  
**Para remover tags de um recurso AWS (por exemplo: sala)**  
O exemplo `untag-resource` a seguir remove as tags especificadas do recurso ARN (Amazon Resource Name) especificado. Em caso de sucesso, ele retorna HTTP 200 com um corpo de resposta vazio.  

```
aws ivschat untag-resource \
    --resource-arn arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6 \
    --tag-keys "tagkey1, tagkey2"
```
Este comando não produz saída.  
Para obter mais informações, consulte [Tags](https://docs.aws.amazon.com/ivs/latest/APIReference/Welcome.html) na *Referência da API do Amazon Interactive Video Service*.  
+  Para obter detalhes sobre a API, consulte [UntagResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/untag-resource.html) na *Referência de comandos da AWS CLI*. 

### `update-logging-configuration`
<a name="ivschat_UpdateLoggingConfiguration_cli_topic"></a>

O código de exemplo a seguir mostra como usar `update-logging-configuration`.

**AWS CLI**  
**Para atualizar uma configuração log de uma sala**  
O exemplo `update-logging-configuration` a seguir atualiza um recurso LoggingConfiguration com os dados fornecidos.  

```
aws ivschat update-logging-configuration \
    --destination-configuration s3={bucketName=demo-logging-bucket} \
    --identifier "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ" \
    --name "test-logging-config"
```
Resultado:  

```
{
    "arn": "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ",
    "createTime": "2022-09-14T17:48:00.653000+00:00",
    "destinationConfiguration": {
        "s3": {
            "bucketName": "demo-logging-bucket"
        }
    },
    "id": "ABcdef34ghIJ",
    "name": "test-logging-config",
    "state": "ACTIVE",
    "tags": { "key1" : "value1", "key2" : "value2" },
    "updateTime": "2022-09-14T17:48:01.104000+00:00"
}
```
Para obter mais informações, consulte [Conceitos básicos do Chat do Amazon IVS](https://docs.aws.amazon.com/ivs/latest/userguide/getting-started-chat.html) no *Guia do usuário do Amazon Interactive Video Service*.  
+  Para ver detalhes da API, consulte [UpdateLoggingConfiguration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/update-logging-configuration.html) na *Referência de comandos da AWS CLI*. 

### `update-room`
<a name="ivschat_UpdateRoom_cli_topic"></a>

O código de exemplo a seguir mostra como usar `update-room`.

**AWS CLI**  
**Para atualizar a configuração de uma sala**  
O exemplo `update-room` a seguir atualiza a configuração da sala especificada com os dados fornecidos.  

```
aws ivschat update-room \
    --identifier "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6" \
    --logging-configuration-identifiers "arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ" \
    --name "chat-room-a" \
    --maximum-message-length 256 \
    --maximum-message-rate-per-second 5
```
Resultado:  

```
{
    "arn": "arn:aws:ivschat:us-west-2:12345689012:room/g1H2I3j4k5L6",
    "createTime": "2022-03-16T04:44:09+00:00",
    "id": "g1H2I3j4k5L6",
    "loggingConfigurationIdentifiers": ["arn:aws:ivschat:us-west-2:123456789012:logging-configuration/ABcdef34ghIJ"],
    "maximumMessageLength": 256,
    "maximumMessageRatePerSecond": 5,
    "name": "chat-room-a",
    "tags": {},
    "updateTime": "2022-03-16T07:22:09+00:00"
}
```
Para obter mais informações, consulte [Conceitos básicos do Chat do Amazon IVS](https://docs.aws.amazon.com/ivs/latest/userguide/getting-started-chat.html) no *Guia do usuário do Amazon Interactive Video Service*.  
+  Para ver detalhes da API, consulte [UpdateRoom](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ivschat/update-room.html) na *Referência de comandos da AWS CLI*. 