S3에서 이전 파일을 삭제하거나 제거하는 방법은 무엇입니까?
-
13-11-2019 - |
문제
x 일보다 오래된 파일을 삭제하는 기존 솔루션이 있습니까?
해결책
Amazon은 "noreferrer"> 객체 만료 를 소개했습니다.
Amazon S3, 오브젝트 만료 발표
Amazon S3는 새로운 것을 발표했습니다 기능, 객체 만료가 삭제를 예약 할 수 있습니다. 사전 정의 된 기간 이후의 객체. 객체 만기를 사용합니다 개체의 주기적 제거를 예약하려면 귀하의 필요성이 없어짐 삭제를 위해 객체를 식별하고 Amazon에 삭제 요청을 제출합니다. S3.
객체 세트에 대한 객체 만기 규칙을 정의 할 수 있습니다. 양동이. 각 객체 만기 규칙을 사용하면 A를 지정할 수 있습니다 접두사 및 만기 기간. 접두사 필드 (예 :
logs/
) 만료 규칙에 따라 객체를 식별하고 만료 기간은 생성 날짜의 일 수를 지정합니다. (즉, 연령) 이후의 물체를 제거해야합니다. 일단 개체 그들의 만료일을 지나치며 삭제를 위해 대기 할 것입니다. 당신 객체에 대한 보관을 위해 청구되지 않습니다. 만료일.
다른 팁
여기를 수행하는 방법에 대한 몇 가지 정보가 있습니다 ...
http://docs.amazonwebservices.com/amazons3/latest/dev./objectExpiration.html
희망이 도움이됩니다.
AWS S3 라이프 사이클 규칙을 사용하여 파일을 만료하고 삭제할 수 있습니다.양동이를 선택하고 "라이프 사이클 규칙 추가"버튼을 클릭하고 IT를 구성하고 AWS를 구성하고 AWS가 사용자를 돌볼 수 있습니다.
아래의 Blog Post를 Joe에서 단계별 지침으로 참조 할 수 있습니다.실제로는 아주 간단합니다.
https://www.joe0.com/2017/05/24/amazon-s3-how-to-delete-files-older-than-x-x-days/
도움이되기를 바랍니다!
다음 PowerShell 스크립트를 사용하여 x days
후 만료 된 객체를 삭제할 수 있습니다.
[CmdletBinding()]
Param(
[Parameter(Mandatory=$True)]
[string]$BUCKET_NAME, #Name of the Bucket
[Parameter(Mandatory=$True)]
[string]$OBJ_PATH, #Key prefix of s3 object (directory path)
[Parameter(Mandatory=$True)]
[string]$EXPIRY_DAYS #Number of days to expire
)
$CURRENT_DATE = Get-Date
$OBJECTS = Get-S3Object $BUCKET_NAME -KeyPrefix $OBJ_PATH
Foreach($OBJ in $OBJECTS){
IF($OBJ.key -ne $OBJ_PATH){
IF(($CURRENT_DATE - $OBJ.LastModified).Days -le $EXPIRY_DAYS){
Write-Host "Deleting Object= " $OBJ.key
Remove-S3Object -BucketName $BUCKET_NAME -Key $OBJ.Key -Force
}
}
}
.