首页 边缘安全加速 边缘安全加速 ESA 开发参考 API参考 API目录 边缘计算 边缘存储 PutKvWithHighCapacity - 设置KV存储空间的单个大容量键值对

PutKvWithHighCapacity - 设置KV存储空间的单个大容量键值对

更新时间: 2024-12-26 17:19:04

设置KV存储空间的单个大容量键值对,最大支持25M的值内容。

接口说明

本接口与 PutKv 的功能一样,只是允许上传更大请求体。当请求体较小时推荐直接使用 PutKv 接口,从而减少服务端处理时间。本接口需要使用 SDK 进行调用。以 golang SDK 为例,需要使用 PutKvWithHighCapacityAdvance 函数进行调用。

func TestPutKvWithHighCapacity() {
	// 配置初始化
	cfg := new(openapi.Config)
	cfg.SetAccessKeyId("xxxxxxxxx")
	cfg.SetAccessKeySecret("xxxxxxxxxx")
	cli, err := NewClient(cfg)
	if err != nil {
		return err
	}
	runtime := &util.RuntimeOptions{}

	// 构造待上传的键值对请求
	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
	}

	// 如果 payload 大于 2M,则调用大容量接口进行上传
	reqHighCapacity := &PutKvWithHighCapacityAdvanceRequest{
		Namespace: &namespace,
		Key:       &key,
		UrlObject: bytes.NewReader([]byte(payload)),
	}

	resp, err := cli.PutKvWithHighCapacityAdvance(reqHighCapacity, runtime)
	if err != nil {
		return err
	}
	return nil
}

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
esa:PutKvWithHighCapacitynone
*全部资源
*

请求参数

名称类型必填描述示例值
Namespacestring

调用 CreateKvNamespace 时指定的名称。

test_namesapce
Keystring

需要设置的键名称,最长不超过 512 个字符,不能包含空格、反斜杠(/)。

test_key
Urlstring

存储有需要设置的键值对的下载链接,此参数由调用 SDK 时自动生成,请使用 SDK 进行调用。

https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7

返回参数

名称类型描述示例值
object

Schema of Response

RequestIdstring

请求 ID。

EEEBE525-F576-1196-8DAF-2D70CA3F4D2F
Lengthstring

键值对中的值的长度。

4
Valuestring

键的内容, 超过 256 个字符长度,将取前 100 及后 100 字符并省略中间。

test

示例

正常返回示例

JSON格式

{
  "RequestId": "EEEBE525-F576-1196-8DAF-2D70CA3F4D2F",
  "Length": "4",
  "Value": "test"
}

错误码

HTTP status code错误码错误信息描述
400InvalidAccount.MalformedThe specified account is invalid.账号输入不对,比如输入为空。
400InvalidNameSpace.MalformedThe specified namespace is invalid.存储空间名输入错误,比如输入空字符串。
400InvalidKey.MalformedThe specified key is invalid.Key名输入错误,比如输入空字符串。
400InvalidKey.ExceedsMaximumThe size of the key cannot exceed 512 bytes.请求的Key的长度过大。
400InvalidValue.ExceedsMaximumThe size of the value cannot exceed 2,000,000 bytes.存入的值过大。
403InvalidKey.ExceedsCapacityThe maximum capacity of a single namespace cannot exceed 1 GB.存储空间的容量超过限制。
403Unauthorized.InvalidParametersThe specified authentication parameters are invalid.鉴权参数输入错误。
403Unauthorized.InvalidTimeThe specified authentication time is invalid.您输入的鉴权时间参数无效,请检查参数值后重试。
403Unauthorized.InvalidTokenToken authentication failed.您输入的token无效,请检查并输入正确的token后进行重试。
404InvalidAccount.NotFoundThe specified account does not exist.指定的账号不存在。
404InvalidNameSpace.NotFoundThe specified namespace does not exist.指定的存储空间不存在。
404InvalidKey.NotFoundThe specified key does not exist.指定的键值对不存在。
406InvalidNameSpace.DuplicateThe specified namespace already exists.指定的存储空间已经存在。
406InvalidNameSpace.QuotaFullThe maximum number of namespaces is exceeded.存储空间的个数超过容量限制。
429TooManyRequestsToo many requests are submitted.提交太频繁,请稍候再试
429TooQuickRequestsRequest for putting or deleting keys are frequently submitted.键值对的修改或者删除操作太频繁。

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2024-09-20OpenAPI 错误码发生变更查看变更详情
上一篇: BatchDeleteKv - 批量删除KV存储空间的键值对 下一篇: BatchPutKvWithHighCapacity - 批量设置KV存储空间的大容量键值对