Amazon Chime SDK 메시징에서 ExpirationSettings 사용 - Amazon Chime SDK

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Chime SDK 메시징에서 ExpirationSettings 사용

AppInstanceUser 또는 Channel을 만들 때 ExpirationSettings를 사용하여 해당 리소스가 자동으로 삭제되도록 구성할 수 있습니다. ExpirationSettings는 스토리지 비용을 절감하고 리소스 한도 초과 문제를 방지하는 데 도움이 됩니다. 예를 들어 7일이 지난 후 사용하지 않는 채널을 삭제하거나 테스트 목적으로만 호출된 AppInstanceUser를 삭제할 수 있습니다.

AppInstanceUser의 경우 사용자 생성 시간을 기준으로 만료 기간을 지정합니다. Channel의 경우 채널 생성 시간 또는 마지막 메시지 시간을 기준으로 만료 기간을 지정합니다. 후자의 경우 메시지 활동을 사용하여 자동 삭제를 사용자 지정할 수 있습니다.

중요

리소스가 만료된 후 곧바로 ExpirationSettings가 백그라운드 프로세스를 시작하여 해당 리소스를 삭제합니다. 프로세스는 일반적으로 6시간이 소요되지만 이 시간은 달라질 수 있습니다.

아직 삭제되지 않은 만료된 AppInstanceUsersChannels은 여전히 유효하고 활성 상태로 표시됩니다. 해당 항목들의 만료 설정을 업데이트하거나 제거할 수 있으며 시스템이 변경 사항을 반영합니다.

ExpirationSettings 구성하기

다음 섹션에서는 Channel 또는 ExpirationSettingsAppInstanceUser을 구성하는 방법에 대해 설명합니다.

리소스 생성 시 ExpirationSettings 구성

CreateAppInstanceUser 또는 CreateChannel API를 실행할 때 ExpirationSettings를 구성할 수 있습니다. ExpirationSettings 파라미터를 설정하는 경우 다음 IAM 권한을 부여해야 합니다.

  • AppInstanceUser를 생성할 때 chime:PutAppInstanceUserExpirationSettings

  • Channel을 생성할 때 chime:PutChannelExpirationSettings.

다음 예제에서는 AWS CLI를 사용하여 하루 후에 만료AppInstanceUser되는를 생성합니다.

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

다음 예제에서는 AWS CLI를 사용하여 메시지를 마지막으로 수신한 후 하루 후에 만료Channel되는를 생성합니다.

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

PUT API를 사용하여 ExpirationSettings 구성하기

PutAppInstanceUserExpirationSettingsPutChannelExpirationSettings API를 사용하여 ExpirationSettings를 생성, 업데이트 및 삭제할 수도 있습니다.

다음 예제에서는 AWS CLI를 사용하여 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" }'

다음 예제에서는 AWS CLI를 사용하여 채널의를 삭제하는 방법을 보여줍니다ExpirationSettings.

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

만료된 리소스 삭제에 대한AWS CloudTrail 이벤트

시스템이 만료된 리소스를 삭제하면 ExpireAppInstanceUser 또는 ExpireChannel 이벤트를 AWS CloudTrail로 전송합니다. 이벤트 유형은 삭제된 자산의 유형에 따라 달라집니다.

다음 예시는 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" }