You need to enable JavaScript to run this app.
导航

幂等性说明

最近更新时间2024.01.04 16:17:06

首次发布时间2023.12.07 19:31:11

什么是幂等性

幂等性(Idempotency)是指一个操作无论执行一次还是多次,对系统的状态产生的影响都是一样的。即使用户对同一接口发起多次请求,实现的效果与单次请求的效果也是相同的。

为什么需要幂等性

由于网络延迟、用户误操作等问题,可能会导致相同的请求被多次发送。如果服务端对每次请求都进行响应,可能会导致意外的、不符合用户期望的重复操作如资源的重复创建,这可能导致资源利用率低下和成本升高。因此,需要保障接口的幂等性,来避免因多次发送相同请求而导致的资源重复创建问题。

如何实现幂等性

部分API接口支持了client_token参数来实现幂等性。用户在发起请求时可以指定该参数,服务端会根据client_token参数进行判断。

当用户发起了多次请求时:

  • 如果client_token值相同,且指定的其他参数及参数值均相同,那么服务端只会处理第一次请求,不会重复创建资源。多次请求返回的结果均为第一次请求的结果。
  • 如果client_token值相同,但是指定的其他参数或参数值不同,那么服务端会返回错误消息。

client_token值的有效期为24小时。有效期的起始时间为用户使用该client_token值第一次发起请求的时间。

支持幂等性的接口

当前,以下接口支持幂等性:

幂等请求示例

以下内容以新增边缘实例为例进行说明。在多次请求中,如果client_token的值相同,且指定的其他参数和参数值均相同时,服务端会返回相同的结果,即只返回一个实例 ID。

POST https://veenedge.volcengineapi.com/?Action=CreateInstance&Version=2021-04-30
&<其他公共参数>
{
  "cloud_server_identity": "cloudserver-28qt4gbvknp****",
  "instance_area_nums": [
    {
      "cluster_name":"****zct06",
      "num": 1
    }
  ],
  "client_token":"123e-34bd-4ffsc****"
}