Todos os produtos
Search
Central de documentação

Object Storage Service:Delete files (Android SDK)

Última atualização: Sep 22, 2026

Este tópico descreve como excluir um único objeto ou vários objetos de uma só vez.

Aviso

Não é possível restaurar objetos excluídos. Tenha cautela ao excluir objetos.

Notas de uso

  • Para excluir um objeto, você precisa ter permissões de gravação no bucket em que o objeto está armazenado.

  • Antes de executar o código de exemplo neste tópico, crie uma instância do OSSClient usando métodos como nome de domínio personalizado ou Security Token Service (STS). Para mais informações, consulte Initialization (Android SDK).

Excluir um único objeto

O código de exemplo a seguir demonstra como excluir um objeto chamado exampleobject.txt de um bucket chamado examplebucket:

// Create a delete request.
// Specify the bucket name (for example, examplebucket) and the full path of the object (for example, exampledir/exampleobject.txt). The full path of the object cannot contain the bucket name.
DeleteObjectRequest delete = new DeleteObjectRequest("examplebucket", "exampledir/exampleobject.txt");
// Delete the object asynchronously.
OSSAsyncTask deleteTask = oss.asyncDeleteObject(delete, new OSSCompletedCallback<DeleteObjectRequest, DeleteObjectResult>() {
    @Override
    public void onSuccess(DeleteObjectRequest request, DeleteObjectResult result) {
        Log.d("asyncDeleteObject", "success!");
    }

    @Override
    public void onFailure(DeleteObjectRequest request, ClientException clientExcepion, ServiceException serviceException) {
        // Request error.
        if (clientExcepion != null) {
            // A client exception occurred, such as a network exception.
            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());
        }
    }
});

Excluir vários objetos de uma só vez

É possível excluir até 1.000 objetos de uma só vez.

O resultado da exclusão pode ser retornado em dois modos. Escolha o modo de retorno de acordo com suas necessidades.

  • verbose (padrão): quando isQuiet não é especificado ou é definido como false, o sistema retorna a lista de todos os objetos excluídos.

  • quiet: quando isQuiet é definido como true, o sistema retorna apenas a lista de objetos cuja exclusão falhou.

O código de exemplo a seguir mostra como excluir vários objetos específicos de um bucket chamado examplebucket e retornar o resultado no modo quiet:

// Specify the full paths of the objects that you want to delete. The full paths of the objects cannot contain the bucket name.
List<String> objectKeys = new ArrayList<String>();
objectKeys.add("exampleobject.txt");
objectKeys.add("testfolder/sampleobject.txt");

// Set the mode to basic mode to return only the list of files that failed to be deleted.
DeleteMultipleObjectRequest request = new DeleteMultipleObjectRequest("examplebucket", objectKeys, true);

oss.asyncDeleteMultipleObject(request, new OSSCompletedCallback<DeleteMultipleObjectRequest, DeleteMultipleObjectResult>() {
    @Override
    public void onSuccess(DeleteMultipleObjectRequest request, DeleteMultipleObjectResult result) {
        Log.i("DeleteMultipleObject", "success");
    }

    @Override
    public void onFailure(DeleteMultipleObjectRequest request, ClientException clientException, ServiceException serviceException) {
        // Request error.
        if (clientException != null) {
            // A client exception occurred, such as a network exception.
            clientException.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());
        }
    }
});

Referências

  • Excluir um único objeto

    Para mais informações sobre a operação de API usada para excluir um único objeto, consulte DeleteObject.

  • Excluir vários objetos de uma só vez

    Para informações sobre a operação de API usada para excluir vários objetos de uma só vez, consulte DeleteMultipleObjects.

  • Para mais informações sobre como inicializar uma instância do OSSClient, consulte Initialization.