수명 주기 문제

Prev Next

Classic/VPC 환경에서 이용 가능합니다.

Object Storage 서비스를 이용하면서 다음과 같은 문제를 겪을 수 있습니다. 문제별 원인과 해결 방법을 확인하고 적절하게 조치해 주십시오.

수명 주기 정책을 설정했는데 객체가 이관되지 않았습니다.

원인

  • Lifecycle Management는 한국 시간으로 매일 1시, 7시, 13시, 19시에 실행됩니다. 종료 시간은 작업량에 따라 상이할 수 있습니다.
  • 단일 버킷 내 객체 개수가 100만 개 이상일 경우 Lifecycle Management 기능이 정상적으로 동작하지 않을 수 있습니다.

해결 방법

  • 수명 주기 정책 예시를 참고하여 정책 및 이관 경로를 다시 한번 확인해 주십시오. Cloud Activity Tracer 서비스를 사용하면 수명 주기 정책 기능의 동작 여부 및 이관된 객체의 개수를 확인할 수 있습니다.
  • 단일 버킷 내 객채 수가 100만 개 이상인 경우, 객체 수를 줄이거나 객체를 다른 버킷에 분할하여 업로드한 후 다시 수행해 주십시오.

수명 주기 정책을 설정했는데 일부 객체가 Archive Storage 서비스로 이관되지 않았습니다.

원인

이관 대상의 파일 이름에 슬래시(/)가 중복되거나 길이가 215 Bytes 이상이면 이관되지 않을 수 있습니다.

해결 방법

  • 파일 이름에 슬래시가 중복되어 있는지 확인해 주십시오.
  • 파일 이름의 길이를 확인해 주십시오.
    • 파일 이름이 215 Bytes 이상인 객체를 조회하는 Python SDK 예제 코드는 다음과 같습니다.
      import boto3
      
      service_name = 's3'
      endpoint_url = 'https://kr.gov-object.ncloudstorage.com'
      region_name = 'kr-standard'
      access_key = 'ACCESS_KEY'
      secret_key = 'SECRET_KEY'
      
      if __name__ == "__main__":
      s3 = boto3.client(service_name, endpoint_url=endpoint_url, aws_access_key_id=access_key,
                          aws_secret_access_key=secret_key)
      bucket_name = ‘sample-bucket’
      
      # Paginator to handle cases with many objects
      paginator = s3.get_paginator('list_objects_v2')
      for page in paginator.paginate(Bucket=bucket_name):
          for obj in page.get('Contents', []):
              key = obj['Key']
              byte_length = len(key.encode('utf-8'))
              if byte_length >= 215:
                  print(f"{key}: {byte_length} bytes")
      
      Python
참고

이 가이드에서 필요한 정보를 찾지 못했거나 추가로 필요한 정보가 있으신 경우, 언제든지 아래의 피드백 아이콘을 클릭하여 의견을 보내 주십시오. 전달해 주신 의견을 참고하여 더 유용한 정보를 제공하겠습니다.