详情页标题前

阿里云RDS数据库RDS搭配OSS实现多结构数据存储-云淘科技

详情页1

RDS可以和OSS搭配使用,组成多类型数据存储解决方案。

OSS是阿里云对外提供的海量、安全、低成本、高可靠的云存储服务。RDS可以和OSS搭配使用,例如当业务应用为论坛时,RDS搭配OSS使用,注册用户的图像、帖子内容的图像等资源可以存储在OSS中,以减少RDS的存储压力。

代码示例

OSS与RDS搭配使用示例,基于Python 3.6编写。

OSS Python SDK安装指导,请参见Python安装。

  1. 初始化oss2.Bucket类。

     # !/usr/bin/env python
    import oss2
    
    # 阿里云账号AccessKey拥有所有API的访问权限,风险很高。建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
    auth = oss2.Auth('yourAccessKeyId', 'yourAccessKeySecret')
    
    # yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
    endpoint = 'yourEndpoint'
    
    # 填写Bucket名称。
    bucket = oss2.Bucket(auth, endpoint, 'examplebucket')                    
    
  2. 上传Object。

    # 填写Object完整路径和本地文件的完整路径。Object完整路径中不能包含Bucket名称。
    # 如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件。
    # 上传info_old.txt文件对象
    res1 = bucket.put_object_from_file("info_key.txt", "info_old.txt")
    print("res1-{0}".format(res1.status))
        
    # 上传picture_old.png图片对象
    res2 = bucket.put_object_from_file("picture_key.png", "picture_old.png")
    print("res3-{0}".format(res2.status))
  3. 获取对应Object。

    # 填写Object完整路径,完整路径中不包含Bucket名称,例如info_key.txt。
    # 下载Object到本地文件,并保存到指定的本地路径D:\info_new.txt。如果指定的本地文件存在,则会覆盖该文件,不存在则新建文件。
    res3 = bucket.get_object_to_file("info_key.txt", "D:\info_new.txt")
    print("res2-{0}".format(res3.status))
    
    res4 = bucket.get_object_to_file("picture_key.png", "D:\picture_new.png")
    print("res4-{0}".format(res4.status))

ECS应用代码中,RDS中存储了每个用户的id,而用户对应的头像资源存储于OSS中,以简单的Python代码为例:

# !/usr/bin/env python
import oss2
import mysql_client

def conn_client():
    auth = oss2.Auth('LTAI5tLNak1sYu8g9UT*****', 'Lyn9YLbmfQYQBgdNJAupawSHT*****')
    endpoint = "oss-cn-hangzhou.aliyuncs.com"
    bucket = oss2.Bucket(auth, endpoint, 'oss-wwjtest')

    user_id = mysql_client.fetch_one(sql)  # 从RDS中查找用户的user_id
    # 获取用户头像并下载到对应路径
    bucket.get_object_to_file(object, your_path/user_id + '.png')
    # 处理用户上传头像
    bucket.put_object_from_file(object, your_path/user_id + '.png')

if __name__ == '__main__':
    conn_client()
           

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/167105.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云大数据开发治理平台 DataWorksHive数据源-云淘科技

    Hive数据源为您提供读取和写入Hive双向通道的功能,本文为您介绍DataWorks的Hive数据同步的能力支持情况。 背景信息 Hive是基于Hadoop的数据仓库工具,用于解决海量结构化日志的数据统计。Hive可以将结构化的数据文件映射为一张表,并提供SQL查询功能。Hive的本质是一个SQL解析引擎,其底层通过MapReduce实现数据分析,使用HD…

  • 阿里云对象存储OSS使用EC错误码自助排查-云淘科技

    当访问OSS出现错误时,OSS返回的错误信息中包含EC,EC与错误原因一一对应。本文介绍如何通过EC查找问题原因并自助解决问题。 背景信息 每一个错误原因对应唯一的EC。 例如,您发起了AppendObject请求,但是请求URL中的position参数不是合法的正整数。 错误请求 POST /example?append&position=test…

    阿里云对象存储 2023年12月10日
  • 阿里云对象存储OSSZIP包解压-云淘科技

    对象存储OSS提供ZIP文件自动解压功能。配置解压规则后,您上传到OSS指定路径的ZIP文件都会被自动解压。 前提条件 已开通函数计算服务。您可以在函数计算的产品详情页面开通函数计算服务。 仅华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华北 3(张家口)、华北5(呼和浩特)、华南1(深圳)、西南1(成都)、中国香港、新加坡、澳大利亚(悉尼…

    阿里云对象存储 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • dataworks支持调用oracle的存储过程吗?-云小二-阿里云

    dataworks支持调用oracle的存储过程吗? 以下为热心网友提供的参考意见 不支持哈 仅支持同步oracle的数据 ,此回答整理自钉群“DataWorks交流群(答疑@机器人)” 以下为热心网友提供的参考意见 DataWorks确实支持调用Oracle的存储过程。您可以在DataWorks中,使用MaxCompute数据开发工具来编辑和执行存储过程,…

    阿里云 2023年12月17日
  • 阿里云对象存储OSS使用Python SDK的SelectObject查询CSV和JSON文件-云淘科技

    本文介绍如何使用Python SDK的SelectObject查询CSV和JSON文件。 说明 本文示例由阿里云用户fralychen提供,仅供参考。 上传CSV或JSON格式文件 您可以根据业务需求,在OSS管理控制台将CSV或JSON格式文件上传到OSS bucket中。如何将文件上传至OSS bucket,请参见上传文件。 调用测试 通过put_obj…

    2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。