首页 > 编程语言 >python连接操作oss对象存储

python连接操作oss对象存储

时间:2024-11-26 09:34:08浏览次数:8  
标签:存储 file python oss except access key print name

用python调试一下oss对象存储。

一开始用的oss2库,发现不行。用boto3库才可以,说明我的对象存储是和AWS兼容的,并不是基于阿里的oss.

import boto3
from botocore.exceptions import NoCredentialsError, PartialCredentialsError

# 设置您的Access Key和Secret Key
access_key_id = 'SIEKD893517E47BCBA5F4F9BF38AB208372'
access_key_secret = 'XXXXXX538s78YYUSJJEISHFYESJDUEHSJ'
endpoint = 'https://example.com'
bucket_name = 'test'
object_key = '00115c8b746f4cd99325efd35881c1e0.png'  # 替换为你想下载的对象名称
file_path = r"C:\Users\31317\Pictures\Saved Pictures\00115c8b746f4cd99325efd35881c1e0.png"
local_file_path =  r"D:\stu\iso\00115c8b746f4cd99325efd35881c1e0.png"

# 创建S3客户端
s3 = boto3.client('s3',
                  aws_access_key_id=access_key_id,
                  aws_secret_access_key=access_key_secret,
                  endpoint_url=endpoint)

 列出桶中的文件

try:
    # 列出桶中的对象
    response = s3.list_objects_v2(Bucket=bucket_name)
    for obj in response.get('Contents', []):
        print('Object name:', obj['Key'])

except NoCredentialsError:
    print('Credentials not available.')
except PartialCredentialsError:
    print('Incomplete credentials provided.')
except Exception as e:
    print(f'Error occurred: {e}')

 上传图片到桶里

try:
    # 上传文件到桶
    s3.upload_file(Filename=file_path, Bucket=bucket_name, Key=object_key)
    print(f"成功上传图片 {file_path} 到 {bucket_name} 作为 {object_key}")

except NoCredentialsError:
    print('Credentials not available.')
except PartialCredentialsError:
    print('Incomplete credentials provided.')
except Exception as e:
    print(f'Error occurred: {e}')

 下载桶中的图片

try:
    # 下载对象到本地文件
    s3.download_file(Bucket=bucket_name, Key=object_key, Filename=local_file_path)
    print(f"成功下载文件: {object_key} 到 {local_file_path}")

except NoCredentialsError:
    print('Credentials not available.')
except PartialCredentialsError:
    print('Incomplete credentials provided.')
except Exception as e:
    print(f'Error occurred: {e}')

  

标签:存储,file,python,oss,except,access,key,print,name
From: https://www.cnblogs.com/ggborn-001/p/18569354

相关文章

  • 理解 Python 作用域和命名空间
    在学习Python编程时,掌握作用域(Scope)和命名空间(Namespace)这两个关键概念是非常重要的。这不仅能帮助你更好地理解变量的生命周期与可见性,还能提高你编写高质量代码的能力。本文将深入探讨这两者的含义、区别以及如何在实际编码中应用。什么是命名空间?命名空间是一个存储变量......
  • (免费源码)计算机毕业设计必学必看 万套实战程序手把手教学 java、python、php、node.js
    摘 要科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设绿......
  • Python知识分享第十天
    “”"案例:假设你是一名教师,负责管理学生的成绩。你有一个名为grades.txt的文件,记录了所有学生的成绩。文件内容如下:Alice,85Bob,78Charlie,92David,88Eve,76你需要编写一个Python脚本,读取文件内容并计算出所有学生的平均成绩。“”"#思路一#stu_list=[]#......
  • python复习笔记——2024.11.25
    2024.11.25一、类的定义二、类与实例的关系#定义一个猫类,age,name,color是属性,或者称为成员变量classCat: age=Nonename=Nonecolor=Nonecat1=Cat()#通过对象名.属性名,可以给各个属性赋值cat1.name="小白"cat2,age=2cat3.color="白色"print(f......
  • 朴素贝叶斯分类器算法Python代码实现
    1.朴素贝叶斯分类器简介朴素贝叶斯分类器是机器学习中的一种概率分类方法。它的核心思想是根据贝叶斯定理计算后验概率P(Y∣......
  • python爬虫学习之--抓取汽车之家数据
    汽车之家的数据爬取还是比较简单的,遇到的坑如下:页面的页面编码格式:汽车之家的页面编码格式有三种,分别是**“GB2312”,“ISO-8859-1"和"UTF-8-SIG”,每次使用requests模块获取页面的html时,会随机出现其中的一种,其中页面编码格式为"GB2312",“ISO-8859-1”,可以正常显......
  • Python酷库之旅-第三方库Pandas(237)
    目录一、用法精讲1116、pandas.tseries.offsets.BusinessHour.is_year_end方法1116-1、语法1116-2、参数1116-3、功能1116-4、返回值1116-5、说明1116-6、用法1116-6-1、数据准备1116-6-2、代码示例1116-6-3、结果输出1117、pandas.tseries.offsets.CustomBusiness......
  • python基于django框架的医院分诊系统tp77r
    文章目录项目介绍具体实现截图开发技术系统性能核心代码部分展示源码/演示视频获取方式项目介绍本系统是基于MVC开发模式,通过多模块的设计,从而使同一个程序可以使用不同的表现形式。使用vue框架则让页面操作更灵活便捷。方便患者和医生查询、修改、添加、删除信息,实......
  • python基于django框架的健身房教练课程预约管理系统o3w2y
    文章目录项目介绍具体实现截图开发技术系统性能核心代码部分展示源码/演示视频获取方式项目介绍设计开发了具有管理员;个人中心、用户管理、健身教练管理、健身课程管理、健身知识管理、健身商品管理、预约教练管理、课程购买管理、健身交流、系统管理、订单管理,用户......
  • python基于django框架的环保公益众筹网站
    文章目录项目介绍具体实现截图开发技术系统性能核心代码部分展示源码/演示视频获取方式项目介绍前端(用户)浏览最新资讯和科普、发起环境保护活动、发起环境保护的众筹项目、建立和申请加入环保社团、参加环保活动、参与环保众筹、发布众筹项目、用环保币兑换物品、......