RDS可以和OSS搭配使用,组成多类型数据存储解决方案。
OSS是阿里云对外提供的海量、安全、低成本、高可靠的云存储服务。RDS可以和OSS搭配使用,例如当业务应用为论坛时,RDS搭配OSS使用,注册用户的图像、帖子内容的图像等资源可以存储在OSS中,以减少RDS的存储压力。
代码示例
OSS与RDS搭配使用示例。
- 初始化 OssApi。
from oss.oss_api import * endpoint="oss-cn-hangzhou.aliyuncs.com" accessKeyId, accessKeySecret="your id","your secret" oss = OssAPI(endpoint, accessKeyId, accessKeySecret)
- 新建 Bucket。
#设置bucket权限为私有 res = oss.create_bucket(bucket,"private") print "%s\n%s" % (res.status, res.read())
- 上传 Object。
res = oss.put_object_from_file(bucket, object, "test.txt") print "%s\n%s" % (res.status, res.getheaders())
- 获取对应 Object。
res = oss.get_object_to_file(bucket, object, "/filepath/test.txt") print "%s\n%s" % (res.status, res.getheaders())
ECS 应用代码中,RDS 中存储了每个用户的 id,而用户对应的头像资源存储于 OSS 中,以简单的 python 代码为例:
#!/usr/bin/env python
from oss.oss_api import *
endpoint="oss-cn-hangzhou.aliyuncs.com"
accessKeyId, accessKeySecret="your id","your secret"
oss = OssAPI(endpoint, accessKeyId, accessKeySecret)
user_id = mysql_client.fetch_one(sql)#从RDS中查找用户的user_id
#获取用户头像并下载到对应路径
oss.get_object_to_file(bucket, object, your_path/user_id+'.png')
#处理用户上传头像
oss.put_object_from_file(bucket, object, your_path/user_id+'.png')