Sets a single large-capacity key-value pair in a KV namespace. The maximum value size is 25 MB.
Operation description
This operation has the same functionality as PutKv but supports a larger request body. For smaller request bodies, use PutKv to reduce server-side processing time. You must call this operation by using an SDK. For example, with the Golang SDK, call the PutKvWithHighCapacityAdvance function.
func TestPutKvWithHighCapacity() {
// Configuration initialization
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_PutKvWithHighCapacity_0"
value := strings.Repeat("t", 10*1024*1024)
rawReq := &PutKvRequest{
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 it
reqHighCapacity := &PutKvWithHighCapacityAdvanceRequest{
Namespace: &namespace,
Key: &key,
UrlObject: bytes.NewReader([]byte(payload)),
}.
resp, err := cli.PutKvWithHighCapacityAdvance(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 that you specified when calling the CreateKvNamespace operation. |
test_namesapce |
| Key |
string |
Yes |
The key name. The key name can be up to 512 characters in length and cannot contain spaces or backslashes (/). |
test_key |
| Url |
string |
Yes |
A publicly accessible HTTP or HTTPS URL that points to a JSON file containing the key-value pair. The server downloads the content from this URL.
The file content pointed to by the URL 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 |
| Length |
string |
The length of the value in the key-value pair. |
4 |
| Value |
string |
The value content. If the content exceeds 256 characters, only the first 100 and last 100 characters are returned, with the middle portion omitted. |
test |
Examples
Success response
JSON format
{
"RequestId": "EEEBE525-F576-1196-8DAF-2D70CA3F4D2F",
"Length": "4",
"Value": "test"
}
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.