AmazonS3, ¿cómo verificar si la carga se realizó correctamente?

Escribí un breve código de prueba en Java para cargar un archivo PDF generado en la memoria. En este código de prueba, solo uso una matriz de bytes ficticia, pero en el uso real pondré un PDF generado (máximo 2-3 páginas) en esa matriz de bytes. Todo funciona: el archivo se carga y se establecen los permisos.

Sin embargo, desde que regresé un PutObjectResult, me preguntaba cómo se supone que debo verificarlo. ¿O es suficiente buscar las excepciones AmazonClientException y AmazonServiceException?

En otras palabras: ¿Cómo verificar que la carga se realizó correctamente y no corrompió mis datos?

    String bucket = "mybucket.example.com";
    String fileName = "2011/test/test.pdf";
    AmazonS3 client = new AmazonS3Client(new BasicAWSCredentials(
        "accessKey", "secretKey"));
    byte[] contents = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
    InputStream stream = new ByteArrayInputStream(contents);
    ObjectMetadata meta = new ObjectMetadata();
    meta.setContentLength(contents.length);
    meta.setContentType("application/pdf");
    PutObjectResult res = client.putObject(bucket, fileName, stream, meta);
    client.setObjectAcl(bucket, fileName, CannedAccessControlList.PublicRead);

Respuestas a la pregunta(1)

Su respuesta a la pregunta