本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
當您建立 AppInstanceUser
或 時Channel
,您可以使用 ExpirationSettings
來設定這些資源以進行自動刪除。 ExpirationSettings
有助於降低儲存成本,並防止resource-limit-exceeded的問題。例如,您可以在 7 天後刪除未使用的頻道,或刪除僅出於測試目的而叫用AppInstanceUser
的 。
對於 AppInstanceUser
,您可以根據使用者建立時間指定過期期間。對於 Channel
,您可以根據頻道的建立時間或上次訊息時間指定過期期間。後者可讓您使用訊息活動來自訂自動刪除。
重要
在資源過期後不久, 會ExpirationSettings
啟動背景程序來刪除該資源。程序通常需要 6 小時,但時間可能有所不同。
已過期AppInstanceUsers
且尚未刪除Channels
的 仍會顯示為有效且作用中。您可以更新或移除其過期設定,且系統會遵守您的變更。
設定 ExpirationSettings
下列各節說明如何設定 AppInstanceUser
或 ExpirationSettings
的 Channel
。
建立資源ExpirationSettings時設定
您可以在執行 CreateAppInstanceUser或 CreateChannel APIsExpirationSettings
時設定 。如果您設定 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
" }'
使用 Put APIs設定 ExpirationSettings
您也可以使用 PutAppInstanceUserExpirationSettings和 PutChannelExpirationSettings APIs 來建立、更新和刪除 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"
}