Obtención de enlaces para descargar registros de consultas lentas
Función
Esta API se utiliza para obtener enlaces para descargar logs de consultas lentas. Antes de invocar a esta API:
- Aprender cómo autorizar y autenticarla.
- Obtenga la región y el punto de conexión requeridos.
URI
POST /v3/{project_id}/instances/{instance_id}/{node_id}/slowlog-download
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
ID de proyecto de un tenant en una región. Para obtener este valor, consulte Obtención de un ID de proyecto. |
instance_id |
Sí |
String |
ID de instancia, que es compatible con el formato UUID. |
node_id |
Sí |
String |
ID del nodo. |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
X-Auth-Token |
Sí |
String |
Token de usuario. Para obtener este valor, invoque a la API de IAM para obtener un token de usuario. El valor de X-Subject-Token en el encabezado de respuesta es el valor del token. |
X-Language |
No |
String |
Tipo de idioma de solicitud. El valor predeterminado es en-us. Valores:
|
Parámetros de respuesta
Código de estado: 200
Parámetro |
Tipo |
Descripción |
---|---|---|
list |
Array of DownloadSlowLogFileItem objects |
Enlaces para descargar registros de consultas lentas. |
count |
Integer |
Número de registros. |
Parámetro |
Tipo |
Descripción |
---|---|---|
job_id |
String |
ID de la tarea. |
file_name |
String |
Nombre de archivo. |
status |
String |
Estado. Valores:
|
file_size |
String |
Tamaño del archivo, en KB. |
file_link |
String |
Enlace de descarga. El enlace es válido durante 5 minutos. |
create_at |
Long |
Hora de la creación. |
updated_at |
Long |
Hora de actualización. |
Código de estado: 400
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Mensaje de error. |
Código de estado: 500
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Mensaje de error. |
Ejemplo de la solicitud
Obtención de enlaces para descargar registros de consultas lentas
POST https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances/6754902da1f447269c6979b0590102a5in07/941d21130b3c4899ad1a752a0945befdno07/slowlog-download
Ejemplo de la respuesta
Código de estado: 200
Operación exitosa.
{ "list" : [ { "job_id" : "73a5f4df-a111-4e09-b543-5ff3863eda71", "file_name" : "62b83dfd385f4d96afa6c7afd36dad7b_gaussdbformysql_slowlog_download_20240816081247776", "status" : "SUCCESS", "file_size" : 0, "file_link" : "https://obs.cn-southwest-244.ulanqab.huawei.com:443/dbsbucket-0-cn-southwest-244-ea3ffcbdb5cc4b5789a77884f9******/62b83dfd385f4d96afa6c7afd36dad7b_gaussdbformysql_slowlog_download_20240816081247776?AWSAccessKeyId=********************&Expires=1723796280&response-cache-control=no-cache%2Cno-store&Signature=51RXPvQJg2RSolfqCHOqF5********", "create_at" : 1723795967769, "updated_at" : 1723795980907 } ], "count" : 1 }
Ejemplo de código de SDK
El código de SDK de ejemplo es el siguiente.
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.gaussdb.v3.region.GaussDBRegion; import com.huaweicloud.sdk.gaussdb.v3.*; import com.huaweicloud.sdk.gaussdb.v3.model.*; public class DownloadSlowLogFileSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); String projectId = "{project_id}"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk); GaussDBClient client = GaussDBClient.newBuilder() .withCredential(auth) .withRegion(GaussDBRegion.valueOf("<YOUR REGION>")) .build(); DownloadSlowLogFileRequest request = new DownloadSlowLogFileRequest(); request.withInstanceId("{instance_id}"); request.withNodeId("{node_id}"); try { DownloadSlowLogFileResponse response = client.downloadSlowLogFile(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkgaussdb.v3.region.gaussdb_region import GaussDBRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkgaussdb.v3 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] projectId = "{project_id}" credentials = BasicCredentials(ak, sk, projectId) client = GaussDBClient.new_builder() \ .with_credentials(credentials) \ .with_region(GaussDBRegion.value_of("<YOUR REGION>")) \ .build() try: request = DownloadSlowLogFileRequest() request.instance_id = "{instance_id}" request.node_id = "{node_id}" response = client.download_slow_log_file(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
Go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" gaussdb "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/gaussdb/v3" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/gaussdb/v3/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/gaussdb/v3/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") projectId := "{project_id}" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() client := gaussdb.NewGaussDBClient( gaussdb.GaussDBClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.DownloadSlowLogFileRequest{} request.InstanceId = "{instance_id}" request.NodeId = "{node_id}" response, err := client.DownloadSlowLogFile(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
Más lenguajes de programación
Para obtener ejemplos de código de SDK en más lenguajes de programación, visite API Explorer y haga clic en la ficha Sample Code. Los ejemplos de código se pueden generar automáticamente.
Código de estado
Para más detalles, véase Códigos de estado.
Código de error
Para más detalles, véase Códigos de error.