Batch sets key-value pairs in a specified KV namespace. The maximum request body size is 100 MB.
Operation description
This operation has the same functionality as BatchPutKv but supports larger request bodies. For small request bodies, use BatchPutKv to reduce server-side processing time. This operation must be called by using an SDK. For example, with the Golang SDK, call the BatchPutKvWithHighCapacityAdvance function.
func TestBatchPutKvWithHighCapacity() error {
// Initialize the configuration
cfg := new(openapi.Config)
cfg.SetAccessKeyId("xxxxxxxxx")
cfg.SetAccessKeySecret("xxxxxxxxxx")
cli, err := NewClient(cfg)
if err != nil {
return err
}
runtime := &util.RuntimeOptions{}.
// Construct the key-value pairs for batch upload
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
}.
// If the payload is larger than 2 MB, call the high-capacity operation to upload it
reqHighCapacity := BatchPutKvWithHighCapacityAdvanceRequest{
Namespace: &namespace,
UrlObject: bytes.NewReader(payload),
}
resp, err := cli.BatchPutKvWithHighCapacityAdvance(&reqHighCapacity, runtime)
if err != nil {
return err
}
return nil
}.
Try it now
Test
RAM authorization
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| Namespace |
string |
Yes |
The name of the namespace that you specified when you called CreateKvNamespace. |
test_namespace |
| Url |
string |
Yes |
A publicly accessible HTTP(S) URL that points to a JSON file containing the key-value pairs to batch set. The server downloads the content from this URL.
The URL content must be in the following JSON format: {"Namespace":" |
https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7 |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
Schema of Response |
||
| RequestId |
string |
The request ID. |
EEEBE525-F576-1196-8DAF-2D70CA3F4D2F |
| FailKeys |
array |
The keys that failed to be written. |
|
|
string |
The key that failed to be written. |
test_key1 |
|
| SuccessKeys |
array |
The keys that were successfully written. |
|
|
string |
The key that was successfully written. |
test_key2 |
Examples
Success response
JSON format
{
"RequestId": "EEEBE525-F576-1196-8DAF-2D70CA3F4D2F",
"FailKeys": [
"test_key1"
],
"SuccessKeys": [
"test_key2"
]
}
Error codes
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | InvalidAccount.Malformed | The specified account is invalid. | The account number is not entered correctly, for example, the input is empty. |
| 400 | InvalidNameSpace.Malformed | The specified namespace is invalid. | The bucket name is entered incorrectly, such as an empty string. |
| 400 | InvalidKey.Malformed | The specified key is invalid. | Key name input error, such as entering an empty string. |
| 400 | InvalidKey.ExceedsMaximum | The size of the key cannot exceed 512 bytes. | The length of the requested key is too large. |
| 400 | InvalidValue.ExceedsMaximum | The size of the value cannot exceed 2,000,000 bytes. | The value deposited is too large. |
| 403 | InvalidKey.ExceedsCapacity | The maximum capacity of a single namespace cannot exceed 1 GB. | The capacity of the storage space exceeds the limit. |
| 403 | Unauthorized.InvalidParameters | The specified authentication parameters are invalid. | Authentication parameter input error. |
| 403 | Unauthorized.InvalidTime | The specified authentication time is invalid. | The authentication time parameter you entered is invalid. Check the parameter value and try again. |
| 403 | Unauthorized.InvalidToken | Token authentication failed. | The token you entered is invalid. Please check and enter the correct token and try again. |
| 404 | InvalidAccount.NotFound | The specified account does not exist. | The specified account does not exist. |
| 404 | InvalidNameSpace.NotFound | The specified namespace does not exist. | |
| 404 | InvalidKey.NotFound | The specified key does not exist. | The specified key-value pair does not exist. |
| 406 | InvalidNameSpace.Duplicate | The specified namespace already exists. | Specified storage space |
| 406 | InvalidNameSpace.QuotaFull | The maximum number of namespaces is exceeded. | The number of storage spaces exceeds the capacity limit. |
| 429 | TooManyRequests | Too many requests are submitted. | Submissions are too frequent, please try again later |
| 429 | TooQuickRequests | Request for putting or deleting keys are frequently submitted. | The modification or deletion of key-value pairs is too frequent. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.