日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

RDS搭配OSS實現多結構數據存儲

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()