Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
GraphQL ayuda a sus aplicaciones JavaScript a recuperar exactamente los datos que necesitan con una sola solicitud. En este artículo se explica qué es GraphQL, por qué podría usarlo y cómo los servicios de Azure pueden ayudarle a crear aplicaciones de GraphQL con un esfuerzo mínimo. Tanto si va a migrar una aplicación de GraphQL existente como a crear una nueva, Azure proporciona herramientas y servicios para simplificar el proceso.
¿Qué es GraphQL?
GraphQL es una forma moderna para que su aplicación web se comunique con servidores y bases de datos. Piense en ello como una forma más inteligente de solicitar exactamente la información que necesita:
- Es como pedir una comida personalizada en lugar de aceptar un menú fijo: pides exactamente lo que quieres
- Funciona bien con aplicaciones JavaScript como React, Vue o Angular
- Puede hacer que sus aplicaciones web sean más rápidas y fáciles de crear
En lugar de realizar múltiples solicitudes a diferentes puntos finales del servidor (como con las API REST tradicionales, la forma estándar en que se comunican la mayoría de los servicios web), GraphQL le permite realizar una solicitud precisa para obtener todos los datos que necesita.
¿Por qué querría usar GraphQL en mi aplicación web?
GraphQL mejora sus aplicaciones JavaScript de tres maneras principales:
Obtén exactamente lo que necesitas: tu aplicación puede solicitar solo los datos que necesita en este momento, ni más ni menos. Esto es como ir a un buffet y tomar solo lo que vas a comer, en lugar de que te sirvan una comida fija gigante donde la mayor parte se desperdicia. Esto hace que su aplicación sea más rápida porque descarga menos datos.
Una solicitud en lugar de muchas: ¿Necesita información de varios lugares? En lugar de realizar 5 solicitudes diferentes a 5 puntos finales diferentes, GraphQL le permite realizar una sola solicitud para obtener todo. Esto es como tener a una persona que reúna todas tus compras en lugar de que vayas a cinco tiendas diferentes.
Menos errores con mejores herramientas: GraphQL viene con herramientas que ayudan a detectar errores mientras estás codificando en lugar de cuando tu aplicación se está ejecutando. Es como tener un corrector ortográfico que funciona mientras escribes, en lugar de descubrir errores tipográficos después de haber publicado tu documento.
Herramientas de JavaScript populares para GraphQL
Al compilar con GraphQL y JavaScript, es probable que utilices una de estas herramientas populares:
- Apollo Client: El cliente GraphQL más utilizado que funciona con React, Vue, Angular y JavaScript plano.
- URQL: Una alternativa ligera con buen rendimiento.
- Relay: Creado por Facebook (que también creó GraphQL), lo mejor para aplicaciones React grandes.
Servicios de Azure para aplicaciones de GraphQL
Elija su enfoque en función de su escenario específico:
Si desea... | Entonces deberías... | Uso de estos servicios de Azure |
---|---|---|
Incorporación de una aplicación de GraphQL existente a Azure | Implemente la aplicación sin cambiar el código | Azure App Service o Azure Container Apps |
Agregue GraphQL a sus datos existentes | Cree puntos de conexión de GraphQL para sus datos con una codificación mínima | Generador de API de datos |
Creación de una capa de API de GraphQL | Cree una interfaz de GraphQL unificada sobre las API existentes | Azure API Management con transformación de GraphQL |
Hospedaje de aplicaciones de GraphQL en Azure
Tiene algunas buenas opciones en función del tipo de aplicación que esté creando:
App Service: Es como un servicio de alojamiento web tradicional, pero con funciones adicionales. Es ideal para la mayoría de las aplicaciones JavaScript que necesitan un servidor.
Aplicaciones contenedoras: si la aplicación está empaquetada en contenedores (como Docker), este servicio facilita su ejecución y escalado.
Almacenamiento de datos para aplicaciones GraphQL
GraphQL necesita conectarse a sus datos. Azure ofrece varias maneras de hacerlo:
Convierta su base de datos en una API de GraphQL: La herramienta "Data API builder" puede crear automáticamente un punto final de GraphQL (una URL donde su aplicación puede enviar solicitudes de GraphQL) desde su base de datos existente, ¡sin necesidad de codificación!
Almacene sus datos: Azure ofrece bases de datos para diferentes necesidades:
- Base de datos SQL: para datos tradicionales basados en tablas
- Cosmos DB: para un almacenamiento de datos flexible y escalable sin esquemas rígidos
Aplicaciones seguras de GraphQL
- Seguridad e inicio de sesión de usuario: la plataforma de identidad de Azure le ayuda a agregar características de inicio de sesión a su aplicación para que solo las personas adecuadas puedan acceder a sus datos de GraphQL.
- Acceso basado en roles: controle exactamente qué usuarios pueden consultar o modificar qué datos a través de sus puntos de conexión de GraphQL.
- Protección de API: agregue limitación de velocidad y monitoreo para evitar el abuso de sus API de GraphQL.
Cree API de GraphQL para sus datos existentes
¿Ya tiene datos en Azure y desea acceder a ellos con GraphQL? Hay formas sencillas de hacerlo:
Administración de API: este servicio puede crear una capa de GraphQL frente a sus API o fuentes de datos existentes. Es como añadir un traductor de GraphQL a sistemas que no hablan GraphQL de forma nativa.
Data API Builder: Esta herramienta crea automáticamente puntos finales de GraphQL a partir de sus bases de datos. Es la forma más rápida de añadir GraphQL a tus datos existentes: solo tienes que apuntarlo a tu base de datos y hará el trabajo por ti.
Un ejemplo sencillo: Creación de una API de GraphQL para una base de datos de productos
Así es como funciona el proceso en términos simples:
- Dispones de una base de datos con información de productos (nombres, precios, descripciones)
- Configura Data API Builder para que se conecte a tu base de datos
- Data API Builder crea un punto de conexión de GraphQL automáticamente
- Su aplicación JavaScript ahora puede realizar consultas de GraphQL como:
{
products(where: { price_lt: 50 }) {
name
price
description
}
}
Esta consulta le dará todos los productos por menos de $ 50, mostrando solo sus nombres, precios y descripciones.
Recursos para ayudarle a empezar
Si desea obtener más información o empezar a compilar con GraphQL en Azure, estos son algunos recursos útiles:
- Introducción a GraphQL para principiantes
- Introducción a Data API Builder
- Ejemplos de JavaScript GraphQL en Azure
Pasos siguientes
- Instalar Data API Builder
- Azure Container Apps
- Azure API Management : creación y administración de API
- Azure App Service
- Azure SQL Database : almacenamiento de datos estructurados
- Azure Cosmos DB : almacene datos flexibles y no estructurados