2016-04-28 1 views
0

Dans AmazonS3Client, il existe une méthode doesObjectExist(String bucketName, String objectName). Cette méthode lance un com.amazonaws.services.s3.model.AmazonS3Exception: Bad Request (Service: Amazon S3; Status Code: 400; Error Code: 400 Bad Request; si vous l'appelez pour un objet crypté. Tout autre moyen de vérifier si un objet existe, sans connaître la clé de cryptage utilisée lors de son enregistrement? Je ne veux pas accéder à l'objet sans avoir la clé de chiffrement, je veux juste savoir si un objet nommé 'blabla' existe ou non, donc je peux demander un message d'erreur à un client qui veut télécharger un objet appelé 'blabla' .AWS SDK vérifier si l'objet existe

Répondre

2

Vous pouvez répertorier tous les éléments dans le compartiment et vérifier si votre objet est présent. encore mieux avec la méthode withPrefix vous pouvez limiter la réponse

http://docs.aws.amazon.com/AmazonS3/latest/dev/ListingObjectKeysUsingJava.html

ListObjectsRequest listObjectsRequest = new ListObjectsRequest() 
.withBucketName(bucketName) 
.withPrefix("blabla"); 

Vous pouvez également consulter getObjectSummaries() méthode pour en savoir plus sur l'objet retourné