Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste quickstart, constróis uma extensão de exemplo do Azure Developer CLI (azd) chamada Contoso Resource Tagger. Utiliza a extensão de desenvolvimento azd para criar a estrutura de um projeto Go, adicionar um comando personalizado e executar a extensão localmente. A extensão de exemplo que cria é o ponto de partida para os outros artigos desta secção, que lhe mostram como adicionar capacidades, comunicar com azd, adicionar um servidor Model Context Protocol (MCP) e publicar o seu trabalho.
Para aprender os conceitos por trás do desenvolvimento de extensões antes de começar, consulte Conceitos de desenvolvimento de extensões.
Note
O azd framework de extensão está geralmente disponível. Extensões ou capacidades individuais podem ter o seu próprio estado de pré-visualização.
Pré-requisitos
- Instale a Azure Developer CLI.
- Instala o Go 1.26 ou posterior.
- Um editor de código, como Visual Studio Code.
azd Inclui a fonte oficial da extensão por defeito. Também pode instalar extensões a partir de fontes baseadas em URL ou ficheiros, registos locais de desenvolvimento, registos de desenvolvimento opt-in ou noturnos, e pacotes portáteis .zip . Para detalhes, veja Conceitos de desenvolvimento de extensões.
Sugestão
Se um azd projeto depende de hosts, fornecedores, validação, handlers do ciclo de vida ou comandos fornecidos por extensões, declare essas extensões necessárias em azure.yaml com restrições de versão. Para obter detalhes, consulte requiredVersions.
Instale a extensão para desenvolvedores
A azd extensão developer (microsoft.azd.extensions) fornece os azd x comandos que usas para construir extensões.
Instale a extensão para desenvolvedores a partir da fonte oficial da extensão:
azd extension install microsoft.azd.extensionsVerifique se a extensão está instalada:
azd extension list --installedA extensão desenvolvedora regista um conjunto de comandos sob o
xnamespace. Correazd xpara ver os comandos disponíveis.
Crie a estrutura base da extensão de exemplo
Utilize o comando azd x init para criar a estrutura de um novo projeto de extensão.
Crie e transforme num diretório para as suas extensões:
mkdir azd-extensions cd azd-extensionsInicialize um repositório git e crie um commit inicial. O
azd x initcomando exige que a pasta de extensão seja rastreada pelo git:git init git commit --allow-empty -m "Initial commit"Execute o comando
azd x initpara criar a estrutura da extensão:azd x initQuando solicitado, forneça os seguintes valores:
Prompt Value ID da extensão contoso.azd.taggerNome de exibição Contoso Resource TaggerDescription Standardize and report Azure resource tags for an azd project.Namespace taggerCapabilities Custom commandsLinguagem Go
O comando estrutura a extensão, constrói os binários iniciais, empacota a extensão, publica-a numa fonte local de extensão e instala-a localmente para uso imediato.
Explore a estrutura do projeto
O azd x init comando gera um projeto com os seguintes ficheiros-chave:
contoso.azd.tagger/
├── bin/ # Contains built binaries
├── build.ps1 # Windows build script
├── build.sh # Unix build script
├── CHANGELOG.md # Version history and release notes
├── extension.yaml # Extension metadata and capabilities
├── main.go # Entry point for the extension
├── go.mod # Go module definition
└── internal/ # Internal implementation code
Os ficheiros mais importantes são:
-
extension.yaml: Define os metadados, capacidades e comandos para a sua extensão. Para saber mais, consulte Definir o manifesto de extensão. -
main.go: O ponto de entrada que executa o comando raiz da sua extensão. -
build.shebuild.ps1: scripts de build multiplataforma que compilam um binário separado para cada plataforma suportada (Linux, Windows e macOS). -
CHANGELOG.md: Documenta as alterações entre versões e fornece notas de lançamento quando publica.
Adicionar um comando personalizado
Adiciona um show comando que imprime uma saudação para verificar se a tua extensão funciona. O layout exato do ficheiro depende do modelo inicial, mas o padrão é o mesmo: definir um comando Cobra e regista-o no comando raiz.
No diretório
internal/cmd, crie um ficheiro com o nomeshow.gocom o seguinte conteúdo:package cmd import ( "fmt" "github.com/spf13/cobra" ) func newShowCommand() *cobra.Command { return &cobra.Command{ Use: "show", Short: "Displays a greeting from the Contoso Resource Tagger extension.", RunE: func(cmd *cobra.Command, args []string) error { fmt.Println("Hello from the Contoso Resource Tagger extension!") return nil }, } }Registe o comando no comando principal. No
internal/cmd/root.goficheiro, adicione a seguinte linha para o fundo do ficheiro após as outrasAddCommandfunções:rootCmd.AddCommand(newShowCommand())
Executar a extensão
Antes de executar a extensão, empacote-a e publica-a na sua extensão local para registar as suas alterações.
Inclua a extensão:
azd x packPublique a extensão para a registar:
azd x publishExecute o seu novo comando:
azd tagger showA saída é semelhante ao seguinte exemplo:
Hello from the Contoso Resource Tagger extension!
Agora tens uma extensão funcional sobre a qual podes construir.
Fique atento a alterações durante o desenvolvimento
Em vez de correr azd x pack manualmente e azd x publish depois de cada alteração, usar azd x watch para construir e instalar automaticamente a extensão à medida que desenvolves.
A partir do diretório de extensões, inicie o watcher:
azd x watchNum segundo terminal, executa o teu comando para testar as alterações à medida que as fazes:
azd tagger show
Para construir a extensão manualmente em vez de usar o watcher, execute azd x build.
Limpeza de recursos
Quando terminares de experimentar, desinstala a extensão de exemplo:
azd extension uninstall contoso.azd.tagger
Conteúdo relacionado
Para continuar a desenvolver a extensão de exemplo, consulte os seguintes artigos. Cada artigo é independente, por isso pode completá-los por qualquer ordem: