本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 ExpirationSettings
當您建立AppInstanceUser
或時Channel
,您可以使用ExpirationSettings
來設定這些資源以自動刪除。 ExpirationSettings
協助降低儲存成本並避免 resource-limit-exceeded問題發生。例如,您可以在 7 天後刪除未使用的頻道,或刪除僅用AppInstanceUser
於測試目的而叫用的頻道。
對於AppInstanceUser
,您可以根據使用者建立時間來指定到期時間。對於 aChannel
,您可以根據頻道的建立時間或最後一個訊息時間來指定到期時間。後者允許您使用消息活動來自定義自動刪除。
重要
資源到期後不久,ExpirationSettings
啟動後台進程以刪除該資源。該過程通常需要 6 個小時,但時間可能會有所不同。
已過期AppInstanceUsers
Channels
且尚未刪除的項目仍顯示為有效且作用中。您可以更新或移除其到期設定,系統會接受您的變更。
配置 ExpirationSettings
下列各節說明如何設定AppInstanceUser
或的Channel
。ExpirationSettings
在建立資源ExpirationSettings時進行配置
您可以在執行CreateAppInstanceUser或 CreateChannelAPI 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
您也可以使用PutAppInstanceUserExpirationSettings和 PutChannelExpirationSettingsAPI 來建立、更新和刪除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" }