Uso del SDK de Azure para Java
El SDK de Azure de código abierto para Java simplifica el aprovisionamiento, la administración y el uso de recursos de Azure desde el código de la aplicación Java.
Detalles importantes
- Las bibliotecas de Azure son la forma de comunicarse con los servicios de Azure desde código Java que se ejecuta localmente o en la nube.
- Las bibliotecas admiten Java 8 y versiones posteriores, y se prueban en la línea base de Java 8 y en la versión más reciente de "soporte técnico a largo plazo" de Java.
- Las bibliotecas incluyen compatibilidad completa con módulos java, lo que significa que son totalmente compatibles con los requisitos de un módulo de Java y exportan todos los paquetes pertinentes para su uso.
- El SDK de Azure para Java se compone únicamente de muchas bibliotecas de Java individuales relacionadas con servicios específicos de Azure. No hay otras herramientas en el "SDK".
- Hay distintas bibliotecas de "administración" y "cliente" (a veces denominadas "plano de administración" y "plano de datos"). Cada conjunto sirve para distintos propósitos y se usa en diferentes tipos de código. Para obtener más información, consulte las secciones siguientes más adelante en este artículo:
- Puede encontrar documentación sobre las bibliotecas de la referencia de Azure para Java organizadas por servicio de Azure o el explorador de API de Java organizado por nombre de paquete.
Otros detalles
- Las bibliotecas de Azure SDK para Java se basan en la API REST de Azure subyacente, lo que le permite usar esas API a través de paradigmas conocidos de Java. Sin embargo, siempre puede usar la API REST directamente desde código Java, si lo prefiere.
- Puede encontrar el código fuente de las bibliotecas de Azure en el repositorio de GitHub de . Como proyecto de código abierto, las contribuciones son bienvenidas.
- Actualmente estamos actualizando las bibliotecas de Azure SDK para Java para compartir patrones de nube comunes, como protocolos de autenticación, registro, seguimiento, protocolos de transporte, respuestas almacenadas en búfer y reintentos.
- Para obtener más información sobre las directrices que aplicamos a las bibliotecas, consulte las directrices de diseño del SDK de Azure para Java.
Plataformas admitidas para Azure SDK para Java
El SDK de Azure para Java se incluye con compatibilidad con Java 8 y versiones posteriores, pero se recomienda que los desarrolladores usen siempre la versión más reciente de soporte técnico a largo plazo de Java (LTS) en desarrollo y al lanzarse a producción. El uso de la versión ltS más reciente garantiza la disponibilidad de las mejoras más recientes en Java, incluidas las correcciones de errores, las mejoras de rendimiento y las correcciones de seguridad. Además, el SDK de Azure para Java incluye compatibilidad adicional con versiones posteriores de Java. Esta compatibilidad adicional mejora el rendimiento e incluye mejoras específicas de JDK más allá de la línea base de Java 8 compatible.
El SDK de Azure para Java se prueba y se admite en Windows, Linux y macOS. No se prueba en otras plataformas compatibles con JDK y no admite implementaciones de Android. Para los desarrolladores que quieran desarrollar software para la implementación en dispositivos Android y que hacen uso de servicios de Azure, hay bibliotecas específicas de Android disponibles en el proyecto de Azure SDK para Android.
Conexión y uso de recursos de Azure con bibliotecas cliente
Las bibliotecas cliente (o "plano de datos") le ayudan a escribir código de aplicación Java para interactuar con los servicios ya aprovisionados. Las bibliotecas cliente solo existen para aquellos servicios que admiten una API de cliente. Puede identificarlos porque su identificador de grupo de Maven es com.azure
.
Todas las bibliotecas cliente de Java de Azure siguen el mismo patrón de diseño de API que ofrece una clase de generador de Java responsable de crear una instancia de un cliente. Este patrón separa la definición y creación de instancias del cliente de su operación, lo que permite que el cliente sea inmutable y, por tanto, sea más fácil de usar. Además, todas las bibliotecas cliente siguen algunos patrones importantes:
Las bibliotecas cliente que admiten API sincrónicas y asincrónicas deben ofrecer estas API en clases independientes. Esto significa que, en estos casos, habría, por ejemplo, un
KeyVaultClient
para las API de sincronización y unKeyVaultAsyncClient
para las API asincrónicas.Hay una sola clase de generador que asume la responsabilidad de compilar las API sincronizadas y asincrónicas. El generador lleva un nombre similar al de la clase de cliente de sincronización, con
Builder
incluido. Por ejemplo,KeyVaultClientBuilder
. Este generador tiene métodosbuildClient()
ybuildAsyncClient()
para crear instancias de cliente, según corresponda.
Debido a estas convenciones, todas las clases que terminan en Client
son inmutables y proporcionan operaciones para interactuar con un servicio de Azure. Todas las clases que terminan en ClientBuilder
proporcionan operaciones para configurar y crear una instancia de un tipo de cliente determinado.
Ejemplo de bibliotecas cliente
En el ejemplo de código siguiente se muestra cómo crear una instancia de Key Vault sincrónica KeyClient
:
KeyClient client = new KeyClientBuilder()
.endpoint(<your Key Vault URL>)
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();
En el ejemplo de código siguiente se muestra cómo crear una instancia asincrónica de Key Vault KeyAsyncClient
:
KeyAsyncClient client = new KeyClientBuilder()
.endpoint(<your Key Vault URL>)
.credential(new DefaultAzureCredentialBuilder().build())
.buildAsyncClient();
Para obtener más información sobre cómo trabajar con cada biblioteca cliente, consulte el archivo README.md ubicado en el directorio del proyecto de la biblioteca en el repositorio de GitHub del SDK de . También encontrará otros fragmentos de código en la documentación de referencia y en los ejemplos de Azure.
Aprovisionamiento y administración de recursos de Azure con bibliotecas de administración
Las bibliotecas de administración (o "plano de administración") le ayudan a crear, aprovisionar y administrar recursos de Azure desde el código de la aplicación Java. Puede encontrar estas bibliotecas en el grupo ID de Maven com.azure.resourcemanager
. Todos los servicios de Azure tienen bibliotecas de administración correspondientes.
Con las bibliotecas de administración, puede escribir scripts de configuración e implementación para realizar las mismas tareas que puede realizar a través de la Azure Portal o la CLI de Azure .
Todas las bibliotecas de administración de Java de Azure proporcionan una clase *Manager
como API de servicio, por ejemplo, ComputeManager
para el servicio de proceso de Azure o AzureResourceManager
para la agregación de servicios populares.
Ejemplo de bibliotecas de administración
En el ejemplo de código siguiente se muestra cómo crear un ComputeManager
:
ComputeManager computeManager = ComputeManager
.authenticate(
new DefaultAzureCredentialBuilder().build(),
new AzureProfile(AzureEnvironment.AZURE));
En el ejemplo de código siguiente se muestra cómo aprovisionar una nueva 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();
En el ejemplo de código siguiente se muestra cómo obtener una máquina virtual existente:
VirtualMachine virtualMachine = computeManager.virtualMachines()
.getByResourceGroup(<your resource group>, <your virtual machine>);
En el ejemplo de código siguiente se muestra cómo actualizar la máquina virtual y agregar un nuevo disco de datos:
virtualMachine.update()
.withNewDataDisk(10)
.apply();
Para obtener más información sobre cómo trabajar con cada biblioteca de administración, consulte el archivo README.md ubicado en el directorio del proyecto de la biblioteca en el repositorio de GitHub del SDK de . También encontrará otros fragmentos de código en la documentación de referencia y en los ejemplos de Azure.
Obtención de ayuda y conexión con el equipo del SDK
- Consulte la documentación sobre Azure SDK para Java.
- Publique preguntas a la comunidad en Stack Overflow.
- Abra incidencias con el SDK en el repositorio de GitHub.
- Mencione @AzureSDK en Twitter.
Pasos siguientes
Ahora que comprende lo que es el SDK de Azure para Java, puede profundizar en muchos de los conceptos transversales que existen para que sea productivo al usar las bibliotecas. Los artículos siguientes proporcionan buenos puntos de partida: