云数据库 RDS-请求幂等性说明:如何保证请求幂等性

时间:2023-11-01 16:20:34

如何保证请求幂等性

客户端在发送请求时,可以在HTTP请求消息头中增加X-Client-Token作为幂等性标识,字段描述参见表1

表1 幂等标识消息头

名称

描述

是否必选

示例

X-Client-Token

保证客户端请求幂等性的标识。

该标识为32位UUID格式,由客户端生成,且需确保不同请求之间该标识具有唯一性。

46436810-d999-454c-bd85-e515fd258600

通常情况下,客户端只需要在服务端内部异常、连接超时等响应状态码为5xx的错误,或者无法获取响应结果重试请求。重试请求仍然使用相同的幂等标识和请求参数,则服务端会返回与第一次请求相同的请求结果。

幂等标识的详细信息如下所示:

  • 幂等标识是一个大小写敏感的32位UUID,其格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12),其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。如果您提供了一个非UUID格式的标识,则服务端会返回DBS.280497错误码。
  • 幂等标识需要具有唯一性,如果您提供了一个已经使用过的标识,但请求参数有变化,则服务端会返回DBS.280495错误码。
  • 幂等标识具有时效性(8小时),如果您提供了一个已经失效的标识,则服务端会返回DBS.280498错误码。
  • 使用幂等标识后:
    • 返回结果状态码为2xx时,重试后客户端可以得到与上次相同的结果,但对您的服务端状态没有影响。
    • 返回结果状态码为4xx时,重试不会成功。您需要根据错误信息排查问题后再重试请求。
support.huaweicloud.com/api-rds/rds_10_0205.html