Fornece recomendações de melhoria de esquema para seu cluster analisando suas 20 coleções mais ativas.
URL base: https://cloud.mongodb.com/api/public/v1.0
Resource
GET /groups/{PROJECT-ID}/performanceAdvisor/schemaAdvice
Parâmetros do caminho da solicitação
Parâmetro | Tipo | Descrição |
---|---|---|
ID do projeto | string | (Obrigatório.) Identificador exclusivo do projeto que possui essa implantação do MongoDB . Grupos e projetos são termos sinônimos. O ID do grupo é igual ao ID do projeto. |
Solicitar parâmetros de query
É necessário clusterId
ou hostId
.
Parâmetro | Tipo | Descrição |
---|---|---|
pretty | booleano | Indica se o corpo da resposta deve estar em um prettyprint formato. |
envelope | booleano | Indica se deseja ou não envolver a resposta em um envelope. |
clusterId | string | Identificador único de um conjunto de réplicas ou cluster fragmentado. Defina esse parâmetro como |
hostId | string | Identificador exclusivo da instância autônomo para a qual você deseja obter conselhos de esquema. Obrigatório se |
Parâmetros do corpo da solicitação
Este endpoint não usa parâmetros do corpo da solicitação HTTP.
Resposta
Nome | Tipo | Descrição |
---|---|---|
| lista de objetos | Contém ações sugeridas para melhoria do esquema por namespace. |
| objeto | Namespaces com sugestões de melhoria de esquema do Performance Advisor. |
| array | Lista de namespaces e informações sobre o motivo pelo qual esses namespaces acionaram uma recomendações. |
| string | Namespace da coleção afetada. Isto é |
| objeto | Detalhes sobre o trigger que ativou a recomendações. |
| string | Descrição do tipo de trigger. |
| string | Tipo de gatilho. As opções incluem:
|
| string | Descrição da recomendações especificada. |
| string | Tipo de recomendações. As opções incluem:
|
Exemplo de solicitação
curl --user '{PUBLIC-KEY}:{PRIVATE-KEY}' --digest \ --header 'Accept: application/json' \ --include \ --request GET 'https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/performanceAdvisor/schemaAdvice?clusterId={clusterId}&pretty=true'
Exemplo de resposta
Cabeçalho de resposta
401 Unauthorized Content-Type: application/json;charset=ISO-8859-1 Date: {dateInUnixFormat} WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false Content-Length: {requestLengthInBytes} Connection: keep-alive
200 OK Vary: Accept-Encoding Content-Type: application/json Strict-Transport-Security: max-age=300 Date: {dateInUnixFormat} Connection: keep-alive Content-Length: {requestLengthInBytes} X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
Corpo de resposta
{ "content" : { "recommendations" : [ { "affectedNamespaces" : [ { "namespace" : "someDb.someCollection", "triggers" : [ { "description" : "Documents larger than 2 MB found in the collection(s) scanned", "triggerType" : "DOC_SIZE_TOO_LARGE" } ] }, { "namespace" : "someDb1.someCollection1", "triggers" : [ { "description" : "Documents larger than 2 MB found in the collection(s) scanned", "triggerType" : "DOC_SIZE_TOO_LARGE" } ] } ], "description" : "Reduce the size of documents", "recommendation" : "REDUCE_DOCUMENT_SIZE" }, { "affectedNamespaces" : [ { "namespace" : "someDb2.someCollection2", "triggers" : [ { "description" : "More than 30 indexes detected in the collection(s) scanned", "triggerType" : "NUM_INDEXES" } ] }, { "namespace" : "someDb3.someCollection3", "triggers" : [ { "description" : "More than 30 indexes detected in the collection(s) scanned", "triggerType" : "NUM_INDEXES" } ] } ], "description" : "Remove unnecessary indexes", "recommendation" : "REMOVE_UNNECESSARY_INDEXES" }, { "affectedNamespaces" : [ { "namespace" : "someDb4.someCollection4", "triggers" : [ { "description" : "Arrays with over 10000 entries detected in the collection(s) scanned", "triggerType" : "DOCS_CONTAIN_UNBOUNDED_ARRAY" } ] } ], "description" : "Avoid using unbounded arrays in documents", "recommendation" : "AVOID_UNBOUNDED_ARRAY" } ] }, "status" : 200 }