BatchDeleteDcdnKvWithHighCapacity

Updated at:

Deletes key-value pairs from a specified KV namespace in batches based on a specified list of key names. The maximum allowed request body size is 100 MB.

Operation description

This operation provides the same functionality as BatchDeleteDcdnKv but allows a larger request body. If the request body is small, directly call BatchDeleteDcdnKv to reduce server-side processing time. You must use an SDK to call this operation. For example, if you use the SDK for Go, you must call the BatchDeleteDcdnKvWithHighCapacityAdvance function.

func TestBatchDeleteWithHighCapacity() 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 to batch delete key-value pairs.
	namespace := "test_batch_put"
	rawReq := BatchDeleteDcdnKvRequest{
		Namespace: &namespace,
	}
	for i := 0; i < 10000; i++ {
		key := fmt.Sprintf("test_key_%d", i)
		rawReq.Keys = append(rawReq.Keys, &key)
	}
	payload, err := json.Marshal(rawReq)
	if err != nil {
		return err
	}

	// If the payload is larger than 2 MB, call the large-capacity operation to delete the key-value pairs.
	reqHighCapacity := BatchDeleteDcdnKvWithHighCapacityAdvanceRequest{
		Namespace: &namespace,
		UrlObject: bytes.NewReader(payload),
	}
	resp, err := cli.BatchDeleteDcdnKvWithHighCapacityAdvance(&reqHighCapacity, runtime)
	if err != nil {
		return err
	}
	return nil
}

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

dcdn:BatchDeleteDcdnKvWithHighCapacity

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 URL of the object that contains the key-value pairs to be deleted in batches. This parameter is automatically generated when you use an SDK. Use an SDK to call this operation.

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

FailKeys

array

The list of keys that failed to be deleted.

string

The name of the key that failed to be deleted.

test_key1

SuccessKeys

array

The list of keys that were successfully deleted.

string

The name of the key that was successfully deleted.

test_key1

Examples

Success response

JSON format

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

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. A single 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.