Use o método HeadObject para recuperar os metadados de um objeto sem baixar seu conteúdo.
Observações
Os metadados descrevem as propriedades do objeto e incluem cabeçalhos HTTP padrão e metadados definidos pelo usuário. Defina cabeçalhos HTTP padrão para estabelecer políticas de requisição HTTP, como políticas de cache ou de download forçado. Você também pode definir metadados personalizados para identificar a finalidade ou as características do objeto. Para mais informações, consulte Metadados de objeto.
O OSS SDK for Android não permite definir nem modificar metadados de objeto.
Antes de executar o código de exemplo deste tópico, crie uma instância OSSClient por meio de métodos como nome de domínio personalizado ou Security Token Service (STS). Para mais informações, consulte Inicialização (Android SDK).
Código de exemplo
O código a seguir mostra como recuperar os metadados de um 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.
Referências
Para mais informações sobre a operação de API que recupera metadados de objeto, consulte GetObjectMeta.
Para mais informações sobre como inicializar uma instância OSSClient, consulte Inicializar uma instância OSSClient para Android.