使用 ExpirationSettings - Amazon Chime SDK

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 ExpirationSettings

當您建立AppInstanceUser或時Channel,您可以使用ExpirationSettings來設定這些資源以自動刪除。 ExpirationSettings協助降低儲存成本並避免 resource-limit-exceeded問題發生。例如,您可以在 7 天後刪除未使用的頻道,或刪除僅用AppInstanceUser於測試目的而叫用的頻道。

對於AppInstanceUser,您可以根據使用者建立時間來指定到期時間。對於 aChannel,您可以根據頻道的建立時間或最後一個訊息時間來指定到期時間。後者允許您使用消息活動來自定義自動刪除。

重要

資源到期後不久,ExpirationSettings啟動後台進程以刪除該資源。該過程通常需要 6 個小時,但時間可能會有所不同。

已過期AppInstanceUsersChannels且尚未刪除的項目仍顯示為有效且作用中。您可以更新或移除其到期設定,系統會接受您的變更。

配置 ExpirationSettings

下列各節說明如何設定AppInstanceUser或的ChannelExpirationSettings

在建立資源ExpirationSettings時進行配置

您可以在執行CreateAppInstanceUserCreateChannelAPI ExpirationSettings 時進行設定。如果您設定ExpirationSettings參數,則必須授與下列 IAM 許可:

  • chime:PutAppInstanceUserExpirationSettings當創建 AppInstanceUser

  • chime:PutChannelExpirationSettings當創建一個Channel.

下列範例會使用 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" }'

使用放置 API 進行配置 ExpirationSettings

您也可以使用PutAppInstanceUserExpirationSettingsPutChannelExpirationSettingsAPI 來建立、更新和刪除ExpirationSettings

下列範例示範如何使用 AWS CLI 來更新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" }'

下列範例說明如何使用 AWS CLI 刪除通道ExpirationSettings

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

AWS CloudTrail 刪除過期資源的事件

系統刪除過期的資源後,它會將ExpireAppInstanceUserExpireChannel事件傳送至 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" }