Asesoramiento sobre el esquema de devolución

Obtener /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/performanceAdvisor/schemaAdvice

Devuelve las sugerencias de esquema que detecta el Asesor de Rendimiento. El Asesor de Rendimiento proporciona recomendaciones de esquema integrales para su clúster mediante el muestreo de documentos en sus colecciones más activas y colecciones con consultas de ejecución lenta. Para usar este recurso, la cuenta de servicio o la clave API solicitantes deben tener el rol de solo lectura del proyecto.

Parámetros de ruta

  • ID de grupo string Requerido

    Cadena 24hexadecimal única que identifica su proyecto. Utilice el punto de conexión /groups para recuperar todos los proyectos a los que el usuario autenticado tiene acceso.

    NOTA: Grupos y proyectos son términos sinónimos. El ID de tu grupo es el mismo que el de tu proyecto. Para los grupos existentes, el ID de tu grupo/proyecto permanece igual. El recurso y los puntos finales correspondientes usan el término "grupos".

    El formato debe coincidir con el siguiente patrón: ^([a-f0-9]{24})$.

  • nombre del clúster string Requerido

    Etiqueta legible por humanos que identifica el clúster.

    El formato debe coincidir con el siguiente patrón: ^[a-zA-Z0-9][a-zA-Z0-9-]*$.

Respuestas

  • 200 application/vnd.atlas.2024-08-05+json

    Vale

    Ocultar atributo de respuesta Mostrar atributo de respuesta Objeto
    • recomendaciones matriz[objeto]

      Listado que contiene los documentos con información sobre los consejos de esquema que Performance Advisor sugiere.

      Ocultar atributos de recomendaciones Mostrar atributos de recomendaciones Objeto
      • affectedNamespaces matriz[objeto]

        Lista que contiene los espacios de nombres e información sobre por qué esos espacios de nombres activaron la recomendación.

        Ocultar atributos de espacios de nombres afectados Mostrar atributos de espacios de nombres afectados Objeto
        • namespace cadena | nulo

          Espacio de nombres de la colección afectada. Será nulo para la recomendación REDUCE_NUMBER_OF_NAMESPACE.

        • disparadores matriz[objeto]

          Lista de desencadenadores que especifican por qué la colección activó la recomendación.

          Ocultar atributos de los desencadenadores Mostrar atributos de los activadores Objeto
          • Descripción string

            Descripción del tipo de disparador.

          • tipo de disparador string

            Tipo de disparador.

            Los valores son PERCENT_QUERIES_USE_LOOKUP, NUMBER_OF_QUERIES_USE_LOOKUP, DOCS_CONTAIN_UNBOUNDED_ARRAY, NUMBER_OF_NAMESPACES, DOC_SIZE_TOO_LARGE, NUM_INDEXES o QUERIES_CONTAIN_CASE_INSENSITIVE_REGEX.

      • Descripción string

        Descripción de la recomendación especificada.

      • recomendación string

        Tipo de recomendación.

        Los valores son REDUCE_LOOKUP_OPS, AVOID_UNBOUNDED_ARRAY, REDUCE_DOCUMENT_SIZE, REMOVE_UNNECESSARY_INDEXES, REDUCE_NUMBER_OF_NAMESPACES, OPTIMIZE_CASE_INSENSITIVE_REGEX_QUERIES o OPTIMIZE_TEXT_QUERIES.

  • 400 aplicación/json

    Solicitud incorrecta.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecto.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos matriz[objeto]

        Describe todas las violaciones en una solicitud de cliente.

        Ocultar atributos de campos Mostrar atributos de campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros matriz[objeto]

      Parámetros utilizados para dar más información sobre el error.

    • razón string

      Se devolvió un mensaje de error de aplicación con este error.

  • 401 aplicación/json

    No autorizado.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecto.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos matriz[objeto]

        Describe todas las violaciones en una solicitud de cliente.

        Ocultar atributos de campos Mostrar atributos de campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros matriz[objeto]

      Parámetros utilizados para dar más información sobre el error.

    • razón string

      Se devolvió un mensaje de error de aplicación con este error.

  • 403 aplicación/json

    Forbidden.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecto.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos matriz[objeto]

        Describe todas las violaciones en una solicitud de cliente.

        Ocultar atributos de campos Mostrar atributos de campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros matriz[objeto]

      Parámetros utilizados para dar más información sobre el error.

    • razón string

      Se devolvió un mensaje de error de aplicación con este error.

  • 404 aplicación/json

    No se encontró.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecto.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos matriz[objeto]

        Describe todas las violaciones en una solicitud de cliente.

        Ocultar atributos de campos Mostrar atributos de campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros matriz[objeto]

      Parámetros utilizados para dar más información sobre el error.

    • razón string

      Se devolvió un mensaje de error de aplicación con este error.

  • 429 aplicación/json

    Demasiadas solicitudes.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecto.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos matriz[objeto]

        Describe todas las violaciones en una solicitud de cliente.

        Ocultar atributos de campos Mostrar atributos de campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros matriz[objeto]

      Parámetros utilizados para dar más información sobre el error.

    • razón string

      Se devolvió un mensaje de error de aplicación con este error.

  • 500 aplicación/json

    Error Interno del Servidor.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecto.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos matriz[objeto]

        Describe todas las violaciones en una solicitud de cliente.

        Ocultar atributos de campos Mostrar atributos de campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros matriz[objeto]

      Parámetros utilizados para dar más información sobre el error.

    • razón string

      Se devolvió un mensaje de error de aplicación con este error.

