调用GetSqlConcurrencyControlKeywordsFromSqlText接口,根据原始SQL语句,生成限流关键词串。
本接口适用的数据库引擎为:
- RDS MySQL
- PolarDB MySQL版
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | GetSqlConcurrencyControlKeywordsFromSqlText | 系统规定参数。取值:GetSqlConcurrencyControlKeywordsFromSqlText。 |
ConsoleContext | String | 否 | None | 备用参数。 |
InstanceId | String | 是 | rm-2ze5hpn2b99d2**** | 实例ID。 |
SqlText | String | 是 | SELECT * FROM test where name = 'das' | 待生成限流关键词的SQL文本。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
Code | String | 200 | 返回的状态码。 |
Message | String | Successful | 请求返回消息。 说明 请求成功时该参数返回Successful,请求失败时会返回请求异常信息(如错误码等)。 |
Data | String | SELECT~FROM~test~where~name | 根据模板化后的SQL生成的限流关键词串。 |
RequestId | String | 30A643F5-D7A6-55F5-AB75-DF501427**** | 请求ID。 |
Success | String | true | 请求是否执行成功:
|
返回的限流关键词串,是根据模板化后的SQL生成的,如果需要限流某个特定值,则需要带上相应的参数。例如:原始SQL语句为SELECT * FROM test where name = 'das',返回的限流关键词串是SELECT~FROM~test~where~name,如果需要限流 name = 'das' ,则需要在返回的限流关键词串中增加~das,即限流关键词串为SELECT~FROM~test~where~name~das 。
示例
请求示例
http(s)://das.cn-shanghai.aliyuncs.com/?Action=GetSqlConcurrencyControlKeywordsFromSqlText
&ConsoleContext=None
&InstanceId=rm-2ze5hpn2b99d2****
&SqlText=SELECT * FROM test where name = 'das'
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<GetSqlConcurrencyControlKeywordsFromSqlTextResponse>
<Code>200</Code>
<Message>Successful</Message>
<Data>SELECT~FROM~test~where~name</Data>
<RequestId>30A643F5-D7A6-55F5-AB75-DF501427****</RequestId>
<Success>true</Success>
</GetSqlConcurrencyControlKeywordsFromSqlTextResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"Code" : "200",
"Message" : "Successful",
"Data" : "SELECT~FROM~test~where~name",
"RequestId" : "30A643F5-D7A6-55F5-AB75-DF501427****",
"Success" : "true"
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | InvalidParams | The request parameters are invalid. | 请求参数错误 |
访问错误中心查看更多错误码。