Retornar todos os índices sugeridos

OBTER /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/performanceAdvisor/suggestedIndexes

Retorna os índices sugeridos pelo Performance Advisor. O Performance Advisor monitora as queries que o MongoDB considera lentas e sugere novos índices para melhorar o desempenho das queries. Para usar esse recurso, a conta de serviço ou a chave de API solicitante deve ter a função somente leitura do projeto.

parâmetros de caminho

  • groupId string Obrigatório

    Sequência única de 24dígitos hexadecimais que identifica seu projeto. Use o endpoint /groups para extrair todos os projetos aos quais o usuário autenticado tem acesso.

    AVISO: grupos e projetos são termos sinônimos. O ID do seu grupo é igual ao ID do seu projeto. Para grupos existentes, o ID do grupo/projeto permanece o mesmo. O recurso e os endpoints correspondentes usam o termo grupos.

    O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.

  • clusterName string Obrigatório

    Etiqueta legível por humanos que identifica o cluster.

    O formato deve corresponder ao seguinte padrão: ^[a-zA-Z0-9][a-zA-Z0-9-]*$.

parâmetros de query

  • processIds array[string]

    ProcessIds dos quais recuperar índices sugeridos. Um processId é uma combinação de host e porta que atende ao processo do MongoDB. O host deve ser o nome do host, FQDM, endereço IPv4 ou endereço IPv6 do host que executa o processo MongoDB (mongod ou mongos). A porta deve ser a porta IANA na qual o processo do MongoDB escuta as solicitações. Para incluir vários processIds, passe o parâmetro várias vezes delimitado com um e comercial (&) entre cada processId.

    O formato de cada um deve corresponder ao seguinte padrão: ^([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})$.

  • namespaces array[string]

    Namespaces dos quais recuperar índices sugeridos. Um namespace consiste em um banco de dados e um recurso de coleção escrito como .: <database>.<collection>. Para incluir vários namespaces, passe o parâmetro várias vezes, delimitados por um ampersand (&) entre cada namespace. Omita este parâmetro para retornar resultados de todos os namespaces.

  • desde integer(int64)

    Data e hora a partir das quais a query recupera os índices sugeridos. Esse parâmetro expressa seu valor no número de milissegundos decorridos desde a Era UNIX.

    • Se você não especificar o parâmetro until, o endpoint retornará os dados que abrangem o valor since e a hora atual.
    • Se você não especificar nem os parâmetros desde nem até, o ponto de extremidade retornará dados das 24 horas anteriores.

    O valor mínimo é 1199145600000.

  • até que integer(int64)

    Data e hora até as quais a consulta recupera os índices sugeridos. Esse parâmetro expressa seu valor no número de milissegundos decorridos desde a Era UNIX.

    • Se você especificar o parâmetro until, deverá especificar o parâmetro since.
    • Se você não especificar nem os parâmetros desde nem até, o ponto de extremidade retornará dados das 24 horas anteriores.

    O valor mínimo é 1199145600000.

