Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
À utiliser GetObjectAttributesavec un AWS Kit SDK
L'exemple de code suivant montre comment utiliserGetObjectAttributes.
- Java
-
- SDK pour Java 2.x
-
Obtenez les attributs d’un objet à partir d’un compartiment de répertoires.
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.GetObjectAttributesRequest;
import software.amazon.awssdk.services.s3.model.GetObjectAttributesResponse;
import software.amazon.awssdk.services.s3.model.ObjectAttributes;
import software.amazon.awssdk.services.s3.model.S3Exception;
import java.nio.file.Path;
import static com.example.s3.util.S3DirectoryBucketUtils.createDirectoryBucket;
import static com.example.s3.util.S3DirectoryBucketUtils.createS3Client;
import static com.example.s3.util.S3DirectoryBucketUtils.deleteAllObjectsInDirectoryBucket;
import static com.example.s3.util.S3DirectoryBucketUtils.deleteDirectoryBucket;
import static com.example.s3.util.S3DirectoryBucketUtils.getFilePath;
import static com.example.s3.util.S3DirectoryBucketUtils.putDirectoryBucketObject;
/**
* Retrieves attributes for an object in the specified S3 directory bucket.
*
* @param s3Client The S3 client used to interact with S3
* @param bucketName The name of the directory bucket
* @param objectKey The key (name) of the object to retrieve attributes for
* @return True if the object attributes are successfully retrieved, false
* otherwise
*/
public static boolean getDirectoryBucketObjectAttributes(S3Client s3Client, String bucketName, String objectKey) {
logger.info("Retrieving attributes for object: {} from bucket: {}", objectKey, bucketName);
try {
// Create a GetObjectAttributesRequest
GetObjectAttributesRequest getObjectAttributesRequest = GetObjectAttributesRequest.builder()
.bucket(bucketName)
.key(objectKey)
.objectAttributes(ObjectAttributes.E_TAG, ObjectAttributes.STORAGE_CLASS,
ObjectAttributes.OBJECT_SIZE)
.build();
// Retrieve the object attributes
GetObjectAttributesResponse response = s3Client.getObjectAttributes(getObjectAttributesRequest);
logger.info("Attributes for object {}:", objectKey);
logger.info("ETag: {}", response.eTag());
logger.info("Storage Class: {}", response.storageClass());
logger.info("Object Size: {}", response.objectSize());
return true;
} catch (S3Exception e) {
logger.error("Failed to retrieve object attributes: {} - Error code: {}",
e.awsErrorDetails().errorMessage(), e.awsErrorDetails().errorCode(), e);
return false;
}
}
Pour obtenir la liste complète des guides de développement du AWS SDK et des exemples de code, consultezDéveloppement avec Amazon S3 à l'aide du AWS Kits SDK. Cette rubrique comprend également des informations sur le démarrage et sur les versions précédentes du kit SDK.