Use el método HeadObject para obtener los metadatos de un objeto sin descargar su contenido.
Notas
Los metadatos de un objeto describen sus propiedades e incluyen encabezados HTTP estándar y metadatos definidos por el usuario. Los encabezados HTTP estándar permiten definir políticas de solicitud HTTP, como las políticas de caché del objeto o las descargas forzadas. Por otro lado, los metadatos definidos por el usuario sirven para identificar la finalidad o las características del objeto. Para obtener más información, consulte Object metadata.
El SDK de OSS para Android no admite configurar ni modificar los metadatos de los objetos.
Antes de ejecutar el código de ejemplo de este tema, debe crear una instancia de OSSClient mediante métodos como el uso de un dominio personalizado o Security Token Service (STS). Para obtener más información, consulte Initialization (Android SDK).
Código de ejemplo
A continuación se muestra cómo obtener los metadatos de un objeto.
// Create a request to synchronously get object metadata.
// Specify the bucket name, such as examplebucket, and the full path of the object, such as exampledir/exampleobject.txt. The full path cannot contain the bucket name.
HeadObjectRequest head = new HeadObjectRequest("examplebucket", "exampledir/exampleobject.txt");
// Get the object metadata.
OSSAsyncTask task = oss.asyncHeadObject(head, new OSSCompletedCallback<HeadObjectRequest, HeadObjectResult>() {
@Override
public void onSuccess(HeadObjectRequest request, HeadObjectResult result) {
// Get the object length.
Log.d("headObject", "object Size: " + result.getMetadata().getContentLength());
// Get the object type.
Log.d("headObject", "object Content Type: " + result.getMetadata().getContentType());
}
@Override
public void onFailure(HeadObjectRequest request, ClientException clientExcepion, ServiceException serviceException) {
// Request exception.
if (clientExcepion != null) {
// A client exception occurred, such as a network error.
clientExcepion.printStackTrace();
}
if (serviceException != null) {
// A server exception occurred.
Log.e("ErrorCode", serviceException.getErrorCode());
Log.e("RequestId", serviceException.getRequestId());
Log.e("HostId", serviceException.getHostId());
Log.e("RawMessage", serviceException.getRawMessage());
}
}
});
// task.waitUntilFinished(); // Wait for the task to complete.
Referencias
Para obtener más información sobre la operación de API que obtiene los metadatos de un objeto, consulte GetObjectMeta.
Para conocer cómo inicializar una instancia de OSSClient, consulte Initialize an OSSClient instance for Android.