このトピックでは、ApsaraDB RDSをObject Storage Service (OSS) とともに使用して、さまざまな構造にデータを格納する方法について説明します。
OSSは、大量のデータを保存するためにAlibaba cloudが提供する、安全で費用対効果の高い信頼性の高いクラウドストレージサービスです。 たとえば、アプリケーションがフォーラムソフトウェアの場合、ユーザープロフィール写真やフォーラム投稿などのリソースをOSSバケットに保存できます。 これにより、RDSインスタンスに保存する必要があるデータの量を減らすことができます。
サンプルコード
このセクションでは、ApsaraDB RDSをOSSと一緒に使用する方法の例を示します。 このセクションのコードはPython 2.7で記述されています。
- OSS APIを初期化します。
from oss.oss_api import * endpoint="oss-cn-hangzhou.aliyuncs.com" accessKeyId, accessKeySecret="your id","your secret" oss = OssAPI(endpoint, accessKeyId, accessKeySecret)
- OSS バケットを作成します。
# バケットのアクセス制御リスト (ACL) をprivateに設定します。 res = oss.create_bucket(bucket,"private") print "%s\n%s" % (res.status, res.read())
- オブジェクトをOSSバケットにアップロードします。
res = oss.put_object_from_file(bucket, object, "test.txt") print "%s\n%s" % (res.status, res.getheaders())
- オブジェクトを取得します。
res = oss.get_object_to_file(bucket, object, "/filepath/test.txt") print "%s\n%s" % (res.status, res.getheaders())
Elastic Compute Service (ECS) アプリケーションコードは、ユーザーIDがRDSインスタンスに保存され、ユーザープロファイル写真がOSSバケットに保存されることを指定します。 次の例は、Pythonコードスニペットを示しています。
#!/usr/bin/env python
oss.oss_api import * から
endpoint="oss-cn-hangzhou.aliyuncs.com"
accessKeyId, accessKeySecret="your id","your secret"
oss = OssAPI (エンドポイント、accessKeyId、accessKeySecret)
user_id = mysql_client.fetch_one(sql)# RDSインスタンス内のユーザーのIDを検索します。
# 指定されたパスにユーザーのプロフィール写真を取得してダウンロードします。
oss.get_object_to_file (バケット、オブジェクト、your_path/user_id +'.png ')
# アップロードされたユーザーのプロフィール写真を処理します。
oss.put_object_from_file (バケット、オブジェクト、your_path/user_id +'.png ')