OSS ON雲盒為雲盒(CloudBox)產品提供了非結構化資料本機存放區、本地訪問、以及本地處理的能力。您可以在OSS ON雲盒中建立儲存空間(Bucket),並使用與公用雲一致的API、SDK訪問雲盒中的OSS。
功能優勢
雲盒是阿里雲提供的全託管雲端服務。公用雲的硬體設施以軟硬一體化方式部署到您本地機房,滿足您業務上的資料安全、資料本地處理、低延時等需求。您可以在本地擁有與公用雲一致的使用體驗。雲盒開箱即用,有助於您更好地專註商務邏輯,減少為硬體和雲平台投入的營運精力。關於雲盒的更多資訊,請參見什麼是雲盒。
與公用雲相比,通過雲盒您可以獲得本地部署帶來的資料安全、資料本地處理、低延時等優勢。
-
資料安全:資料存放區在您自主可控的資料中心內,滿足資料駐留在本地的監管要求。
-
資料本地處理:無需傳輸到雲端,減少大量資料轉送到雲端所耗費的費用。
-
低延時:雲盒離您本地的裝置距離近,可以與本地裝置、應用程式進行近即時的業務互動。
-
資源獨佔:無需與公用雲其他客戶共用儲存,即便是敏感性資料,也能安心存放。
費用說明
關於OSS ON雲盒的計費方式、擴容規則、計費案例等資訊,請參見Object Storage Service計費。
使用限制
-
每個阿里雲賬戶最多隻能在OSS ON雲盒中建立100個有地區屬性的Bucket。
-
OSS ON雲盒中所有的Bucket以及Bucket中的Object僅支援選擇標準(Standard)儲存類型。
-
OSS ON雲盒服務的端加密方式僅支援SSE-OSS,不支援SSE-KMS。
-
OSS ON雲盒服務當前僅提供內網訪問網域名稱,不支援公網訪問Endpoint。當您需要將雲盒中的OSS資源與公用雲的OSS資源進行資料轉送時,需在打通網路後通過ossimport的方式進行資料轉送。
雲盒Endpoint
您可以通過雲盒VPC訪問雲盒Bucket。訪問網域名稱分為管控網域名稱和資料網域名稱兩種。
-
管控網域名稱
管控網域名稱僅用於雲盒Bucket層級的操作。關於管控網域名稱支援的API列表,請參見管控網域名稱支援的API列表。
格式為
<Cloudbox-Id>.<Region>.oss-cloudbox-control.aliyuncs.com,樣本值為cb-f8z7yvzgwfkl9q0h****.cn-shenzhen.oss-cloudbox-control.aliyuncs.com。 -
資料網域名稱
資料網域名稱可用於雲盒Bucket以及雲盒Bucket內資料的操作。關於資料網域名稱支援的API列表,請參見資料網域名稱支援的API列表。
資料網域名稱格式為
<Cloudbox-Id>.<Region>.oss-cloudbox.aliyuncs.com,樣本值為cb-f8z7yvzgwfkl9q0h****.cn-shenzhen.oss-cloudbox.aliyuncs.com。
當您在雲盒內建立VPC並需要在VPC環境內使用OSS時,請聯絡支援人員開通網域名稱。
SDK支援
OSS ON雲盒支援通過Java、Python、Go SDK訪問。雲盒情境下,SDK的操作調用方式與公用雲OSS一致,差異僅在於建立用戶端時需使用V4簽名、指定雲盒所在地區(region)與雲盒ID(cloud box id),並將Endpoint設定為雲盒資料網域名稱。各SDK支援雲盒的最低版本如下:
|
SDK |
支援雲盒的最低版本 |
建立用戶端的關鍵配置 |
|
Java SDK |
3.15.0及以上版本 |
SignVersion.V4、region、cloudBoxId |
|
Python SDK V2(alibabacloud-oss-python-sdk-v2) |
1.1.1及以上版本 |
region、cloud_box_id(或 enable_auto_detect_cloud_box_id);預設使用V4簽名 |
|
Go SDK V2(alibabacloud-oss-go-sdk-v2) |
v1.2.1及以上版本 |
WithRegion、WithCloudBoxId(或 WithEnableAutoDetectCloudBoxId);預設使用V4簽名 |
舊版Go SDK(aliyun-oss-go-sdk)自v2.2.3起也支援雲盒,建立用戶端時需顯式設定oss.AuthVersion(oss.AuthV4)並配合oss.CloudBoxId使用。推薦新專案使用新一代Go SDK V2(alibabacloud-oss-go-sdk-v2)。
以下樣本展示如何建立訪問雲盒的用戶端,其中Endpoint為雲盒資料網域名稱(格式為<Cloudbox-Id>.<Region>.oss-cloudbox.aliyuncs.com):
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.ClientBuilderConfiguration;
import com.aliyun.oss.common.auth.CredentialsProviderFactory;
import com.aliyun.oss.common.auth.DefaultCredentialProvider;
import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider;
import com.aliyun.oss.common.comm.SignVersion;
// 雲盒資料網域名稱,格式為 Cloudbox-Id.Region.oss-cloudbox.aliyuncs.com。
String endpoint = "https://cb-f8z7yvzgwfkl9q0h****.cn-hangzhou.oss-cloudbox.aliyuncs.com";
// 雲盒所在地區。
String region = "cn-hangzhou";
// 雲盒ID。
String cloudBoxId = "cb-f8z7yvzgwfkl9q0h****";
// 從環境變數中擷取訪問憑證,請確保已設定環境變數 OSS_ACCESS_KEY_ID 和 OSS_ACCESS_KEY_SECRET。
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
ClientBuilderConfiguration conf = new ClientBuilderConfiguration();
// 雲盒必須使用 V4 簽名。
conf.setSignatureVersion(SignVersion.V4);
OSS ossClient = OSSClientBuilder.create()
.endpoint(endpoint)
.credentialsProvider(new DefaultCredentialProvider(credentialsProvider.getCredentials()))
.clientConfiguration(conf)
.region(region)
.cloudBoxId(cloudBoxId)
.build();
// 建立用戶端後,Bucket 與 Object 的操作調用方式與公用雲端 OSS 一致。
import alibabacloud_oss_v2 as oss
# 載入預設配置,預設使用 V4 簽名。
cfg = oss.config.load_default()
# 從環境變數中擷取訪問憑證,請確保已設定環境變數 OSS_ACCESS_KEY_ID 和 OSS_ACCESS_KEY_SECRET。
cfg.credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# 雲盒所在地區。
cfg.region = "cn-hangzhou"
# 雲盒ID,等價於 Java SDK 的 .cloudBoxId(),會將簽名 product 設定為 oss-cloudbox。
cfg.cloud_box_id = "cb-f8z7yvzgwfkl9q0h****"
# 雲盒資料網域名稱,格式為 Cloudbox-Id.Region.oss-cloudbox.aliyuncs.com。
cfg.endpoint = "cb-f8z7yvzgwfkl9q0h****.cn-hangzhou.oss-cloudbox.aliyuncs.com"
client = oss.Client(cfg)
# 建立用戶端後,Bucket 與 Object 的操作調用方式與公用雲端 OSS 一致。
package main
import (
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
)
func main() {
cfg := oss.LoadDefaultConfig().
// 從環境變數中擷取訪問憑證,請確保已設定環境變數 OSS_ACCESS_KEY_ID 和 OSS_ACCESS_KEY_SECRET。
WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
// 雲盒所在地區。
WithRegion("cn-hangzhou").
// 預設已是 V4 簽名,此處顯式設定。
WithSignatureVersion(oss.SignatureVersionV4).
// 雲盒資料網域名稱,格式為 Cloudbox-Id.Region.oss-cloudbox.aliyuncs.com。
WithEndpoint("cb-f8z7yvzgwfkl9q0h****.cn-hangzhou.oss-cloudbox.aliyuncs.com").
// 雲盒ID,等價於 Java SDK 的 .cloudBoxId(),會將簽名 product 設定為 oss-cloudbox。
WithCloudBoxId("cb-f8z7yvzgwfkl9q0h****")
client := oss.NewClient(cfg)
_ = client
// 建立用戶端後,Bucket 與 Object 的操作調用方式與公用雲端 OSS 一致。
}
管控網域名稱支援的API列表
OSS ON雲盒管控網域名稱支援的Bucket層級API列表如下:
|
分類 |
API |
描述 |
|
基礎操作 |
建立雲盒Bucket。 |
|
|
刪除雲盒Bucket。 |
||
|
擷取雲盒Bucket資訊。 |
||
|
擷取雲盒Bucket所屬的位置資訊。 |
||
|
許可權控制(ACL) |
設定雲盒Bucket存取權限。 |
|
|
擷取雲盒Bucket存取權限。 |
||
|
生命週期(Lifecycle) |
設定雲盒Bucket的生命週期規則。 |
|
|
擷取雲盒Bucket的生命週期規則。 |
||
|
刪除雲盒Bucket的生命週期規則。 |
||
|
版本控制(Versioning) |
設定雲盒Bucket的版本控制狀態。 |
|
|
擷取雲盒Bucket的版本控制狀態。 |
||
|
授權策略(Policy) |
設定雲盒Bucket的授權策略。 |
|
|
擷取雲盒Bucket的授權策略。 |
||
|
刪除雲盒Bucket的授權策略。 |
||
|
日誌管理(Logging) |
開啟雲盒Bucket日誌轉存功能。 |
|
|
擷取雲盒Bucket日誌轉存配置情況。 |
||
|
關閉雲盒Bucket日誌轉存功能。 |
||
|
靜態網站(Website) |
設定雲盒Bucket為靜態網站託管模式。 |
|
|
擷取雲盒Bucket的靜態網站託管配置。 |
||
|
關閉雲盒Bucket的靜態網站託管模式。 |
||
|
防盜鏈(Referer) |
設定雲盒Bucket的防盜鏈規則。 |
|
|
擷取雲盒Bucket的防盜鏈規則。 |
||
|
加密(Encryption) |
設定雲盒Bucket的加密規則。 |
|
|
擷取雲盒Bucket的加密規則。 |
||
|
刪除雲盒Bucket的加密規則。 |
資料網域名稱支援的API列表
OSS ON雲盒資料網域名稱支援的API列表如下:
關於Service操作
|
API |
描述 |
|
返回要求者擁有的所有雲盒Bucket。 |
關於Bucket操作
|
分類 |
API |
描述 |
|
基礎操作 |
建立雲盒Bucket。 |
|
|
刪除雲盒Bucket。 |
||
|
列出雲盒Bucket中所有Object的資訊。 |
||
|
列出雲盒Bucket中所有Object的資訊。 |
||
|
擷取雲盒Bucket資訊。 |
||
|
擷取雲盒Bucket所屬的位置資訊。 |
||
|
許可權控制(ACL) |
設定雲盒Bucket存取權限。 |
|
|
擷取雲盒Bucket存取權限。 |
||
|
生命週期(Lifecycle) |
設定雲盒Bucket的生命週期規則。 |
|
|
擷取雲盒Bucket的生命週期規則。 |
||
|
刪除雲盒Bucket的生命週期規則。 |
||
|
版本控制(Versioning) |
設定雲盒Bucket的版本控制狀態。 |
|
|
擷取雲盒Bucket的版本控制狀態。 |
||
|
列舉雲盒Bucket中所有Object的版本資訊。 |
||
|
授權策略(Policy) |
設定雲盒Bucket的授權策略。 |
|
|
擷取雲盒Bucket的授權策略。 |
||
|
刪除雲盒Bucket的授權策略。 |
||
|
日誌管理(Logging) |
開啟雲盒Bucket日誌轉存功能。 |
|
|
擷取雲盒Bucket日誌轉存配置情況。 |
||
|
關閉雲盒Bucket日誌轉存功能。 |
||
|
靜態網站(Website) |
設定雲盒Bucket為靜態網站託管模式。 |
|
|
擷取雲盒Bucket的靜態網站託管配置。 |
||
|
關閉雲盒Bucket的靜態網站託管模式。 |
||
|
防盜鏈(Referer) |
設定雲盒Bucket的防盜鏈規則。 |
|
|
擷取雲盒Bucket的防盜鏈規則。 |
||
|
加密(Encryption) |
設定雲盒Bucket的加密規則。 |
|
|
擷取雲盒Bucket的加密規則。 |
||
|
刪除雲盒Bucket的加密規則。 |
關於Object的操作
|
分類 |
APi |
描述 |
|
基礎操作 |
上傳Object。 |
|
|
擷取Object。 |
||
|
拷貝Object。 |
||
|
以追加寫的方式上傳Object。 |
||
|
刪除單個Object。 |
||
|
刪除多個Object。 |
||
|
只返回某個Object的meta資訊,不返迴文件內容。 |
||
|
返回Object的基本meta資訊,包括該Object的ETag、Size(檔案大小)以及LastModified等,不返迴文件內容。 |
||
|
分區上傳(MultipartUpload) |
初始化一個Multipart Upload事件。 |
|
|
根據指定的Object名和uploadId來分塊(Part)上傳資料。 |
||
|
通過在UploadPart請求的基礎上增加一個要求標頭x-oss-copy-source來調用UploadPartCopy介面,實現從一個已存在的Object中拷貝資料來上傳一個Part。 |
||
|
在將所有資料Part都上傳完成後,您必須調用CompleteMultipartUpload介面來完成整個檔案的分區上傳。 |
||
|
取消Multipart Upload事件並刪除對應的Part資料。 |
||
|
列舉所有執行中的Multipart Upload事件,即已經初始化但還未完成(Complete)或者還未中止(Abort)的Multipart Upload事件。 |
||
|
列舉指定uploadId所屬的所有已經上傳成功Part。 |
||
|
許可權控制(ACL) |
修改Object的存取權限。 |
|
|
查看Object的存取權限。 |
||
|
軟連結(Symlink) |
建立軟連結。 |
|
|
擷取軟連結。 |
||
|
標籤(Tagging) |
設定或更新Object標籤。 |
|
|
擷取Object標籤資訊。 |
||
|
刪除指定的Object標籤。 |