Menu Docs
Página inicial do Docs
/ /
Atlas CLI
/

Personalizar a saída do Atlas CLI

Nesta página

  • Go templates
  • json-path Tipo de saída

Você pode personalizar os campos de saída e o formato do Atlas CLI usando um modelo Go ou um caminho JSON, o que facilita a automatização de processos com base no resultado do Atlas CLI.

Você pode especificar um modelo Go em qualquer comando do Atlas CLI ou por meio de um arquivo separado. Para saber mais sobre os modelos Go, consulte Modelo de pacote. Para saber os tipos e propriedades disponíveis para cada resposta, consulte Tipos de Atlas.

Você pode especificar um modelo com o comando utilizando a opção --output ou -o :

--output|-o go-template="{{<template>}}"

Alternativamente, você pode especificar um modelo por meio de um arquivo usando a opção --output ou -o :

--output|-o go-template-file="<path-to-template-file>"

O comando a seguir usa um modelo para recuperar uma contagem do número de projetos na organização especificada:

atlas projects ls --orgId 5ab5cedf5g5h5i5j5kl12mn4 -o go-template="Count: {{.TotalCount}}"

O comando anterior retorna a seguinte saída:

Count: 2

O comando atlas clusters describe a seguir usa o modelo para recuperar a connection string de um Atlas cluster chamado getStarted. Ele usa o perfil padrão para acessar o Atlas.

atlas clusters describe getStarted -o go-template="Parse: {{.SrvAddress}}"

O comando anterior retorna uma string semelhante à seguinte:

Parse: mongodb+srv://getstarted.example.mongodb.net

Você pode usar o MongoDB Shell, mongosh, para se conectar ao cluster getStarted com srvAddress e a connection string. Este exemplo utiliza a connection string retornada pelo comando anterior para um usuário com o nome de usuário User1.

mongo "mongodb+srv://getstarted.example.mongodb.net" --username User1 --password ChangeThisPasswordToSomethingSecure

Por exemplo, considere o seguinte arquivo chamado template.tmpl :

Projects: {{range .Results}}{{.ID}} {{end}}

O seguinte comando utiliza o arquivo template.tmpl para recuperar as ID do projeto na organização especificada:

atlas projects ls --orgId 5ab5cedf5g5h5i5j5kl12mn4 -o go-template-file="template.tmpl"

O comando anterior retorna a seguinte saída:

Projects: 5e2211c17a3e5a48f5497de3 5f455b39749bea5fb575dccc

O tipo de saída json-path limita os resultados de um comando aos campos que você especifica.

Ao adicionar a opção --output a um comando, você pode especificar o tipo json-path. Você deve fornecer a json-path uma expressão para avaliar em relação aos seus resultados, o que significa que você deve estar ciente dos campos json retornados pelo seu comando.

<command> --output|-o json-path='$<expression>'

json-path expressões referem-se ao elementoJSON que um comando Atlas CLI retorna. O caractere $ representa o elemento raiz, que geralmente é um objeto ou uma array.

Para obter uma lista de caracteres válidos e suas funções, consulte Expressões JSONPath.

No exemplo a seguir, um usuário recupera suas chaves de API com a lista de apiKeys da organização Atlas. A expressão json-path limita a saída ao campo desc da primeira chave, em vez de retornar toda a lista de chaves.

atlas organizations apikeys list --output json-path='$[0].desc'
> owner_key

A execução do mesmo comando com --output json retorna o elemento JSON completo da API. É importante entender a estrutura JSON retornada por um comando para operá-la com json-path.

Utilizando a seguinte saída JSON completa como referência, o --output json-path com a expressão $[0].desc localiza e retorna somente o valor "owner_key":

[ //``$`` represents the outer array.
{ // ``[0]`` refers to the first element in the array (using a 0-based index).
"id": "60e736a95d585d2c9ccf2d19",
"desc": "owner_key", //``.desc`` refers to the ``desc`` field of that element.
"roles": [
{
"orgId": "5d961a949ccf64b4e7f53bac",
"roleName": "ORG_OWNER"
}
],
"privateKey": "********-****-****-c4e26334754f",
"publicKey": "xtfmtguk"
},
{
"id": "d2c9ccf2d1960e736a95d585",
"desc": "member_key",
"roles": [
{
"orgId": "5d961a949ccf64b4e7f53bac",
"roleName": "ORG_MEMBER"
}
],
"privateKey": "********-****-****-c4e26334754f",
"publicKey": "vfgcttku"
},
]

No exemplo a seguir, um usuário recupera suas chaves de API com a lista de apiKeys da organização Atlas. A expressão json-path limita a saída ao campo desc do objeto JSON específico com id d2c9ccf2d1960e736a95d585.

atlas organizations apikeys list --output json-path='$[? @.id=="d2c9ccf2d1960e736a95d585"].desc'
> member_key

No exemplo a seguir, um usuário recupera informações para um endpoint privado com Atlas privateEndpoints Amazon Web Services describe. A expressão json-path limita a saída ao campo status do elemento raiz.

atlas privateendpoints aws describe 601a4044da900269480a2533 --output json-path='$.status'
> WAITING_FOR_USER

Voltar

Variáveis de ambiente

Próximo

Configurar telemetria