A Voyage AI se une ao MongoDB para impulsionar aplicativos de AI mais precisos e confiáveis no Atlas.

Explore o novo chatbot do Developer Center! O MongoDB AI chatbot pode ser acessado na parte superior da sua navegação para responder a todas as suas perguntas sobre o MongoDB .

Desenvolvedor do MongoDB
Centro de desenvolvedores do MongoDB
chevron-right
Produtos
chevron-right
Atlas
chevron-right

Estendendo o MongoDB Atlas CLI com plug-ins personalizados

Jeroen Vervaeke4 min read • Published Jan 16, 2025 • Updated Jan 16, 2025
Atlas
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Estamos muito satisfeitos em anunciar um novo e eficiente recurso para a Interface da linha de comando (CLI) do MongoDB Atlas : suporte a plugin! Esta adição permite aos desenvolvedores estender a funcionalidade do Atlas CLI utilizando sua linguagem de programação e ferramentas preferidas. Este post explorará como os plug-ins funcionam e o orientará na criação de seu primeiro plugin-in Atlas CLI .
O sistema de plugin-in Atlas CLI abre novas possibilidades para personalização e contribuições da comunidade. Se você deseja adicionar comandos especializados para o fluxo de trabalho de sua equipe ou contribuir com novos recursos para a comunidade MongoDB mais ampla, os plug-ins tornam isso mais fácil do que nunca.
O que torna esse recurso particularmente interessante é a sua flexibilidade. Enquanto fornecemos suporte oficial e bibliotecas assistente para Go, você pode escrever plug-ins em qualquer linguagem de programação (veja um exemplo do Rust ) que possa ser compilado em um executável binário. Essa livre escolha garante que os desenvolvedores possam contribuir para o ecossistema Atlas CLI usando as ferramentas com as quais se sentirem mais à vontade.
Aqui estão algumas ideias de plugins que você pode escrever para a CLI do MongoDB Atlas :
  • Automatização dos fluxos de trabalho de implementação da sua empresa
  • Aplicação de políticas de segurança personalizadas
  • Gerenciamento de configurações específicas do ambiente
  • Implementação de estratégias de backup específicas da equipe
  • Criar ferramentas de gerenciamento do ciclo de vida dos dados que se alinham às suas regras de negócios
Mas essas são apenas algumas ideias - a sua imagiação é o limite!

Como os plug-ins funcionam

Em seu núcleo, um plugin-in Atlas CLI consiste em dois componentes essenciais: um arquivo de manifesto e um executável binário. Vamos analisar como eles funcionam juntos.

O arquivo de manifesto

O arquivo de manifestomanifest.yml() é o modelo do seu plugin-in. Ele define metadados sobre seu plugin-in e declara quais subcomandos ele fornece. Aqui está um exemplo:
1name: atlas-cli-plugin-example
2description: this is an example plugin
3version: 2.0.1
4github:
5 owner: mongodb
6 name: atlas-cli-plugin-example
7binary: binary
8commands:
9 example:
10 description: Root command of the atlas cli plugin example
Cada campo do manifesto serve a um propósito específico:
  • name: o identificador do seu plugin
  • description: Uma breve explicação da funcionalidade do seu plug-in
  • version: A versão semântica do seu plugin
  • github: Informações do repositório (necessárias para atualizações)
  • binary: o nome do arquivo executável do seu plugin
  • commands: Os subcomandos fornecidos pelo plugin-in

Execução do plugin

Nesta seção, explicaremos como funciona a execução de comandos no sistema de plugin-in Atlas CLI . Entender esse processo é crucial para os desenvolvedores, pois ele mostra como seu plugin-in interage com o aplicação CLI principal.
Quando um usuário executa um comando de plugin , por exemplo:
1atlas example-plugin do-something --flag value
O Atlas CLI segue um processo simples:
  1. Localiza o binário do plugin
  2. Executa com os argumentos fornecidos: binary do-something --flag value
  3. Pipe stdin, stdout e stderr entre o plugin e o usuário
Este modelo de execução garante a integração perfeita entre seu plugin e o Atlas CLI. Do ponto de vista do usuário, os comandos de plugin-in se comportam como comandos integrados, proporcionando uma experiência consistente em toda a CLI.

Criando seu primeiro plugin Atlas CLI

Vamos mostrar como criar um plugin-in usando Go. Usaremos o Go porque ele fornece acesso à biblioteca assistente oficial atlas-cli-core do, simplificando tarefas comuns como a autenticação do usuário e a integração do Atlas SDK.
Para facilitar os primeiros passos, criamos um repositório de modelos que inclui tudo o que você precisa para criar um plugin-in. Este repositório contém vários comandos de exemplo que demonstram diferentes recursos de plugin-in . Um desses exemplos é o comando hello, que você pode experimentar instalando o plugin de exemplo e executando atlas example hello— ele simplesmente imprime "Hello World! "
Neste tutorial, usaremos este modelo como nosso ponto de partida e modificaremos o comando hello para imprimir "Hello World, from my first Atlas CLI plugin! no lugar. Isso ajudará você a entender a estrutura básica de um plugin e como fazer alterações na funcionalidade existente.