GET /api/atlas/v2/groups/{groupId}/clústeres/{clusterName}/performanceAdvisor/schemaAdvice
atlas api performanceAdvisor listSchemaAdvice --help
import (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20241023001/admin"
)

func main() {
	ctx := context.Background()
	clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
	clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")

	// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
	client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))

	if err != nil {
		log.Fatalf("Error: %v", err)
	}

	params = &sdk.ListGroupClusterPerformanceAdvisorSchemaAdviceApiParams{}
	sdkResp, httpResp, err := client.PerformanceAdvisorApi.
		ListGroupClusterPerformanceAdvisorSchemaAdviceWithParams(ctx, params).
		Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header "Accept: application/vnd.atlas.2024-10-23+json" \
  -X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/performanceAdvisor/schemaAdvice?pretty=true"
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
  --digest --include \
  --header "Accept: application/vnd.atlas.2024-10-23+json" \
  -X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/performanceAdvisor/schemaAdvice?pretty=true"
Ejemplos de respuestas (200)
{
  "recommendations": [
    {
      "affectedNamespaces": [
        {
          "namespace": "string",
          "triggers": [
            {
              "description": "string",
              "triggerType": "PERCENT_QUERIES_USE_LOOKUP"
            }
          ]
        }
      ],
      "description": "string",
      "recommendation": "REDUCE_LOOKUP_OPS"
    }
  ]
}
Ejemplos de respuestas (400)
{
  "error": 400,
  "detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
  "reason": "Bad Request",
  "errorCode": "VALIDATION_ERROR"
}
Ejemplos de respuestas (401)
{
  "error": 401,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Unauthorized",
  "errorCode": "NOT_ORG_GROUP_CREATOR"
}
Ejemplos de respuestas (403)
{
  "error": 403,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Forbidden",
  "errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
Ejemplos de respuestas (404)
{
  "error": 404,
  "detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
  "reason": "Not Found",
  "errorCode": "RESOURCE_NOT_FOUND"
}
Ejemplos de respuestas (429)
{
  "error": 429,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Too Many Requests",
  "errorCode": "RATE_LIMITED"
}
Ejemplos de respuestas (500)
{
  "error": 500,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Internal Server Error",
  "errorCode": "UNEXPECTED_ERROR"
}