本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
與傳統文件系統中的層級結構不同,OSS內部使用扁平結構存儲數據。即所有數據均以對象(Object)的形式保存在存儲空間(Bucket)中。為方便管理,OSS控制臺將所有以正斜線(/)結尾的對象顯示為目錄,實現類似于目錄的基本功能。您可以通過目錄的層次來組織文件,實現分組并簡化權限管理。
注意事項
本文以華東1(杭州)外網Endpoint為例。如果您希望通過與OSS同地域的其他阿里云產品訪問OSS,請使用內網Endpoint。關于OSS支持的Region與Endpoint的對應關系,請參見OSS地域和訪問域名。
本文以從環境變量讀取訪問憑證為例。如何配置訪問憑證,請參見配置訪問憑證。
本文以OSS域名新建OSSClient為例。如果您希望通過自定義域名、STS等方式新建OSSClient,請參見初始化。
創建目錄
以下代碼用于創建目錄。
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# 填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# 填寫Endpoint對應的Region信息,例如cn-hangzhou。注意,v4簽名下,必須填寫該參數
region = "cn-hangzhou"
# examplebucket填寫存儲空間名稱。
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)
# 填寫目錄名稱,目錄需以正斜線結尾。
bucket.put_object('exampledir/', '')
刪除目錄
警告
刪除目錄會同步刪除目錄下包含的子目錄以及所有文件,請謹慎操作。
以下代碼用于刪除examplebucket中log目錄及目錄下的所有文件。
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# 從環境變量中獲取訪問憑證。運行本代碼示例之前,請確保已設置環境變量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
# 填寫Bucket所在地域對應的Endpoint。以華東1(杭州)為例,Endpoint填寫為https://oss-cn-hangzhou.aliyuncs.com。
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# 填寫Endpoint對應的Region信息,例如cn-hangzhou。注意,v4簽名下,必須填寫該參數
region = "cn-hangzhou"
# examplebucket填寫存儲空間名稱。
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)
prefix = "exampledir/"
# 刪除目錄及目錄下的所有文件。
for obj in oss2.ObjectIterator(bucket, prefix=prefix):
bucket.delete_object(obj.key)
相關文檔
創建目錄
關于創建目錄的API接口說明,請參見PutObject。
刪除目錄
關于刪除目錄及目錄下所有文件的完整示例代碼,請參見GitHub示例。
關于刪除目錄及目錄下所有文件的API接口說明,請參見DeleteObject。
文檔內容是否對您有幫助?