Sets multiple key-value pairs for a specified KV namespace. The request body can be up to 100 MB.
Operation description
This operation provides the same functionality as BatchPutDcdnKv but supports a larger request body. If the request body is small, use the BatchPutDcdnKv operation to reduce server-side processing time. You must use a software development kit (SDK) to call this operation. For example, if you use the Go SDK, call the `BatchPutDcdnKvWithHighCapacityAdvance` function.
func TestBatchPutDcdnKvWithHighCapacity() 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 request for batch uploading key-value pairs.
namespace := "test_batch_put"
numKv := 10000
kvList := make([]*BatchPutDcdnKvRequestKvList, 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] = &BatchPutDcdnKvRequestKvList{
Key: &key,
Value: &value,
}
}
rawReq := BatchPutDcdnKvRequest{
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.
reqHighCapacity := BatchPutDcdnKvWithHighCapacityAdvanceRequest{
Namespace: &namespace,
UrlObject: bytes.NewReader(payload),
}
resp, err := cli.BatchPutDcdnKvWithHighCapacityAdvance(&reqHighCapacity, runtime)
if err != nil {
return err
}
return nil
}
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
dcdn:BatchPutDcdnKvWithHighCapacity |
none |
*All Resource
|
None | None |
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| Namespace |
string |
Yes |
The name specified when you call PutDcdnKvNamespace. |
test_namespace |
| Url |
string |
Yes |
The download link for the key-value pairs to set in a batch. This parameter is automatically generated when you call the operation using an SDK. |
https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7 |
Response parameters
|
Parameter |
Type |
Description |
Example |
|
object |
Schema of Response |
||
| RequestId |
string |
The request ID. |
EEEBE525-F576-1196-8DAF-2D70CA3F4D2F |
| FailKeys |
array |
A list of keys that failed to be written. |
|
|
string |
The name of the key that failed to be written. |
test_key1 |
|
| SuccessKeys |
array |
A list of keys that were successfully written. |
|
|
string |
The name of the key that was successfully written. |
test_key2 |
Examples
Success response
JSON format
{
"RequestId": "EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\n",
"FailKeys": [
"test_key1"
],
"SuccessKeys": [
"test_key2"
]
}
Error codes
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | Invalid.Parameter | The specified parameter is invalid. | The parameter is set to an invalid value. |
| 400 | InvalidNameSpace.Malformed | The specified namespace is invalid. | The namespace is invalid. Check whether a namespace is specified. |
| 400 | InvalidAccount.Malformed | The specified account is invalid. | The account is invalid. Check whether an account is specified. |
| 400 | InvalidKey.Malformed | The specified key is invalid. | The key is invalid. Check whether a key is specified. |
| 400 | InvalidKey.ExceedsMaximum | The size of the key cannot exceed 512 bytes. | The key cannot exceed 512 bytes in length. |
| 400 | InvalidValue.ExceedsMaximum | The size of the value cannot exceed 2,000,000 bytes. | The value cannot exceed 2,000,000 bytes in length. |
| 400 | InvalidKey.TooManyKeys | request contains too many keys. | |
| 403 | InvalidKey.ExceedsCapacity | The maximum capacity of a single namespace cannot exceed 1 GB. | The capacity of the namespace has reached the upper limit. Each namespace can be at most 1 GB. |
| 403 | Unauthorized.InvalidParameters | The specified authentication parameters are invalid. | An authentication parameter is set to an invalid value. |
| 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 | InvalidNameSpace.NotFound | The specified namespace does not exist. | The specified namespace does not exist. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.