BatchPutDcdnKvWithHighCapacity - 批量设置KV存储空间的大容量键值对

更新时间:

根据指定的键名列表来批量设置指定KV存储空间的键值对,请求体最大支持100M。

接口说明

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

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

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

	// 如果 payload 大于 2M,则调用大容量接口进行上传
	reqHighCapacity := BatchPutDcdnKvWithHighCapacityAdvanceRequest{
		Namespace: &namespace,
		UrlObject: bytes.NewReader(payload),
	}
	resp, err := cli.BatchPutDcdnKvWithHighCapacityAdvance(&reqHighCapacity, runtime)
	if err != nil {
		return err
	}
	return nil
}

调试

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

授权信息

当前API暂无授权信息透出。

请求参数

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

调用 PutDcdnKvNamespace 时指定的名称。

test_namespace
Urlstring

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

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

返回参数

名称类型描述示例值
object

Schema of Response

RequestIdstring

请求 ID。

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

写失败的键列表。

failKeysstring

写失败的键名。

test_key1
SuccessKeysarray

写成功的键列表。

successKeysstring

写成功的键名。

test_key2

示例

正常返回示例

JSON格式

{
  "RequestId": "EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\n",
  "FailKeys": [
    "test_key1"
  ],
  "SuccessKeys": [
    "test_key2"
  ]
}

错误码

HTTP status code错误码错误信息描述
400Invalid.ParameterThe specified parameter is invalid.输入参数无效
400InvalidNameSpace.MalformedThe specified namespace is invalid.namespace输入不对,比如输入为空
400InvalidAccount.MalformedThe specified account is invalid.账号输入不对,比如输入为空
400InvalidKey.MalformedThe specified key is invalid.key输入不对,比如输入为空
400InvalidKey.ExceedsMaximumThe size of the key cannot exceed 512 bytes.key长度不能超过512B
400InvalidValue.ExceedsMaximumThe size of the value cannot exceed 2,000,000 bytes.value长度不能越过2000000B
400InvalidKey.TooManyKeysrequest contains too many keys.单次请求包含过多数量的key
403InvalidKey.ExceedsCapacityThe maximum capacity of a single namespace cannot exceed 1 GB.namespace容量超过限制,单个namespace最大容量为1G
403Unauthorized.InvalidParametersThe specified authentication parameters are invalid.鉴权参数输入错误
403Unauthorized.InvalidTimeThe specified authentication time is invalid.您输入的鉴权时间参数无效,请检查参数值后重试。
403Unauthorized.InvalidTokenToken authentication failed.您输入的token无效,请检查并输入正确的token后进行重试。
404InvalidNameSpace.NotFoundThe specified namespace does not exist.namespace不存在

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

变更历史

变更时间变更内容概要操作
暂无变更历史