Pré-requisitos

  • Uma conta do Github
  • Go instalado no seu sistema
  • Um IDE com suporte Go (recomendado)

Guia passo a passo

1. Crie seu repositório de plugin

  1. Navegue até Github.
  2. Clique no botão "Usar este modelo" no canto superior direito.
  3. Preencha os detalhes do seu repositório e crie o novo repositório.
    • Verifique se o repositório é público. Isso é necessário para instalar seu plugin atlas install usando.
  4. Clone seu novo repositório:
1git clone https://github.com/your-github-username/your-repository-name

2. Configurar seu plugin-in

Atualize o manifest.template.yml arquivo com as informações do seu plugin:
1name: blog-example
2description: this is an example plugin
3version: $VERSION
4github:
5 owner: $GITHUB_REPOSITORY_OWNER
6 name: $GITHUB_REPOSITORY_NAME
7binary: binary
8commands:
9 blog-example:
10 description: Root command of the atlas cli plugin example
Observação : você não precisa atualizar os $VERSION $GITHUB_REPOSITORY_OWNER $GITHUB_REPOSITORY_NAME espaços reservados , e nos arquivos de fluxo de trabalho do Github. Esses valores são preenchidos automaticamente com base nas informações do seu repositório.
Em seguida, modifique cmd/plugin/main.go para atualizar o comando raiz:
1func main() {
2 exampleCmd := &cobra.Command{
3 Use: "blog-example",
4 Short: "Root command of the atlas cli plugin example",
5 }
6 exampleCmd.AddCommand(
7 hello.Builder(),
8 // other commands…
9 )
10 // ... rest of the main function
11}
Isso altera o comando raiz de example para blog-example, o que significa que agora usaremos atlas blog-example hello para executar nosso comando.

3. Implemente sua lógica de plugin

Navegue até o internal/cli/hello/hello.go arquivo e atualize seu conteúdo para:
1package hello
2
3import (
4 "fmt"
5
6 "github.com/spf13/cobra"
7)
8
9func Builder() *cobra.Command {
10 return &cobra.Command{
11 Use: "hello",
12 Short: "The Hello World command",
13 Run: func(_ *cobra.Command, _ []string) {
14 fmt.Println("Hello World, from my first AtlasCLI plugin!")
15 },
16 }
17}

4. Confirmar alterações

1git commit -a -m "Blog post changes"
2git push

5. Criar uma versão

1git tag v1.0.0
2git push origin v1.0.0
Isso acionará uma ação do Github que cria uma versão com o binário e o manifesto do seu plugin. Você pode monitorar o progresso dessa ação por:
  1. Indo para o seu repositório no Github.
  2. Clique na aba "Ações".
Depois que a ação for concluída com sucesso, uma nova versão será criada automaticamente. Você pode encontrar esta versão por:
  1. Indo para o seu repositório no Github.
  2. Clique na seção "Lançamentos" no lado direito.
A versão conterá todos os arquivos necessários para a instalação do plugin-in , incluindo o binário para diferentes sistemas operacionais e o arquivo de manifesto.

6. Instalar seu plugin-in

1atlas plugin install your-github-username/your-repository-name

7. Execute seu plugin

1❯ atlas blog-example hello
2
3Hello World, from my first AtlasCLI plugin!

Conclusão

O plugin Atlas CLI permite que os desenvolvedores estendam e personalizem as ferramentas de linha de comando do MongoDB para atender melhor às suas necessidades. Ao fornecer uma estrutura flexível que ofereça suporte a várias linguagens de programação e abordagens de desenvolvimento, estamos facilitando para os desenvolvedores contribuir com suas ideias e soluções para o ecossistema MongoDB .
Estamos ansiosos para ver quais plug-ins você criará! Esteja você criando ferramentas internas para sua equipe ou compartilhando funcionalidades com a comunidade MongoDB mais ampla, o sistema de plugin oferece a flexibilidade e a capacidade de que você precisa.
Comece a criar seu plugin-in hoje mesmo e lembre-se de compartilhá-lo com a comunidade!
Principais comentários nos fóruns
Ainda não há comentários sobre este artigo.
Iniciar a conversa

Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Artigo

Atlas Online Archive: gerencie com eficiência o ciclo de vida dos dados


Jan 13, 2025 | 8 min read
Tutorial

Previsão de pontuação de filmes com BigQuery, Vertex AI e MongoDB Atlas


Jan 13, 2025 | 11 min read
Tutorial

Aprimoramento da precisão do LLM usando o Atlas Vector Search do MongoDB e os metadados Unstructured.io


Mar 12, 2025 | 12 min read
Tutorial

Como arquivar dados no armazenamento de objetos em nuvem com o MongoDB Online Archive


Sep 09, 2024 | 9 min read
Sumário
  • Como os plug-ins funcionam