oss对象存储服务

oss 简介

对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。

白话文解释就是将系统所要用的文件上传到云硬盘上,该云硬盘提供了文件下载、上传等一列服务,这样的服务以及技术可以统称为OSS,业内提供OSS服务的厂商很多,知名常用且成规模的蓝队云等。

OSS的好处

简单的HTTP API,包含所有主要操作系统和编程语言的客户端。只需支付使用的费用。对发布静态资产的内置支持允许您使用更少的服务器。一些对象存储提供内置的CDN集成,可以缓存资产以加快页面加载速度。可选的版本控制允许您检索旧版本的对象以从意外数据覆盖中恢复。可以轻松扩展对象存储服务,而无需额外的资源或体系结构更改。不需要支持硬盘驱动器和RAID阵列,因为所有这些都由存储提供商处理。使用数据对象存储元数据片段的能力将简化应用程序体系结构。

OSS非常适合存储静态资源,例如,用于存储用户定义的内容:图像和电影,存储备份文件和日志。

简单使用示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import oss2

class oss(object):
"""对象存储类,将模型传至阿里云端"""

def __init__(self, access_key_id, access_key_secret, endpoint, bucket_name):
self.auth = oss2.Auth(access_key_id, access_key_secret)
self.bucket = oss2.Bucket(self.auth, endpoint, bucket_name) # 连接OSS

def put_file(self, file_path, oss_path):
with open("{}".format(file_path), "rb") as f:
put_result = self.bucket.put_object(oss_path, f)
if put_result.status == 200:
# 若此时的status状态为200,则说明上传成功;
print("put success")

def get_file(self, file_path, oss_path):
# param1:oss上bucket中的文件名
# param2:保存在当地的文件路径+文件名
get_result = self.bucket.get_object_to_file(oss_path, file_path)
if get_result.status == 200:
print("get success")
else:
print("get failed")


oss_server = oss(
access_key_id="AccessKey"),
access_key_secret="AccessKeySecret"),
endpoint="EndPoint",
bucket_name="Bucket",
)


def download_longfor_bert(pretrain_file, oss_get_path):
"""获取OSS指定目录下的文件
"""
for obj in oss2.ObjectIterator(oss_server.bucket, prefix = oss_get_path, delimiter = '/'):
# 通过is_prefix方法判断obj是否为文件夹。
if obj.is_prefix(): # 判断obj为文件夹。
print('directory: ' + obj.key)
else: # 判断obj为文件。
print('file: ' + obj.key)
file_name = str(obj.key).split('/')[-1]
if file_name:
oss_server.get_file(pretrain_file+file_name, obj.key)

参考

https://help.aliyun.com/product/31815.html?spm=a2c4g.11174283.6.540.47ce4c07QFiKcz


oss对象存储服务
http://example.com/2021/07/14/2021-07-14-oss对象存储服务/
作者
NSX
发布于
2021年7月14日
许可协议