""" @author:ZSW @file:MinioObjectBase.py @time:2020/12/04 """ from minio_learn.MinioConfig import minioClient from minio.error import ResponseError import os class Object: def load_object(self): try: data = minioClient.get_object('testfiles', 'long_lat.csv') with open('./load_files/long_lat.csv', 'wb') as file_data: for d in data.stream(32 * 1024): file_data.write(d) print("Sussess") except ResponseError as err: print(err) def load_partial_object(self): try: data = minioClient.get_partial_object('testfiles', '123.txt', 2, 8) with open('./load_files/123_new.txt', 'wb') as file_data: for d in data: file_data.write(d) print("Sussess") except ResponseError as err: print(err) def fget_object(self): try: print(minioClient.fget_object('testfiles', '123.txt', './load_files/123_new1.txt')) except ResponseError as err: print(err) def get_copy_object(self): try: copy_result = minioClient.copy_object("pictures", "123.jpg", "/testfiles/123.jpg" ) print(copy_result) except ResponseError as err: print(err) """ 单个对象的最大大小限制在5TB。put_object在对象大于5MiB时,自动使用multiple parts方式上传。 这样,当上传失败时,客户端只需要上传未成功的部分即可(类似断点上传)。 上传的对象使用MD5SUM签名进行完整性验证。 """ def upload_object(self): try: with open('./picture_files/123.txt', 'rb') as file_data: file_stat = os.stat('./picture_files/123.txt') print(minioClient.put_object('pictures', '123.txt', file_data, file_stat.st_size)) print("Sussess") except ResponseError as err: print(err) try: with open('./picture_files/long_lat.csv', 'rb') as file_data: file_stat = os.stat('./picture_files/long_lat.csv') minioClient.put_object('pictures', 'long_lat.csv', file_data, file_stat.st_size, content_type='application/csv') print("Sussess") except ResponseError as err: print(err) def fput_object(self): try: print(minioClient.fput_object('pictures', '234.jpg', './picture_files/234.jpg')) print("Sussess") except ResponseError as err: print(err) try: print(minioClient.fput_object('pictures', 'long_lat.csv', './picture_files/long_lat.csv', content_type='application/csv')) print("Sussess") except ResponseError as err: print(err) def stat_object(self): try: print(minioClient.stat_object('pictures', '123.txt')) except ResponseError as err: print(err) def remove_object(self): try: minioClient.remove_object('pictures', '234.jpg') print("Sussess") except ResponseError as err: print(err) def remove_objects(self): try: objects_to_delete = ['123.txt', 'long_lat.csv'] for del_err in minioClient.remove_objects('testfiles', objects_to_delete): print("Deletion Error: {}".format(del_err)) print("Sussess") except ResponseError as err: print(err) def remove_incomplete_upload(self): try: minioClient.remove_incomplete_upload('testfiles', '123.jpg') print("Sussess") except ResponseError as err: print(err) if __name__ == '__main__': Object().remove_incomplete_upload()
|