機能説明
このAPIは、OceanBaseのSQLテキスト情報を照会するために使用されます。
呼び出し説明
インターフェース制約
呼び出し元はマルチクラウドAPIにアクセスするためのキーを保有している必要があります。AccessKey IDとAccessKey Secretの取得方法の詳細については、アクセスキーの管理をご参照ください。
リクエストパス
GET /api/v2/instances/{instanceId}/tenants/{tenantId}/sqls/{sqlId}/details
リクエストパラメータ
Query
項目 |
タイプ |
必須 |
説明 |
例 |
|---|---|---|---|---|
| instanceId | String | いいえ | OceanBaseクラウドデータベースインスタンスID。 | ob317v4uif**** |
| tenantId | String | いいえ | テナントID。 | t33h8y08k**** |
| sqlId | String | いいえ | SQL ID。topSQL/slowSQL/annomalySQLから取得できます。 | 6E05****E4D418C927918CDB62A0**** |
Body
項目 |
タイプ |
必須 |
説明 |
例 |
|---|---|---|---|---|
| dbName | String | いいえ | データベース名。topSQL/slowSQL/疑わしいSQLから取得できます。 | tf_**** |
| startTime | String | いいえ | 開始時間。この時間はUTC時間のみをサポートし、形式はYYYY-MM-DDThh:mm:ssZです。 | 2021-06-13T15:40:43Z |
| endTime | String | いいえ | 終了時間。この時間はUTC時間のみをサポートし、形式はYYYY-MM-DDThh:mm:ssZです。 | 2021-09-13T15:40:43Z |
| parameterized | Boolean | いいえ | SQLテキストがパラメータ化されているかどうか。 | false |
戻り値
名前 |
型 |
説明 |
例 |
|---|---|---|---|
| data | json | SQLテキスト情報。 | |
| dbName | String | データベース名。 | tf_**** |
| fulltext | string | SQLテキスト。注意:パラメータのparameterizedの値によってfulltextが変わります。parameterized=falseの場合、fulltextに表示されるのは全文です。それ以外の場合は、contentはstatementと同じです。 | select sum(id), substring (name, 10, 21), sleep(?) from table_scan_index_not_used where name not like ?; |
| sqlId | string | SQL ID。 | 6E05****E4D418C927918CDB62A0**** |
| statement | string | パラメータ化されたSQLテキスト。 | select sum(id), substring (name, 10, 21), sleep(?) from table_scan_index_not_used where name not like ?; |
| tables | array | SQL解析されたテーブル名。 | ["table_scan_index_not_used"] |
| userName | String | ユーザー名。 | oas |
例
リクエスト例
curl --digest -u 'ak:sk' \
--request GET \
--url https://api-cloud.oceanbase.com/api/v2/instances/{instanceId}/tenants/{tenantId}/sqls/{sqlId}/details
-H 'X-Ob-Project-Id: <プロジェクトID>'
-G -d 'dbName=xx' -d 'startTime=xx' -d 'endTime=xxx' -d 'parameterized=false'
説明
- パラメータに特殊文字が含まれている場合は、エスケープする必要があります。例:-d'@avgCpuTime>0' を -d'%40avgCpuTime%3E0' に書き換えます。時間を表すパラメータの特殊文字(コロン(:)など)は、必ず適切にエスケープしてください。
- プロジェクトIDはプロジェクトの一意の識別子です。プロジェクト管理 を参照して、クラスタのプロジェクトIDを取得できます。
- インスタンスIDが属するプロジェクトのIDと指定したプロジェクトIDが一致していることを確認してください。
レスポンス例
JSON形式
{
"data":{
"dbName":"tf_****",
"fulltext":"select sum(id), substring (name, 10, 21), sleep(?) from table_scan_index_not_used where name not like ?;",
"sqlId":"6E05****E4D418C927918CDB62A0****",
"statement":"select sum(id), substring (name, 10, 21), sleep(?) from table_scan_index_not_used where name not like ?;",
"tables":[
"table_scan_index_not_used"
],
"userName":"oas"
},
"requestId":"d2a322bf-****-4945-b92c-0bbf24d4****",
"success":true
}