Devuelve el resumen de metadatos y estadísticas para un hash de forma de consulta determinado.
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-]*$.
Un hash SHA256 de una forma de consulta, generado por comandos MongoDB como $queryStats y $explain o registros de consultas lentas.
El formato debe coincidir con el siguiente patrón: ^([a-fA-F0-9]{64})$.
Indicador que indica si la aplicación encapsula la respuesta en un objeto JSON envelope. Algunos clientes de la API no pueden acceder a los encabezados de respuesta HTTP ni al código de estado. Para solucionar esto, configure envelope=true en la consulta. Los endpoints que devuelven una lista de resultados utilizan el objeto de resultados como encapsulado. La aplicación añade el parámetro de estado al cuerpo de la respuesta.
El valor predeterminado es false.
Bandera que indica si el cuerpo de la respuesta debe estar en formato prettyprint.
El valor predeterminado es false.
Fecha y hora de recuperación de las estadísticas de forma de la consulta. Este parámetro expresa su valor en milisegundos transcurridos desde la época UNIX.
El valor mínimo es 1199145600000.
Fecha y hora hasta la que se recuperan las estadísticas de la forma de la consulta. Este parámetro expresa su valor en milisegundos transcurridos desde la época de UNIX.
El valor mínimo es 1199145600000.
ID de proceso de los que se obtienen las estadísticas de forma de consulta. Un processId es 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 (mongod o mongos). El puerto debe ser el puerto IANA en el que el proceso de MongoDB recibe las solicitudes. Para incluir varios processIds, pase el parámetro varias veces, delimitado por un símbolo & (&) entre cada processId.
No más de 10 elementos. 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})$.
atlas api queryShapeInsights getQueryShapeDetails --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20250312001/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.GetGroupClusterQueryShapeInsightDetailsApiParams{}
sdkResp, httpResp, err := client.QueryShapeInsightsApi.
GetGroupClusterQueryShapeInsightDetailsWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2025-03-12+json" \
-X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/queryShapeInsights/{queryShapeHash}/details?pretty=true"
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2025-03-12+json" \
-X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/queryShapeInsights/{queryShapeHash}/details?pretty=true"
{
"firstSeen": {
"applicationName": "string",
"driverName": "string",
"driverVersion": "string",
"timestamp": 42
},
"lastSeen": {
"applicationName": "string",
"driverName": "string",
"driverVersion": "string",
"timestamp": 42
},
"queryStats": {
"avgWorkingMillis": 42.0,
"bytesRead": 42.0,
"command": "find",
"docsExamined": 42.0,
"docsExaminedRatio": 42.0,
"docsReturned": 42.0,
"execCount": 42.0,
"keysExamined": 42.0,
"keysExaminedRatio": 42.0,
"lastExecMicros": 42.0,
"namespace": "string",
"p50ExecMicros": 42.0,
"p90ExecMicros": 42.0,
"p99ExecMicros": 42.0,
"queryShape": "string",
"queryShapeHash": "string",
"systemQuery": true,
"totalTimeToResponseMicros": 42.0,
"totalWorkingMillis": 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"
}