Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ TaurusDB/ Referencia de la API/ Las API (recomendadas)/ Gestión de registros/ Obtención de enlaces para descargar registros de consultas lentas
Actualización más reciente 2025-03-21 GMT+08:00

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:

URI

POST /v3/{project_id}/instances/{instance_id}/{node_id}/slowlog-download

Tabla 1 Parámetros de URI

Parámetro

Obligatorio

Tipo

Descripción

project_id

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

String

ID de instancia, que es compatible con el formato UUID.

node_id

String

ID del nodo.

Parámetros de solicitud

Tabla 2 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

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:

  • en-us
  • zh-cn

Parámetros de respuesta

Código de estado: 200

Tabla 3 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

list

Array of DownloadSlowLogFileItem objects

Enlaces para descargar registros de consultas lentas.

count

Integer

Número de registros.

Tabla 4 DownloadSlowLogFileItem

Parámetro

Tipo

Descripción

job_id

String

ID de la tarea.

file_name

String

Nombre de archivo.

status

String

Estado.

Valores:

  • SUCCESS: Se ha generado el enlace de descarga.
  • EXPORTING: Se está generando el enlace de descarga.
  • FAILED: Error al generar el enlace de descarga.

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

Tabla 5 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 500

Tabla 6 Parámetros del cuerpo de respuesta

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.