文件 AWS 開發套件範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
檢查物件是否存在
下列程式碼範例示範如何檢查物件是否存在。
- Java
-
- SDK for Java 2.x
-
注意
GitHub 上提供更多範例。尋找完整範例,並了解如何在 AWS 程式碼範例儲存庫
中設定和執行。 您可以使用下列
doesObjectExist方法取代適用於 Java V1 的 SDK AmazonS3Client#doesObjectExist(String, String) 方法。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。
-
檢查儲存貯體是否存在
將文字轉換為語音然後返回文字