Devuelve los índices sugeridos por el Asesor de Rendimiento. El Asesor de Rendimiento supervisa las consultas que MongoDB considera lentas y sugiere nuevos índices para mejorar el rendimiento de las consultas. 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
-
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})$. -
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-]*$.
Parámetros de consulta
-
ID de proceso desde los cuales se recuperan los índices sugeridos. Un
processIdes una combinación de host y puerto que sirve al proceso de MongoDB. El host debe ser el nombre de host, el FQDN, la dirección IPv4 o la dirección IPv6 del host que ejecuta el proceso de MongoDB (mongodomongos). El puerto debe ser el puerto IANA en el que el proceso de MongoDB recibe solicitudes. Para incluir variosprocessIds, pase el parámetro varias veces, delimitado por un símbolo & (&) entre cadaprocessId.El formato de cada uno debe coincidir con el siguiente patrón:
^([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9a-f]{1,4}\:){7}([0-9a-f]{1,4})|(([a-z0-9]+\.){1,10}[a-z]+)?(\:[0-9]{4,5})$. -
Espacios de nombres de los que se pueden obtener los índices sugeridos. Un espacio de nombres consta de una base de datos y un recurso de colección, escrito como
.:<database>.<collection>. Para incluir varios espacios de nombres, pase el parámetro varias veces, delimitado por un símbolo & (&) entre cada espacio de nombres. Omita este parámetro para obtener resultados para todos los espacios de nombres. -
Fecha y hora a partir de las cuales la consulta recupera los índices sugeridos. Este parámetro expresa su valor en milisegundos transcurridos desde la época UNIX.
- Si no especifica el parámetro hasta, el punto final devuelve datos que abarcan desde el valor desde y la hora actual.
- Si no especificas los parámetros since o until, el endpoint devuelve datos de las 24 horas anteriores.
El valor mínimo es
1199145600000. -
Fecha y hora hasta la cual la consulta recupera los índices sugeridos. Este parámetro expresa su valor en milisegundos transcurridos desde la época UNIX.
- Si especifica el parámetro hasta,debe especificar el parámetro desde.
- Si no especificas los parámetros since o until, el endpoint devuelve datos de las 24 horas anteriores.
El valor mínimo es
1199145600000.
atlas api performanceAdvisor listClusterSuggestedIndexes --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20250219001/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.ListGroupClusterPerformanceAdvisorSuggestedIndexesApiParams{}
sdkResp, httpResp, err := client.PerformanceAdvisorApi.
ListGroupClusterPerformanceAdvisorSuggestedIndexesWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2025-02-19+json" \
-X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/performanceAdvisor/suggestedIndexes?pretty=true"
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2025-02-19+json" \
-X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/performanceAdvisor/suggestedIndexes?pretty=true"
{
"shapes": [
{
"avgMs": 42,
"count": 42,
"id": "32b6e34b3d91647abb20e7b8",
"inefficiencyScore": 42,
"namespace": "string",
"operations": [
{
"predicates": [
{}
],
"stats": {
"ms": 42,
"nReturned": 42,
"nScanned": 42,
"ts": 42
}
}
]
}
],
"suggestedIndexes": [
{
"avgObjSize": 42.0,
"id": "32b6e34b3d91647abb20e7b8",
"impact": [
"string"
],
"index": [
{
"additionalProperty1": 1,
"additionalProperty2": 1
}
],
"namespace": "string",
"weight": 42.0
}
]
}
{
"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"
}
{
"error": 401,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Unauthorized",
"errorCode": "NOT_ORG_GROUP_CREATOR"
}
{
"error": 403,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Forbidden",
"errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
{
"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"
}
{
"error": 429,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Too Many Requests",
"errorCode": "RATE_LIMITED"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}