Python中使用阿里云OSS存储实现文件上传和下载功能

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: Python中使用阿里云OSS存储实现文件上传和下载功能

要在Python中使用阿里云OSS存储实现文件上传下载功能,首先你需要安装阿里云Python SDK。

可以使用以下命令来安装阿里云Python SDK:

pip install aliyun-python-sdk-core
pip install aliyun-python-sdk-oss

接下来,你需要在阿里云控制台上创建一个OSS存储空间(Bucket),并获取访问密钥ID(Access Key ID)和访问密钥密钥(Access Key Secret)。

然后,你可以使用以下代码来实现文件上传功能:

import oss2

# 配置阿里云OSS
access_key_id = '<your-access-key-id>'
access_key_secret = '<your-access-key-secret>'
endpoint = 'http://oss-cn-<your-region>.aliyuncs.com'
bucket_name = '<your-bucket-name>'

# 初始化OSS存储
auth = oss2.Auth(access_key_id, access_key_secret)
bucket = oss2.Bucket(auth, endpoint, bucket_name)

# 上传文件
def upload_file(file_path, object_name):
    with open(file_path, 'rb') as file:
        bucket.put_object(object_name, file)

# 调用示例
upload_file('<your-file-path>', '<your-object-name>')

而对于文件下载功能,你可以使用以下代码实现:

import oss2

# 配置阿里云OSS
access_key_id = '<your-access-key-id>'
access_key_secret = '<your-access-key-secret>'
endpoint = 'http://oss-cn-<your-region>.aliyuncs.com'
bucket_name = '<your-bucket-name>'

# 初始化OSS存储
auth = oss2.Auth(access_key_id, access_key_secret)
bucket = oss2.Bucket(auth, endpoint, bucket_name)

# 下载文件
def download_file(object_name, file_path):
    bucket.get_object_to_file(object_name, file_path)

# 调用示例
download_file('<your-object-name>', '<your-file-path>')

以上代码中,<your-access-key-id>是你的访问密钥ID,<your-access-key-secret>是你的访问密钥密钥,<your-region>是你的存储空间所在的地域代码,<your-bucket-name>是你的存储空间名称,<your-file-path>是你要上传或下载的文件路径,<your-object-name>是你要上传或下载的文件在存储空间中的名称。

希望这可以帮助到你。

相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
相关文章
|
6月前
|
存储 人工智能 Cloud Native
阿里云渠道商:OSS与传统存储系统的差异在哪里?
本文对比传统存储与云原生对象存储OSS的架构差异,涵盖性能、成本、扩展性等方面。OSS凭借高持久性、弹性扩容及与云服务深度集成,成为大数据与AI时代的优选方案。
|
8月前
|
存储 运维 安全
阿里云国际站OSS与自建存储的区别
阿里云国际站对象存储OSS提供海量、安全、低成本的云存储解决方案。相比自建存储,OSS具备易用性强、稳定性高、安全性好、成本更低等优势,支持无限扩展、自动冗余、多层防护及丰富增值服务,助力企业高效管理数据。
|
11月前
|
存储 人工智能 Kubernetes
AI 场景深度优化!K8s 集群 OSSFS 2.0 存储卷全面升级,高效访问 OSS 数据
阿里云对象存储OSS是一款海量、安全、低成本、高可靠的云存储服务,是用户在云上存储的高性价比选择…
|
7月前
|
设计模式 缓存 监控
Python装饰器:优雅增强函数功能
Python装饰器:优雅增强函数功能
352 101
|
7月前
|
缓存 测试技术 Python
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
285 99
|
7月前
|
存储 缓存 测试技术
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
439 98
|
7月前
|
缓存 Python
Python中的装饰器:优雅地增强函数功能
Python中的装饰器:优雅地增强函数功能
|
12月前
|
存储 Kubernetes 对象存储
StrmVol存储卷:如何解锁K8s对象存储海量小文件访问性能新高度?
如何提升海量文件的数据读取速率,对于AI训练集管理、量化回测、时序日志分析等场景尤为重要。阿里云容器服务(ACK))支持StrmVol类型存储卷,基于底层虚拟块设备及内核态文件系统,显著降低海量小文件访问延迟。
|
12月前
|
存储 Kubernetes 对象存储
StrmVol 存储卷:解锁 K8s 对象存储海量小文件访问性能新高度
本文介绍了阿里云容器服务(ACK)支持的StrmVol存储卷方案,旨在解决Kubernetes环境中海量小文件访问性能瓶颈问题。通过虚拟块设备与内核态文件系统(如EROFS)结合,StrmVol显著降低了小文件访问延迟,适用于AI训练集加载、时序日志分析等场景。其核心优化包括内存预取加速、减少I/O等待、内核态直接读取避免用户态切换开销,以及轻量索引快速初始化。示例中展示了基于Argo Workflows的工作流任务,模拟分布式图像数据集加载,测试结果显示平均处理时间为21秒。StrmVol适合只读场景且OSS端数据无需频繁更新的情况,详细使用方法可参考官方文档。
1748 145

热门文章

最新文章

相关产品

  • 对象存储
  • 推荐镜像

    更多
    下一篇
    开通oss服务