Sets a key-value pair for a namespace. This operation supports a request body of up to 25 MB.
Operation description
This operation provides the same functionality as PutDcdnKv but supports a larger request body. If the request body is small, use the PutDcdnKv operation to reduce the server-side processing time. Calling this operation requires an SDK. For example, if you use the Go SDK, call the PutDcdnKvWithHighCapacityAdvance function.
func TestPutDcdnKvWithHighCapacity() {
// 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 pair request to upload.
namespace := "test-put-kv"
key := "test_PutDcdnKvWithHighCapacity_0"
value := strings.Repeat("t", 10*1024*1024)
rawReq := &PutDcdnKvRequest{
Namespace: &namespace,
Key: &key,
Value: &value,
}
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 the data.
reqHighCapacity := &PutDcdnKvWithHighCapacityAdvanceRequest{
Namespace: &namespace,
Key: &key,
UrlObject: bytes.NewReader([]byte(payload)),
}
resp, err := cli.PutDcdnKvWithHighCapacityAdvance(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:PutDcdnKvWithHighCapacity |
get |
*All Resource
|
None | None |
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| Namespace |
string |
Yes |
The name of the namespace that you specified when you called the PutDcdnKvNamespace operation. |
test_namesapce |
| Key |
string |
Yes |
The name of the key to set. The key can be up to 512 characters in length and cannot contain spaces or backslashes (/). |
test_key |
| Url |
string |
Yes |
The download URL of the object that stores the key-value pair. This parameter is automatically generated by the SDK. You must use an SDK to call this operation. |
https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7 |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
|||
| Length |
integer |
The length of the value in the key-value pair. |
4 |
| Value |
string |
The content of the key. If the value is longer than 256 characters, the system returns the first 100 characters and the last 100 characters, and omits the middle part. |
test |
| RequestId |
string |
The request ID. |
EEEBE525-F576-1196-8DAF-2D70CA3F4D2F |
Examples
Success response
JSON format
{
"Length": 4,
"Value": "test",
"RequestId": "EEEBE525-F576-1196-8DAF-2D70CA3F4D2F"
}
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 | InvalidAccount.Malformed | The specified account is invalid. | The account is invalid. Check whether an account is specified. |
| 400 | InvalidNameSpace.Malformed | The specified namespace is invalid. | The namespace is invalid. Check whether a namespace 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. |
| 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. |
| 403 | Unauthorized.InvalidResource | Resource authentication failed. | The specified resource is invalid. |
| 404 | InvalidAccount.NotFound | The specified account does not exist. | The specified account does not exist. |
| 404 | InvalidNameSpace.NotFound | The specified namespace does not exist. | The specified namespace does not exist. |
| 404 | InvalidKey.NotFound | The specified key does not exist. | The specified key does not exist. |
| 406 | InvalidNameSpace.Duplicate | The specified namespace already exists. | The namespace already exists. |
| 406 | InvalidNameSpace.QuotaFull | The maximum number of namespaces is exceeded. | The number of namespaces has reached the upper limit. |
| 406 | InvalidKey.QuotaFull | The maximum number of keys is exceeded. | The number of keys has reached the upper limit. |
| 429 | TooManyRequests | Too many requests are submitted. | Do not send requests at a high frequency. |
| 429 | TooQuickRequests | Request for putting or deleting keys are frequently submitted. | Do not perform the key put/delete operation at a high frequency. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.