根據(jù)指定的鍵名列表來批量設置指定KV存儲空間的鍵值對,請求體最大支持100M。
接口說明
本接口與 BatchPutKv 的功能一樣,只是允許上傳更大請求體。當請求體較小時推薦直接使用 BatchPutKv 接口,從而減少服務端處理時間。本接口需要使用 SDK 進行調(diào)用。以 golang SDK 為例,需要使用 BatchPutKvWithHighCapacityAdvance 函數(shù)進行調(diào)用。
func TestBatchPutKvWithHighCapacity() error {
// 配置初始化
cfg := new(openapi.Config)
cfg.SetAccessKeyId("xxxxxxxxx")
cfg.SetAccessKeySecret("xxxxxxxxxx")
cli, err := NewClient(cfg)
if err != nil {
return err
}
runtime := &util.RuntimeOptions{}
// 構(gòu)造待批量上傳的鍵值對請求
namespace := "test_batch_put"
numKv := 10000
kvList := make([]*BatchPutKvRequestKvList, numKv)
test_value := strings.Repeat("a", 10*1024)
for i := 0; i < numKv; i++ {
key := fmt.Sprintf("test_key_%d", i)
value := test_value
kvList[i] = &BatchPutKvRequestKvList{
Key: &key,
Value: &value,
}
}
rawReq := BatchPutKvRequest{
Namespace: &namespace,
KvList: kvList,
}
payload, err := json.Marshal(rawReq)
if err != nil {
return err
}
// 如果 payload 大于 2M,則調(diào)用大容量接口進行上傳
reqHighCapacity := BatchPutKvWithHighCapacityAdvanceRequest{
Namespace: &namespace,
UrlObject: bytes.NewReader(payload),
}
resp, err := cli.BatchPutKvWithHighCapacityAdvance(&reqHighCapacity, runtime)
if err != nil {
return err
}
return nil
}
調(diào)試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權(quán)信息
當前API暫無授權(quán)信息透出。
請求參數(shù)
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
Namespace | string | 是 | 調(diào)用 CreateKvNamespace 時指定的名稱。 | test_namespace |
Url | string | 是 | 存儲有需要批量設置的鍵值對的下載鏈接,此參數(shù)由調(diào)用 SDK 時自動生成,請使用 SDK 進行調(diào)用。 | https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7 |
返回參數(shù)
示例
正常返回示例
JSON
格式
{
"RequestId": "EEEBE525-F576-1196-8DAF-2D70CA3F4D2F",
"FailKeys": [
"test_key1"
],
"SuccessKeys": [
"test_key2"
]
}
錯誤碼
HTTP status code | 錯誤碼 | 錯誤信息 | 描述 |
---|---|---|---|
400 | InvalidAccount.Malformed | The specified account is invalid. | 賬號輸入不對,比如輸入為空。 |
400 | InvalidNameSpace.Malformed | The specified namespace is invalid. | 存儲空間名輸入錯誤,比如輸入空字符串。 |
400 | InvalidKey.Malformed | The specified key is invalid. | Key名輸入錯誤,比如輸入空字符串。 |
400 | InvalidKey.ExceedsMaximum | The size of the key cannot exceed 512 bytes. | 請求的Key的長度過大。 |
400 | InvalidValue.ExceedsMaximum | The size of the value cannot exceed 2,000,000 bytes. | 存入的值過大。 |
403 | InvalidKey.ExceedsCapacity | The maximum capacity of a single namespace cannot exceed 1 GB. | 存儲空間的容量超過限制。 |
403 | Unauthorized.InvalidParameters | The specified authentication parameters are invalid. | 鑒權(quán)參數(shù)輸入錯誤。 |
403 | Unauthorized.InvalidTime | The specified authentication time is invalid. | 您輸入的鑒權(quán)時間參數(shù)無效,請檢查參數(shù)值后重試。 |
403 | Unauthorized.InvalidToken | Token authentication failed. | 您輸入的token無效,請檢查并輸入正確的token后進行重試。 |
404 | InvalidAccount.NotFound | The specified account does not exist. | 指定的賬號不存在。 |
404 | InvalidNameSpace.NotFound | The specified namespace does not exist. | 指定的存儲空間不存在。 |
404 | InvalidKey.NotFound | The specified key does not exist. | 指定的鍵值對不存在。 |
406 | InvalidNameSpace.Duplicate | The specified namespace already exists. | 指定的存儲空間已經(jīng)存在。 |
406 | InvalidNameSpace.QuotaFull | The maximum number of namespaces is exceeded. | 存儲空間的個數(shù)超過容量限制。 |
429 | TooManyRequests | Too many requests are submitted. | 提交太頻繁,請稍候再試 |
429 | TooQuickRequests | Request for putting or deleting keys are frequently submitted. | 鍵值對的修改或者刪除操作太頻繁。 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內(nèi)容概要 | 操作 |
---|---|---|
2024-09-20 | OpenAPI 錯誤碼發(fā)生變更 | 查看變更詳情 |