View a markdown version of this page

객체가 존재하는지 확인 - AWS SDK 코드 예제

Doc AWS SDK 예제 GitHub 리포지토리에서 더 많은 SDK 예제를 사용할 수 있습니다. AWS

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

객체가 존재하는지 확인

다음 코드 예제에서는 객체가 존재하는지 확인하는 방법을 보여줍니다.

Java
SDK for Java 2.x
참고

GitHub에 더 많은 내용이 있습니다. AWS 코드 예 리포지토리에서 전체 예를 찾고 설정 및 실행하는 방법을 배워보세요.

SDK for Java V1 AmazonS3Client#doesObjectExist(문자열, 문자열) doesObjectExist 메서드를 대체하여 다음 메서드를 사용할 수 있습니다.

import org.slf4j.Logger; import org.slf4j.LoggerFactory; import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.model.HeadObjectRequest; import software.amazon.awssdk.services.s3.model.NoSuchKeyException; import software.amazon.awssdk.utils.Validate; public class DoesObjectExist { private static final Logger logger = LoggerFactory.getLogger(DoesObjectExist.class); public static void main(String[] args) { DoesObjectExist doesObjectExist = new DoesObjectExist(); final S3Client s3SyncClient = S3Client.builder().build(); final String bucketName = "amzn-s3-demo-bucket"; // Replace with your bucket name. final String key = "my-key"; // Replace with your object key. boolean exists = doesObjectExist.doesObjectExist(bucketName, key, s3SyncClient); logger.info("Object exists: {}", exists); } /** * Checks if the specified object exists in the specified bucket. * <p> * Internally this method uses the * <a href="https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3Client.html#headObject(java.util.function.Consumer)">S3Client.headObject</a> * operation to determine whether the object exists. * <p> * This method is equivalent to the AWS SDK for Java V1's * <a href="https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/AmazonS3Client.html#doesObjectExist-java.lang.String-java.lang.String-">AmazonS3Client#doesObjectExist(String, String)</a>. * <p> * <b>Note:</b> This method returns {@code false} only when S3 responds with 404 (NoSuchKey). If the caller * does not have {@code s3:ListBucket} permission on the bucket, S3 may return 403 instead of 404 for * non-existent objects, which will be thrown as an exception. * * @param bucketName The name of the bucket containing the object. * @param key The key of the object to check. * @param s3SyncClient An {@code S3Client} instance. * @return {@code true} if the object exists; {@code false} if it does not exist. */ public boolean doesObjectExist(String bucketName, String key, S3Client s3SyncClient) { try { Validate.notEmpty(bucketName, "The bucket name must not be null or an empty string.", ""); Validate.notEmpty(key, "The object key must not be null or an empty string.", ""); s3SyncClient.headObject(HeadObjectRequest.builder() .bucket(bucketName) .key(key) .build()); return true; } catch (NoSuchKeyException e) { return false; } } }
  • API 세부 정보는 AWS SDK for Java 2.x API 참조HeadObject를 참조하세요.