

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso de ExpirationSettings la mensajería del SDK de Amazon Chime
<a name="expiration"></a>

Al crear una `AppInstanceUser` o una`Channel`, puede utilizarla `ExpirationSettings` para configurar esos recursos para su eliminación automática. `ExpirationSettings`ayuda a reducir los costes de almacenamiento y a evitar resource-limit-exceeded problemas. Por ejemplo, puede eliminar los canales no utilizados después de 7 días o eliminar un `AppInstanceUser` que solo se haya invocado con fines de prueba.

En el caso de un `AppInstanceUser`, se especifica el período de caducidad en función de la hora de creación del usuario. Para un `Channel`, especifica el período de caducidad en función de la hora de creación del canal o la hora del último mensaje. Esta última opción le permite utilizar las actividades de los mensajes para personalizar la eliminación automática.

**importante**  
Poco después de que caduque un recurso, `ExpirationSettings` inicia un proceso en segundo plano para eliminarlo. El proceso suele tardar 6 horas, pero ese tiempo puede variar.  
Las `AppInstanceUsers` y `Channels` que hayan caducado y que aún no se hayan eliminado siguen apareciendo como válidas y activas. Puede actualizar o eliminar su configuración de caducidad y el sistema respetará sus cambios.

**Topics**
+ [Configurando ExpirationSettings](#create-expiration)
+ [AWS CloudTrail eventos para la eliminación de recursos caducados](#ct-events)

## Configurando ExpirationSettings
<a name="create-expiration"></a>

En las siguientes secciones se explica cómo configurar un `ExpirationSettings`, un `AppInstanceUser` o un `Channel`. 

### Configuración de ExpirationSettings al crear un recurso
<a name="configure-on-create"></a>

Puede configurarlo `ExpirationSettings` cuando ejecuta el [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateAppInstanceUser.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateAppInstanceUser.html)o [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateChannel.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_CreateChannel.html) APIs. Si establece el parámetro `ExpirationSettings`, debe conceder los siguientes permisos IAM:
+ `chime:PutAppInstanceUserExpirationSettings` al crear un `AppInstanceUser`
+ `chime:PutChannelExpirationSettings` al crear un `Channel`.

En el siguiente ejemplo, se utiliza la AWS CLI para crear una `AppInstanceUser` que caduca al cabo de un día.

```
aws chime-sdk-identity create-app-instance-user \
--app-instance-arn "app_instance_arn" \
--app-instance-user-id "backend-worker" \
--name "backend-worker" \
--expiration-settings '{
            "ExpirationDays": 1,
            "ExpirationCriterion": "CREATED_TIMESTAMP"
        }'
```

En el siguiente ejemplo, se utiliza la AWS CLI para crear una `Channel` que caduque un día después de recibir un mensaje por última vez.

```
aws chime-sdk-messaging create-channel \
--chime-bearer "app_instance_user_arn" \
--app-instance-arn "app_instance_arn" \
--name "firstChannel" \
--expiration-settings '{
            "ExpirationDays": 1,
            "ExpirationCriterion": "LAST_MESSAGE_TIMESTAMP"
        }'
```

### Uso de Put APIs para configurar ExpirationSettings
<a name="configure-on-put"></a>

También puede usar [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_PutAppInstanceUserExpirationSettings.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_PutAppInstanceUserExpirationSettings.html)y [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_PutChannelExpirationSettings.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_PutChannelExpirationSettings.html) APIs para crear, actualizar y eliminar`ExpirationSettings`. 

En el siguiente ejemplo, se muestra cómo utilizar la AWS CLI para actualizar una `AppInstanceUser``ExpirationSettings`.

```
aws chime-sdk-identity put-app-instance-user-expiration-settings \
--app-instance-user-arn "app_instance_user_arn" \
--expiration-settings '{
            "ExpirationDays": 30,
            "ExpirationCriterion": "CREATED_TIMESTAMP"
        }'
```

El siguiente ejemplo muestra cómo usar la AWS CLI para eliminar un canal`ExpirationSettings`.

```
aws chime-sdk-messaging put-channel-expiration-settings \
--chime-bearer "app_instance_user_arn" \
--channel-arn "channel_arn"
```

## AWS CloudTrail eventos para la eliminación de recursos caducados
<a name="ct-events"></a>

Una vez que el sistema elimina un recurso caducado, envía un `ExpireChannel` evento `ExpireAppInstanceUser` o a AWS CloudTrail. El tipo de evento depende del tipo de activo eliminado.

En el siguiente ejemplo, se muestra un evento `AppInstanceUser`.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "accountId": "123456789012",
        "invokedBy": "chime.amazonaws.com"
    },
    "eventTime": "2023-03-15T00:00:00Z",
    "eventSource": "chime.amazonaws.com",
    "eventName": "ExpireAppInstanceUser",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "chime.amazonaws.com",
    "userAgent": "chime.amazonaws.com",
    "requestParameters": null,
    "responseElements": null,
    "eventID": "12345678-1234-1234-1234-123456789012",
    "readOnly": false,
    "resources": [
        {
            "accountId": "123456789012",
            "type": "AWS::Chime::AppInstanceUser",
            "ARN": "arn:aws:chime:us-east-1:123456789012:app-instance/app-instance-id/user/user-id"
        }
    ],
    "eventType": "AwsServiceEvent",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "serviceEventDetails": {
        "reason": "AppInstanceUser deleted due to expiration settings."
    },
    "eventCategory": "Management"
}
```