幂等性(Idempotency)是指一个操作无论执行一次还是多次,对系统的状态产生的影响都是一样的。即使用户对同一接口发起多次请求,实现的效果与单次请求的效果也是相同的。
由于网络延迟、用户误操作等问题,可能会导致相同的请求被多次发送。如果服务端对每次请求都进行响应,可能会导致意外的、不符合用户期望的重复操作如资源的重复创建,这可能导致资源利用率低下和成本升高。因此,需要保障接口的幂等性,来避免因多次发送相同请求而导致的资源重复创建问题。
部分API接口支持了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****" }