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 elements
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.