#!/usr/bin/env python3
# -*- coding: utf-8 -*- # @mail : lshan523@163.com # @Time : 2024/12/13 14:16 # @Author : Sea # @File : uploadOss.py# @Purpose : # @history : pip install oss2 # **************************** # -*- coding: utf-8 -*- import logging import os from itertools import islice import oss2 # 配置日志 logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') accessKeyId = 'LTAIXXXXXXXXTVVvVpc' accessKeySecret = 'FXXXXXXXXXXXxXXXXXXXCQls' auth = oss2.Auth(accessKeyId, accessKeySecret) # 设置Endpoint和Region endpoint = "https://oss-cn-chengdu.aliyuncs.com" region = "cn-chengdu" bucket_name = "mybucketname"
bucket = oss2.Bucket(auth, endpoint, bucket_name, region=region) def create_bucket(bucket): try: bucket.create_bucket(oss2.models.BUCKET_ACL_PRIVATE) logging.info("Bucket created successfully") except oss2.exceptions.OssError as e: logging.error(f"Failed to create bucket: {e}") def upload_file(bucket, object_name, filePath): try: # result = bucket.put_object(object_name, data) result = bucket.put_object_from_file(object_name, filePath) logging.info(f"File uploaded successfully, status code: {result.status}") except oss2.exceptions.OssError as e: logging.error(f"Failed to upload file: {e}") def upload_file_io(bucket, object_name, data): try: result = bucket.put_object(object_name, data) # result = bucket.put_object_from_file(object_name, filePath) logging.info(f"File uploaded successfully, status code: {result.status}") except oss2.exceptions.OssError as e: logging.error(f"Failed to upload file: {e}") def download_file(bucket, object_name): try: file_obj = bucket.get_object(object_name) content = file_obj.read().decode('utf-8') logging.info("File content:") logging.info(content) return content except oss2.exceptions.OssError as e: logging.error(f"Failed to download file: {e}") def list_objects(bucket): try: objects = list(islice(oss2.ObjectIterator(bucket), 10)) for obj in objects: logging.info(obj.key) except oss2.exceptions.OssError as e: logging.error(f"Failed to list objects: {e}") def delete_objects(bucket): try: objects = list(islice(oss2.ObjectIterator(bucket), 100)) if objects: for obj in objects: bucket.delete_object(obj.key) logging.info(f"Deleted object: {obj.key}") else: logging.info("No objects to delete") except oss2.exceptions.OssError as e: logging.error(f"Failed to delete objects: {e}") def delete_bucket(bucket): try: bucket.delete_bucket() logging.info("Bucket deleted successfully") except oss2.exceptions.OssError as e: logging.error(f"Failed to delete bucket: {e}") def upload_folder(folder_path,oss_path): # folder_path = 'C:/Users/top/Downloads/grid5' # 列出文件夹下的所有文件和子文件夹 for filename in os.listdir(folder_path): if os.path.isfile(os.path.join(folder_path, filename)): print(filename) file = upload_file(bucket, oss_path+"/" + filename, folder_path + "/" + filename) print("upload file " + filename + " ok " + str(file)) # 主流程 if __name__ == '__main__': pass # # 1. 创建Bucket # create_bucket(bucket) # # 2. 上传文件 # upload_file(bucket, 'test-string-file', b'Hello OSS, this is a test string.') # # 3. 下载文件 # download_file(bucket, 'test-string-file') # # 4. 列出Bucket中的对象 # list_objects(bucket) # # 5. 删除Bucket中的对象 # delete_objects(bucket) # # 6. 删除Bucket # delete_bucket(bucket) # upload_folder("C:/Users/top/Downloads/grid5","appimg")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2019-12-13 docker mongo版本4.4.1 副本集配置-带认证)(1)
2018-12-13 构建最小JDK Docker镜像 或者直接使用镜像:frolvlad/alpine-oraclejre8:slim