ProgramingTip

S3에서 오래된 파일을 삭제하거나 제거하는 방법은 무엇입니까?

bestdevel 2020. 12. 25. 10:26
반응형

S3에서 오래된 파일을 삭제하거나 제거하는 방법은 무엇입니까?


x 일이 지난 파일을 삭제하는 기존 솔루션이 있습니까?


아마존은 최근에 object-만료 를 도입 했습니다.

Amazon S3, 발표 발표

Amazon S3는 미리 정의 된 기간에 객체 삭제 기능을 예약 할 수있는 새로운 객체 생성을 발표했습니다. Amazon S3에 초대를 사용하지 않고 초대를받을 수 있습니다.

버킷의 객체 집합에서 객체 객체를 정의 할 수 있습니다. 각 마감 규칙을 사용하여 접두사 및 마감 기간 (일)을 사용할 수 있습니다. 접두사 필드 (예 logs/:)는 종료 규칙이 적용되는 개체를 끊임없이 지정하고 기간은 개체를 제거해야 할 생성 날짜 (예 : 나이)로부터 일 수를 지정합니다. 추가됩니다. 더 많은 비용이 청구되지 않습니다.


방법에 대한 정보는 다음과 가능합니다.

http://docs.amazonwebservices.com/AmazonS3/latest/dev/ObjectExpiration.html

도움이 되셨기를 바랍니다.


AWS S3 수명주기 규칙을 사용하여 파일을 완료하고이를 수 있습니다. 버킷을 선택하고 "수명주기 규칙 추가"버튼을 클릭 한 다음 구성하기 만하면 AWS가 자동으로 처리합니다.

단계별 지침은 Joe의 아래 블로그 게시물을 참조하십시오. 실제로는 매우 간단합니다.

https://www.joe0.com/2017/05/24/amazon-s3-how-to-delete-files-older-than-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
        }
    }
}

참조 URL : https://stackoverflow.com/questions/8984561/how-to-delete-or-purge-old-files-on-s3

반응형