阿里云oss上传python
时间: 2025-01-08 17:51:53 浏览: 5
### 使用Python实现阿里云OSS对象存储服务的文件上传
为了通过Python实现向阿里云OSS上传文件的功能,需先完成必要的准备工作并编写相应的代码逻辑。
#### 安装依赖库
确保已安装`oss2`这个用于操作阿里云OSS的服务端SDK。可以通过pip工具快速安装此包[^1]:
```bash
pip install oss2
```
#### 获取认证信息
前往阿里云官网控制台获取用户的AccessKeyId和AccessKeySecret,这是用来验证身份的信息,在后续初始化客户端时需要用到[^2]。
#### 初始化OSS客户端实例
下面是一段示例代码展示如何创建一个能够连接至特定bucket的对象实例,并执行文件上传的操作[^4]:
```python
import os
import oss2
# 设置参数
auth = oss2.Auth('your-access-key-id', 'your-access-key-secret')
bucket_name = "example-bucket"
endpoint = "http://oss-cn-hangzhou.aliyuncs.com"
# 创建Bucket对象
bucket = oss2.Bucket(auth, endpoint, bucket_name)
def upload_file_to_oss(local_path, remote_filename):
"""
将本地路径下的文件上传到指定名称的目标位置
参数:
local_path (str): 文件所在绝对路径.
remote_filename (str): OSS中保存的名字.
返回值:
None
"""
try:
with open(local_path, 'rb') as fileobj:
result = bucket.put_object(remote_filename, fileobj)
print(f'HTTP响应码:{result.status}')
except Exception as e:
print(e)
if __name__ == '__main__':
# 测试函数调用
test_local_file = '/path/to/your/local/file.txt'
target_remote_key = 'uploaded-file-name-on-OSS.txt'
upload_file_to_oss(test_local_file, target_remote_key)
```
这段脚本定义了一个名为`upload_file_to_oss()`的方法,它接收两个字符串类型的输入——一个是待上传文件所在的本地磁盘上的全限定名;另一个是要存放在远程服务器中的目标键(即文件名)。当成功上传后会打印出HTTP状态码作为反馈信息。
阅读全文