이 현상은 S3의 "폴더" 개념과 관련이 있습니다. S3 콘솔에서 "폴더 만들기" 버튼을 사용하여 폴더를 생성하면, 실제로는 폴더 이름과 동일한 0바이트 크기의 객체가 생성됩니다.
이 0바이트 객체는 폴더가 비어있을 때도 S3가 해당 폴더를 표시할 수 있게 합니다. 그러나 S3는 실제로 폴더 구조가 필요하지 않으며, 이러한 폴더 객체는 단순히 시각적 구성을 위한 것입니다3.
따라서 귀하의 경우, 3개의 실제 파일과 1개의 0바이트 폴더 객체가 있어 총 4개의 객체로 계산되는 것으로 보입니다. 이는 S3의 정상적인 동작이며, 실제 저장 공간에는 거의 영향을 미치지 않습니다3.
이러한 차이를 확인하려면 다음과 같이 할 수 있습니다:
S3 콘솔에서 해당 경로의 객체를 나열하고 0바이트 크기의 객체가 있는지 확인합니다.
AWS CLI를 사용하여 버킷을 나열하고 0바이트 객체를 찾습니다.
이 현상은 S3의 객체 저장 방식과 폴더 표현 방식의 차이로 인한 것이며, 실제 데이터 저장이나 비용에는 큰 영향을 미치지 않습니다.
s3 sdk 를 통해서 경로만들고 파일 3개 업로드한후, 해당 경로 선택후 작업-총크기계산 하면 객체가 정상적으로 3개로 나옴.
답변
이 현상은 S3 SDK를 사용하여 객체를 업로드할 때와 S3 콘솔에서 직접 폴더를 생성할 때의 차이점을 보여줍니다.
SDK를 통한 업로드:
S3 SDK를 사용하여 파일을 업로드할 때, 실제 파일 객체만 생성됩니다.
"폴더"는 단순히 객체 키의 접두사로 처리되며, 별도의 0바이트 폴더 객체가 생성되지 않습니다.
S3 콘솔을 통한 폴더 생성:
S3 콘솔에서 "폴더 만들기" 기능을 사용하면, 0바이트 크기의 폴더 객체가 생성됩니다.
따라서 SDK를 통해 경로를 만들고 파일 3개를 업로드한 경우:
실제 파일 객체 3개만 존재합니다.
폴더를 나타내는 별도의 0바이트 객체가 없습니다.
총 크기 계산 시 3개의 객체만 계산됩니다.
이는 S3의 정상적인 동작이며, SDK를 통한 업로드가 더 효율적인 저장 방식을 사용함을 보여줍니다. 폴더 구조는 객체 키의 접두사를 통해 논리적으로 표현되며, 실제 저장소에는 불필요한 0바이트 객체가 생성되지 않습니다.