Uso ExpirationSettings no sistema de mensagens do Amazon Chime SDK - SDK do Amazon Chime

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Uso ExpirationSettings no sistema de mensagens do Amazon Chime SDK

Ao criar um AppInstanceUser ou umChannel, você pode usar ExpirationSettings para configurar esses recursos para exclusão automática. ExpirationSettingsajuda a reduzir os custos de armazenamento e evitar resource-limit-exceeded problemas. Por exemplo, você pode excluir canais não utilizados após 7 dias ou excluir um AppInstanceUser que foi invocado apenas para fins de teste.

Para um AppInstanceUser, você especifica o período de expiração com base no horário de criação do usuário. Para um Channel, você especifica o período de expiração com base no horário de criação do canal ou no horário da última mensagem. O último permite que você use atividades de mensagens para personalizar a exclusão automática.

Importante

Logo após a expiração de um recurso, ExpirationSettings inicia um processo em segundo plano para excluir esse recurso. O processo geralmente leva 6 horas, mas esse tempo pode variar.

Expirou AppInstanceUsers e Channels, que ainda não foram excluídos e ainda aparecem como válidos e ativos. Você pode atualizar ou remover suas configurações de expiração, e o sistema respeita suas alterações.

Configurando ExpirationSettings

As seções a seguir explicam como configurar ExpirationSettings de um AppInstanceUser ou um Channel.

Configurar ExpirationSettings ao criar um recurso

Você pode configurar ExpirationSettings ao executar o CreateAppInstanceUserou CreateChannel APIs. Se você definir o parâmetro ExpirationSettings, deverá conceder as seguintes permissões do IAM:

  • chime:PutAppInstanceUserExpirationSettings ao criar um AppInstanceUser

  • chime:PutChannelExpirationSettings ao criar um Channel.

O exemplo a seguir usa a AWS CLI para criar uma AppInstanceUser que expira após um dia.

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

O exemplo a seguir usa a AWS CLI para criar uma Channel que expira após um dia após o último recebimento de uma mensagem.

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

Usando o Put APIs para configurar ExpirationSettings

Você também pode usar o PutAppInstanceUserExpirationSettingse PutChannelExpirationSettings APIs para criar, atualizar e excluirExpirationSettings.

O exemplo a seguir mostra como usar a AWS CLI para atualizar umAppInstanceUser. 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" }'

O exemplo a seguir mostra como usar a AWS CLI para excluir a de um canal. ExpirationSettings

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

AWS CloudTrail eventos para exclusão de recursos expirados

Depois que o sistema exclui um recurso expirado, ele envia um ExpireChannel evento ExpireAppInstanceUser ou para. AWS CloudTrail O tipo de evento depende do tipo de ativo excluído.

O exemplo a seguir mostra um 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" }