Usar o SDK do Azure para Java
O SDK do Azure de software livre para Java simplifica o provisionamento, o gerenciamento e o uso de recursos do Azure do código do aplicativo Java.
Detalhes importantes
- As bibliotecas do Azure são como você se comunica com os serviços do Azure a partir do código Java que você executa localmente ou na nuvem.
- As bibliotecas dão suporte ao Java 8 e posterior e são testadas na linha de base do Java 8 e na versão mais recente de "suporte de longo prazo" do Java.
- As bibliotecas incluem suporte completo ao módulo Java, o que significa que elas estão totalmente em conformidade com os requisitos de um módulo Java e exportam todos os pacotes relevantes para uso.
- O SDK do Azure para Java é composto apenas por muitas bibliotecas Java individuais relacionadas a serviços específicos do Azure. Não há outras ferramentas no "SDK".
- Há bibliotecas distintas de "gerenciamento" e "cliente", às vezes conhecidas como bibliotecas de "plano de gerenciamento" e "plano de dados". Cada conjunto serve a diferentes finalidades e é usado por diferentes tipos de código. Para obter mais informações, consulte as seguintes seções mais adiante neste artigo:
- Você pode encontrar a documentação das bibliotecas no Azure para Java de Referência , organizado por Serviço do Azure, ou no navegador de API Java , organizado por nome de pacote.
Outros detalhes
- O SDK do Azure para bibliotecas Java baseia-se na API REST subjacente do Azure, permitindo que você use essas APIs por meio de paradigmas Java familiares. No entanto, você sempre pode usar a API REST diretamente do código Java, se preferir.
- Você pode encontrar o código-fonte das bibliotecas do Azure no do repositório GitHub. Como um projeto de software livre, as contribuições são bem-vindas!
- Atualmente, estamos atualizando o SDK do Azure para bibliotecas Java para compartilhar padrões comuns de nuvem, como protocolos de autenticação, registro em log, rastreamento, protocolos de transporte, respostas em buffer e novas tentativas.
- Essa funcionalidade compartilhada está contida na biblioteca azure-core.
- Para obter mais informações sobre as diretrizes que aplicamos às bibliotecas, consulte as diretrizes de design do SDK do Java Azure.
Plataformas com suporte para o SDK do Azure para Java
O SDK do Azure para Java é fornecido com suporte para Java 8 e posteriores, mas recomendamos que os desenvolvedores sempre usem a versão mais recente do Java com suporte de Longo Prazo (LTS) em desenvolvimento e quando liberarem para produção. O uso da versão mais recente do LTS garante a disponibilidade das melhorias mais recentes no Java, incluindo correções de bugs, melhorias de desempenho e correções de segurança. Além disso, o SDK do Azure para Java inclui suporte adicional para versões posteriores do Java. Esse suporte adicional melhora o desempenho e inclui aprimoramentos específicos do JDK além da linha de base do Java 8 com suporte.
O SDK do Azure para Java é testado e tem suporte no Windows, Linux e macOS. Ele não é testado em outras plataformas compatíveis com o JDK e não dá suporte a implantações do Android. Para desenvolvedores que desejam desenvolver software para implantação em dispositivos Android e que usam serviços do Azure, há bibliotecas específicas do Android disponíveis no projeto do SDK do Azure para Android.
Conectar-se e usar recursos do Azure com bibliotecas de cliente
As bibliotecas cliente (ou "plano de dados") ajudam você a escrever código de aplicativo Java para interagir com serviços já provisionados. As bibliotecas de cliente existem apenas para os serviços que dão suporte a uma API de cliente. Você pode identificá-los porque a ID do grupo Maven é com.azure
.
Todas as bibliotecas de clientes Java do Azure seguem o mesmo padrão de design de API de oferecer uma classe de construtor Java responsável por criar uma instância de um cliente. Esse padrão separa a definição e a instanciação do cliente de sua operação, permitindo que o cliente seja imutável e, portanto, mais fácil de usar. Além disso, todas as bibliotecas de clientes seguem alguns padrões importantes:
As bibliotecas de cliente que dão suporte a APIs síncronas e assíncronas devem oferecer essas APIs em classes separadas. Isso significa que, nesses casos, haveria, por exemplo, uma
KeyVaultClient
para APIs de sincronização e umKeyVaultAsyncClient
para APIs assíncronas.Há uma única classe de construtor que assume a responsabilidade de criar as APIs de sincronização e assíncronas. O construtor é nomeado de modo semelhante à classe de cliente de sincronização, com
Builder
incluso. Por exemplo,KeyVaultClientBuilder
. Esse construtor tem métodosbuildClient()
ebuildAsyncClient()
para criar instâncias de cliente, conforme apropriado.
Devido a essas convenções, todas as classes que terminam em Client
são imutáveis e fornecem operações para interagir com um serviço do Azure. Todas as classes que terminam em ClientBuilder
fornecem operações para configurar e criar uma instância de um tipo de cliente específico.
Exemplo de bibliotecas de cliente
O exemplo de código a seguir mostra como criar um Key Vault síncrono KeyClient
:
KeyClient client = new KeyClientBuilder()
.endpoint(<your Key Vault URL>)
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();
O exemplo de código a seguir mostra como criar um key vault assíncrono KeyAsyncClient
:
KeyAsyncClient client = new KeyClientBuilder()
.endpoint(<your Key Vault URL>)
.credential(new DefaultAzureCredentialBuilder().build())
.buildAsyncClient();
Para obter mais informações sobre como trabalhar com cada biblioteca de clientes, confira o arquivo README.md localizado no diretório do projeto da biblioteca no repositório do GitHub do SDK. Também é possível encontrar mais trechos de código na documentação de referência e nas Amostras do Azure.
Provisionar e gerenciar recursos do Azure com bibliotecas de gerenciamento
As bibliotecas de gerenciamento (ou "plano de gerenciamento") ajudam você a criar, provisionar e gerenciar recursos do Azure a partir do código do aplicativo Java. Você pode encontrar essas bibliotecas na ID do grupo com.azure.resourcemanager
Maven. Todos os serviços do Azure têm bibliotecas de gerenciamento correspondentes.
Com as bibliotecas de gerenciamento, você pode escrever scripts de configuração e implantação para executar as mesmas tarefas que você pode por meio do portal do do Azure ou da CLI do Azure.
Todas as bibliotecas de gerenciamento java do Azure fornecem uma classe *Manager
como API de serviço, por exemplo, ComputeManager
para o serviço de computação do Azure ou AzureResourceManager
para a agregação de serviços populares.
Exemplo de bibliotecas de gerenciamento
O exemplo de código a seguir mostra como criar um ComputeManager
:
ComputeManager computeManager = ComputeManager
.authenticate(
new DefaultAzureCredentialBuilder().build(),
new AzureProfile(AzureEnvironment.AZURE));
O exemplo de código a seguir mostra como provisionar uma nova máquina virtual:
VirtualMachine virtualMachine = computeManager.virtualMachines()
.define(<your virtual machine>)
.withRegion(Region.US_WEST)
.withExistingResourceGroup(<your resource group>)
.withNewPrimaryNetwork("10.0.0.0/28")
.withPrimaryPrivateIPAddressDynamic()
.withoutPrimaryPublicIPAddress()
.withPopularLinuxImage(KnownLinuxVirtualMachineImage.UBUNTU_SERVER_18_04_LTS)
.withRootUsername(<virtual-machine username>)
.withSsh(<virtual-machine SSH key>)
.create();
O exemplo de código a seguir mostra como obter uma máquina virtual existente:
VirtualMachine virtualMachine = computeManager.virtualMachines()
.getByResourceGroup(<your resource group>, <your virtual machine>);
O exemplo de código a seguir mostra como atualizar a máquina virtual e adicionar um novo disco de dados:
virtualMachine.update()
.withNewDataDisk(10)
.apply();
Para obter mais informações sobre como trabalhar com cada biblioteca de gerenciamento, consulte o arquivo README.md localizado no diretório do projeto da biblioteca dentro do repositório GitHub do SDK . Você também pode encontrar mais snippets de código na documentação de referência do e nos Exemplos do Azure .
Obter ajuda e conectar-se com a equipe do SDK
- Visite a documentação do SDK do Azure para Java .
- Poste perguntas para a comunidade no Stack Overflow.
- Abra problemas em relação ao SDK no repositório do GitHub.
- Mencione @AzureSDK no Twitter.
Próximas etapas
Agora que você entende o que é o Azure SDK para Java, você pode mergulhar fundo em muitos dos conceitos transversais que existem para torná-lo produtivo ao usar as bibliotecas. Os artigos a seguir fornecem bons pontos de partida: