을 사용한 Amazon S3 체크섬 - AWS SDK for Java 2.x

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

을 사용한 Amazon S3 체크섬

Amazon Simple Storage Service(S3)는 객체를 업로드할 때 체크섬을 지정하는 기능을 제공합니다. 체크섬을 지정하면 객체와 함께 저장되며 객체를 다운로드할 때 유효성을 검사할 수 있습니다.

체크섬은 파일을 전송할 때 데이터 무결성을 한층 더 강화합니다. 체크섬을 사용하면 수신된 파일이 원본 파일과 일치하는지 확인하여 데이터 일관성을 확인할 수 있습니다. Amazon S3의 객체 작업에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서를 참조하세요.

Amazon S3는 현재 SHA-1, SHA-256, CRC-32, CRC-32C 등 네 가지 체크섬 알고리즘을 지원합니다. 필요에 가장 적합한 알고리즘을 유연하게 선택하고 SDK가 체크섬을 계산하도록 할 수 있습니다. 또는 지원되는 네 가지 알고리즘 중 하나를 사용하여 미리 계산된 자체 체크섬 값을 지정할 수 있습니다.

체크섬은 객체 업로드와 객체 다운로드라는 두 가지 요청 단계로 설명합니다.

객체 업로드

알고리즘에 유효한 값은 CRC32, CRC32C, SHA1SHA256입니다.

다음 코드 스니펫은 CRC-32 체크섬이 있는 객체를 업로드하라는 요청을 보여줍니다. SDK는 요청을 보내면 CRC-32 체크섬을 계산하고 객체를 업로드합니다. Amazon S3은 객체와 함께 체크섬을 저장합니다.

SDK에서 계산하는 체크섬이 Amazon S3가 요청을 수신할 때 계산하는 체크섬과 일치하지 않는 경우 오류가 반환됩니다.

미리 계산된 체크섬 값 사용

요청과 함께 제공되는 사전 계산된 체크섬 값은 SDK의 자동 계산을 비활성화하고 제공된 값을 대신 사용합니다.

다음 예제는 사전 계산된 SHA-256 체크섬을 포함하는 요청을 보여줍니다.

Amazon S3에서 체크섬 값이 지정된 알고리즘에 대해 올바르지 않다고 판단하면 서비스는 오류 응답을 반환합니다.

멀티파트 업로드

멀티파트 업로드에 체크섬을 사용할 수도 있습니다.

객체 다운로드

getObject 메서드를 사용하여 객체를 다운로드하면, SDK가 자동으로 체크섬을 검증합니다.

다음 스니펫의 요청은 체크섬을 계산하고 값을 비교하여 응답의 체크섬을 검증하도록 SDK에 지시합니다.

체크섬과 함께 객체를 업로드하지 않은 경우 검증이 수행되지 않습니다.

Amazon S3의 객체는 여러 체크섬을 포함할 수 있지만 다운로드 시 체크섬은 하나만 검증됩니다. 체크섬 알고리즘의 효율성에 기반한 다음 우선순위에 따라 SDK가 검증하는 체크섬이 결정됩니다.

  1. CRC-32C

  2. CRC-32

  3. SHA-1

  4. SHA-256

예를 들어 응답에 CRC-32 체크섬과 SHA-256 체크섬이 모두 포함된 경우 CRC-32 체크섬만 검증됩니다.