Weitere AWS SDK-Beispiele sind im GitHub Repo AWS Doc SDK Examples
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Prüfen Sie, ob ein Objekt existiert
Das folgende Codebeispiel zeigt, wie überprüft wird, ob ein Objekt existiert.
- Java
-
- SDK für Java 2.x
-
Anmerkung
Es gibt noch mehr dazu GitHub. Hier finden Sie das vollständige Beispiel und erfahren, wie Sie das AWS -Code-Beispiel-
einrichten und ausführen. Sie können die folgende
doesObjectExistMethode als Ersatz für die SDK for Java V1 AmazonS3Client #does ObjectExist (String, String) -Methode verwenden.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; } } }-
Einzelheiten zur API finden Sie HeadObjectin AWS SDK for Java 2.x der API-Referenz.
-