Respostas

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

    OK

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • formas array[objeto]

      Lista de predicados de query, classificações e projeções que o Performance Advisor sugere.

      Ocultar atributos de formas Mostrar atributos das formas objeto
      • avgMs integer(int64)

        Duração média em milissegundos para as queries examinadas que correspondem a esta forma.

      • contar integer(int64)

        Número de queries examinadas que correspondem a esta forma.

      • id string

        String única de 24dígitos hexadecimais que identifica esta forma. Essa string existe apenas durante a solicitação de API.

        O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.

      • ineficiênciaScore integer(int64)

        Número médio de documentos lidos para cada documento que a query retorna.

        Noções básicas sobre a pontuação de ineficiência da query
      • namespace string

        Rótulo legível por humanos que identifica o namespace no host especificado. O recurso expressa este valor de parâmetro como <database>.<collection>.

      • operations array[objeto]

        Lista que contém informações específicas sobre queries individuais.

        Ocultar atributos de operações Mostrar atributos de operações objeto
        • predicados array[objeto]

          Lista que contém os critérios de pesquisa que a query utiliza. Para usar os valores em pares de chave-valor nesses predicados requer permissões Somente Leitura de Acesso a Dados do Projeto ou superiores. Caso contrário, a MongoDB Cloud edita esses valores.

          Lista que contém os critérios de pesquisa que a query utiliza. Para usar os valores em pares de chave-valor nesses predicados requer permissões Somente Leitura de Acesso a Dados do Projeto ou superiores. Caso contrário, a MongoDB Cloud edita esses valores.

          Lista que contém os critérios de pesquisa que a query utiliza. Para usar os valores em pares de chave-valor nesses predicados requer permissões Somente Leitura de Acesso a Dados do Projeto ou superiores. Caso contrário, a MongoDB Cloud edita esses valores.

        • estatísticas objeto

          Detalhes que este recurso retornou sobre a query especificada.

          Ocultar atributos de estatísticas Mostrar atributos de estatísticas objeto
          • ms integer(int64)

            Duração do tempo expressa durante a qual a query encontra índices sugeridos entre os namespaces gerenciados no cluster. Este parâmetro expressa seu valor em milissegundos. Este parâmetro está relacionado ao parâmetro de consulta de duração .

          • nRetornado integer(int64)

            Número de resultados que a query retorna.

          • nScanned integer(int64)

            Número de documentos que a query leu.

          • Typescript integer(int64)

            Data e hora a partir das quais a query recupera os índices sugeridos. Este parâmetro expressa seu valor no número de segundos decorridos desde a UNIX epoch. Este parâmetro está relacionado ao parâmetro de consulta desde.

            UNIX Epoch
    • índices sugeridos array[objeto]

      Lista que contém os documentos com informações sobre os índices sugeridos pelo Performance Advisor.

      Ocultar atributos suggestedIndexes Mostrar atributos suggestedIndexes objeto
      • avgObjSize número (duplo)

        O tamanho médio de um objeto na coleção deste índice.

      • id string

        String única de 24dígitos hexadecimais que identifica este índice.

        O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.

      • Impacto array[string]

        Lista que contém uma cadeia de caracteres exclusiva 24hexadecimal que identifica as formas de query nessa resposta que o Performance Advisor sugere.

      • index array[objeto]

        Lista que contém documentos que especificam uma chave no índice e sua ordem de classificação.

        Uma chave de índice emparelhada com sua ordem de classificação. Um valor de 1 indica uma ordem de classificação crescente. Um valor de -1 indica uma ordem de classificação decrescente. As chaves em índices com múltiplas chaves aparecem na mesma ordem em que aparecem no índice.

        Ocultar atributo do índice Mostrar atributo do índice objeto
        • * integer(int32) Propriedades adicionais

          Uma chave de índice emparelhada com sua ordem de classificação. Um valor de 1 indica uma ordem de classificação crescente. Um valor de -1 indica uma ordem de classificação decrescente. As chaves em índices com múltiplas chaves aparecem na mesma ordem em que aparecem no índice.

          Os valores são 1 ou -1.

      • namespace string

        Rótulo legível por humanos que identifica o namespace no host especificado. O recurso expressa este valor de parâmetro como <database>.<collection>.

      • Peso número (duplo)

        Melhoria de desempenho estimada fornecida pelo índice sugerido. Esse valor corresponde a Impacto na interface do usuário do Performance Advisor.

  • 400 aplicação/json

    Solicitação inválida.

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • badRequestDetail objeto

      Detalhes da solicitação inválida.

      Ocultar atributo ruimRequestDetail Mostrar atributo ruimRequestDetail objeto
      • Campos array[objeto]

        Descreve todas as violações em uma solicitação do cliente .

        Ocultar atributos de campos Mostrar atributos dos campos objeto
        • Descrição string Obrigatório

          Uma descrição do motivo pelo qual o elemento de solicitação é incorreto.

        • Campo string Obrigatório

          Um caminho que leva a um campo no corpo da solicitação.

    • detalhe string

      Descreve as condições ou os motivos específicos que causam cada tipo de erro.

    • Erro integer(int32) Obrigatório

      O código de status HTTP retornado com este erro.

      Documentação externa
    • Código de erro string Obrigatório

      Código de erro do aplicativo retornado com esse erro.

    • Parâmetros array[objeto]

      Parâmetros usados para fornecer mais informações sobre o erro.

    • Razão string

      Mensagens de erro de aplicativo retornadas com este erro.

  • 401 aplicação/json

    Não autorizado.

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • badRequestDetail objeto

      Detalhes da solicitação inválida.

      Ocultar atributo ruimRequestDetail Mostrar atributo ruimRequestDetail objeto
      • Campos array[objeto]

        Descreve todas as violações em uma solicitação do cliente .

        Ocultar atributos de campos Mostrar atributos dos campos objeto
        • Descrição string Obrigatório

          Uma descrição do motivo pelo qual o elemento de solicitação é incorreto.

        • Campo string Obrigatório

          Um caminho que leva a um campo no corpo da solicitação.

    • detalhe string

      Descreve as condições ou os motivos específicos que causam cada tipo de erro.

    • Erro integer(int32) Obrigatório

      O código de status HTTP retornado com este erro.

      Documentação externa
    • Código de erro string Obrigatório

      Código de erro do aplicativo retornado com esse erro.

    • Parâmetros array[objeto]

      Parâmetros usados para fornecer mais informações sobre o erro.

    • Razão string

      Mensagens de erro de aplicativo retornadas com este erro.

  • 403 aplicação/json

    Forbidden.

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • badRequestDetail objeto

      Detalhes da solicitação inválida.

      Ocultar atributo ruimRequestDetail Mostrar atributo ruimRequestDetail objeto
      • Campos array[objeto]

        Descreve todas as violações em uma solicitação do cliente .

        Ocultar atributos de campos Mostrar atributos dos campos objeto
        • Descrição string Obrigatório

          Uma descrição do motivo pelo qual o elemento de solicitação é incorreto.

        • Campo string Obrigatório

          Um caminho que leva a um campo no corpo da solicitação.

    • detalhe string

      Descreve as condições ou os motivos específicos que causam cada tipo de erro.

    • Erro integer(int32) Obrigatório

      O código de status HTTP retornado com este erro.

      Documentação externa
    • Código de erro string Obrigatório

      Código de erro do aplicativo retornado com esse erro.

    • Parâmetros array[objeto]

      Parâmetros usados para fornecer mais informações sobre o erro.

    • Razão string

      Mensagens de erro de aplicativo retornadas com este erro.

  • 404 aplicação/json

    Não encontrado.

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • badRequestDetail objeto

      Detalhes da solicitação inválida.

      Ocultar atributo ruimRequestDetail Mostrar atributo ruimRequestDetail objeto
      • Campos array[objeto]

        Descreve todas as violações em uma solicitação do cliente .

        Ocultar atributos de campos Mostrar atributos dos campos objeto
        • Descrição string Obrigatório

          Uma descrição do motivo pelo qual o elemento de solicitação é incorreto.

        • Campo string Obrigatório

          Um caminho que leva a um campo no corpo da solicitação.

    • detalhe string

      Descreve as condições ou os motivos específicos que causam cada tipo de erro.

    • Erro integer(int32) Obrigatório

      O código de status HTTP retornado com este erro.

      Documentação externa
    • Código de erro string Obrigatório

      Código de erro do aplicativo retornado com esse erro.

    • Parâmetros array[objeto]

      Parâmetros usados para fornecer mais informações sobre o erro.

    • Razão string

      Mensagens de erro de aplicativo retornadas com este erro.

  • 429 aplicação/json

    Muitas solicitações.

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • badRequestDetail objeto

      Detalhes da solicitação inválida.

      Ocultar atributo ruimRequestDetail Mostrar atributo ruimRequestDetail objeto
      • Campos array[objeto]

        Descreve todas as violações em uma solicitação do cliente .

        Ocultar atributos de campos Mostrar atributos dos campos objeto
        • Descrição string Obrigatório

          Uma descrição do motivo pelo qual o elemento de solicitação é incorreto.

        • Campo string Obrigatório

          Um caminho que leva a um campo no corpo da solicitação.

    • detalhe string

      Descreve as condições ou os motivos específicos que causam cada tipo de erro.

    • Erro integer(int32) Obrigatório

      O código de status HTTP retornado com este erro.

      Documentação externa
    • Código de erro string Obrigatório

      Código de erro do aplicativo retornado com esse erro.

    • Parâmetros array[objeto]

      Parâmetros usados para fornecer mais informações sobre o erro.

    • Razão string

      Mensagens de erro de aplicativo retornadas com este erro.

  • 500 aplicação/json

    Erro interno do servidor.

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • badRequestDetail objeto

      Detalhes da solicitação inválida.

      Ocultar atributo ruimRequestDetail Mostrar atributo ruimRequestDetail objeto
      • Campos array[objeto]

        Descreve todas as violações em uma solicitação do cliente .

        Ocultar atributos de campos Mostrar atributos dos campos objeto
        • Descrição string Obrigatório

          Uma descrição do motivo pelo qual o elemento de solicitação é incorreto.

        • Campo string Obrigatório

          Um caminho que leva a um campo no corpo da solicitação.

    • detalhe string

      Descreve as condições ou os motivos específicos que causam cada tipo de erro.

    • Erro integer(int32) Obrigatório

      O código de status HTTP retornado com este erro.

      Documentação externa
    • Código de erro string Obrigatório

      Código de erro do aplicativo retornado com esse erro.

    • Parâmetros array[objeto]

      Parâmetros usados para fornecer mais informações sobre o erro.

    • Razão string

      Mensagens de erro de aplicativo retornadas com este erro.

GET /api/atlas/v2/groups/{groupId}/clusters/{clusterName}/performanceAdvisor/suggestedIndexes
atlas api performanceAdvisor listGroupClusterPerformanceAdvisorSuggestedIndexes --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.ListGroupClusterPerformanceAdvisorSuggestedIndexesApiParams{}
	sdkResp, httpResp, err := client.PerformanceAdvisorApi.
		ListGroupClusterPerformanceAdvisorSuggestedIndexesWithParams(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}/performanceAdvisor/suggestedIndexes?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}/performanceAdvisor/suggestedIndexes?pretty=true"
Exemplos de resposta (200)
{
  "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
    }
  ]
}
Exemplos de resposta (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"
}
Exemplos de resposta (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"
}
Exemplos de resposta (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"
}
Exemplos de resposta (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"
}
Exemplos de resposta (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"
}
Exemplos de resposta (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"
}