Uso ExpirationSettings - Amazon Chime SDK

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 ExpirationSettings

Al crear una AppInstanceUser o unaChannel, puede utilizarla ExpirationSettings para configurar esos recursos para su eliminación automática. ExpirationSettingsayuda 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.

Configurando ExpirationSettings

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

Configurar ExpirationSettings cuando se crea un recurso

Puede configurar ExpirationSettings cuándo ejecuta las CreateChannelAPI CreateAppInstanceUsero. 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" }'

El siguiente ejemplo usa la AWS CLI para crear una Channel que caduca 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 las API Put para configurar ExpirationSettings

También puede usar las PutChannelExpirationSettingsAPI PutAppInstanceUserExpirationSettingsy para crear, actualizar y eliminarExpirationSettings.

El siguiente ejemplo muestra cómo usar la AWS CLI para actualizar una AppInstanceUserExpirationSettings.

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 canalExpirationSettings.

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

Cuando 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" }