Todos os produtos
Search
Central de documentação

Object Storage Service:Excluir arquivos (Android SDK)

Última atualização: Jul 03, 2026

Este tópico descreve como excluir um único objeto ou vários objetos simultaneamente.

Aviso

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

Observações de uso

  • Para excluir um objeto, são necessárias permissões de gravação no bucket onde o objeto está armazenado.

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

Excluir um único objeto

O código de exemplo a seguir mostra 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 simultaneamente

É possível excluir até 1.000 objetos por vez.

O resultado da exclusão pode ser retornado nos dois modos a seguir. Selecione o modo de retorno conforme sua necessidade.

  • verbose (padrão): se isQuiet não for especificado ou estiver definido como false, o sistema retorna uma lista de todos os objetos excluídos.

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

O código de exemplo a seguir demonstra como excluir múltiplos 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 simultaneamente

    Para obter detalhes sobre a operação de API que permite excluir vários objetos de uma só vez, consulte DeleteMultipleObjects.

  • Para mais informações sobre como inicializar uma instância OSSClient, consulte Inicialização.