¿Cómo Usar APIs de Azure?

Ashley Innocent

Ashley Innocent

24 March 2026

¿Cómo Usar APIs de Azure?

TL;DR

Las API de Azure le permiten acceder programáticamente a los servicios en la nube de Microsoft: almacenamiento, computación, bases de datos, IA y más. Se autentica utilizando Azure Active Directory (Entra ID), obtiene un token de acceso y llama a los endpoints REST. Para pruebas y documentación, use Apidog para guardar sus llamadas a la API, validar respuestas contra esquemas y compartir colecciones con su equipo.

Introducción

Microsoft Azure tiene más de 200 servicios. Cada uno tiene una API. La mayoría de los desarrolladores tocarán al menos algunos de ellos, quizás Azure Blob Storage para archivos, Azure Functions para serverless o Azure OpenAI para LLMs.

¿El problema? La documentación de Azure es masiva y dispersa. Puede pasar horas buscando el endpoint correcto, averiguando la autenticación y depurando por qué su solicitud devuelve 401 Unauthorized.

Esta guía se centra en las API que realmente utilizará. No los 200 servicios. Los 5-10 que impulsan la mayoría de las aplicaciones. Aprenderá patrones de autenticación, errores comunes y cómo probar sus integraciones de Azure antes de implementarlas.

💡
Si está desarrollando con las API de Azure, Apidog le ayuda a diseñar, probar y documentar esas integraciones. Puede guardar sus llamadas a la API de Azure como colecciones, agregar variables de entorno para diferentes suscripciones y validar que las respuestas coincidan con los esquemas esperados. Detecta errores de configuración antes de que lleguen a producción.
button

Pruebe sus API de Azure con Apidog, gratis

Al final de esta guía, podrá:

El problema de la autenticación (y cómo resolverlo)

Cada llamada a la API de Azure necesita autenticación. Si esto está mal, todo lo demás falla. Aquí es donde la mayoría de los desarrolladores se quedan atascados.

Azure Active Directory / Microsoft Entra ID

Azure utiliza OAuth 2.0 para la autenticación de la API. No envía un nombre de usuario y contraseña. Envía un token de acceso que demuestra quién es y qué puede hacer.

El flujo es el siguiente:

  1. Registre una aplicación en Azure AD (Entra ID)
  2. Obtenga un ID de cliente y un secreto de cliente
  3. Solicite un token de acceso del endpoint de token de Azure
  4. Incluya ese token en sus llamadas a la API

Paso 1: Registrar una aplicación

Vaya a Azure Portal → Microsoft Entra ID → Registros de aplicaciones → Nuevo registro.

Asígnele un nombre, seleccione "Cuentas en este directorio organizacional solamente" para aplicaciones internas y regístrese. Obtendrá:

Paso 2: Crear un secreto de cliente

En el registro de su aplicación, vaya a Certificados y secretos → Nuevo secreto de cliente. Copie el valor del secreto inmediatamente. No lo volverá a ver.

Paso 3: Asignar permisos

Vaya a Permisos de API → Agregar un permiso. Para Azure Storage, seleccione "Azure Storage" → "user_impersonation". Para las API de administración de Azure, seleccione "Azure Service Management" → "user_impersonation".

Paso 4: Obtener un token de acceso

curl -X POST "https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "client_id={client-id}" \
  -d "client_secret={client-secret}" \
  -d "scope=https://storage.azure.com/.default" \
  -d "grant_type=client_credentials"

Respuesta:

{
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIs...",
  "expires_in": 3599,
  "token_type": "Bearer"
}

Paso 5: Usar el token

curl -X GET "https://youraccount.blob.core.windows.net/container?restype=container&comp=list" \
  -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIs..." \
  -H "x-ms-version: 2023-01-03"

Uso del SDK de Azure en lugar de HTTP puro

Para el código de producción, utilice el SDK de Azure. Maneja la actualización de tokens, los reintentos y la serialización.

import { DefaultAzureCredential } from '@azure/identity'
import { BlobServiceClient } from '@azure/storage-blob'

// Utiliza automáticamente su inicio de sesión de Azure CLI o variables de entorno
const credential = new DefaultAzureCredential()
const blobServiceClient = new BlobServiceClient(
  'https://youraccount.blob.core.windows.net',
  credential
)

// Listar contenedores
for await (const container of blobServiceClient.listContainers()) {
  console.log(container.name)
}

Pero para probar, depurar y documentar, necesita comprender las llamadas HTTP puras. Ahí es donde entra Apidog.

API de Azure Storage

Azure Storage es el servicio de Azure más utilizado. Incluye:

API de Blob Storage

Listar contenedores:

GET https://{account}.blob.core.windows.net/?comp=list
Authorization: Bearer {token}
x-ms-version: 2023-01-03

Crear un contenedor:

PUT https://{account}.blob.core.windows.net/{container}?restype=container
Authorization: Bearer {token}
x-ms-version: 2023-01-03

Subir un blob:

PUT https://{account}.blob.core.windows.net/{container}/{blob}
Authorization: Bearer {token}
x-ms-version: 2023-01-03
Content-Type: text/plain

Hello, Azure Blob Storage!

Descargar un blob:

GET https://{account}.blob.core.windows.net/{container}/{blob}
Authorization: Bearer {token}
x-ms-version: 2023-01-03

Pruebas con Apidog

Las API de Azure Storage requieren encabezados específicos (x-ms-version, formato de autorización correcto). Apidog le ayuda a:

  1. Guardar estos como solicitudes reutilizables
  2. Usar variables de entorno para nombres de cuenta y tokens
  3. Validar que las respuestas coincidan con los esquemas esperados

Diseñe y pruebe las API de Azure Storage con Apidog

API de Azure Compute

Azure Compute le permite administrar máquinas virtuales, contenedores y funciones sin servidor.

API de Azure Functions

Azure Functions tiene una API REST para operaciones de administración.

Listar funciones en una aplicación de funciones:

GET https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{rg}/providers/Microsoft.Web/sites/{app-name}/functions?api-version=2023-01-01
Authorization: Bearer {management-token}

Activar una función (HTTP trigger):

POST https://{app-name}.azurewebsites.net/api/{function-name}
Content-Type: application/json

{
  "name": "Azure",
  "message": "Hello from API"
}

Obtener claves de función:

POST https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{rg}/providers/Microsoft.Web/sites/{app-name}/functions/{function-name}/listKeys?api-version=2023-01-01
Authorization: Bearer {management-token}

API de Máquinas Virtuales

Listar VM:

GET https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.Compute/virtualMachines?api-version=2023-07-01
Authorization: Bearer {management-token}

Iniciar una VM:

POST https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{rg}/providers/Microsoft.Compute/virtualMachines/{vm-name}/start?api-version=2023-07-01
Authorization: Bearer {management-token}

Detener una VM:

POST https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{rg}/providers/Microsoft.Compute/virtualMachines/{vm-name}/powerOff?api-version=2023-07-01
Authorization: Bearer {management-token}

API de Servicios de IA de Azure

Azure aloja modelos de OpenAI y proporciona servicios cognitivos para visión, voz y lenguaje.

API de Azure OpenAI

Obtener completaciones:

POST https://{resource-name}.openai.azure.com/openai/deployments/{deployment-id}/chat/completions?api-version=2024-02-15-preview
api-key: {your-api-key}
Content-Type: application/json

{
  "messages": [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "What is Azure?"}
  ],
  "max_tokens": 500
}

Listar implementaciones:

GET https://{resource-name}.openai.azure.com/openai/deployments?api-version=2024-02-15-preview
api-key: {your-api-key}

API de Servicios Cognitivos

Text Analytics - Sentimiento:

POST https://{resource-name}.cognitiveservices.azure.com/text/analytics/v3.1/sentiment
Ocp-Apim-Subscription-Key: {subscription-key}
Content-Type: application/json

{
  "documents": [
    {
      "id": "1",
      "language": "en",
      "text": "I love Azure APIs. They work great!"
    }
  ]
}

Computer Vision - Analizar imagen:

POST https://{resource-name}.cognitiveservices.azure.com/vision/v3.2/analyze?visualFeatures=Description,Tags
Ocp-Apim-Subscription-Key: {subscription-key}
Content-Type: application/octet-stream

[binary image data]

Pruebas de API de Azure con Apidog

Las API de Azure tienen una autenticación compleja y requieren encabezados precisos. Probarlas manualmente con curl se vuelve propenso a errores rápidamente. Apidog resuelve esto mediante:

1. Gestión de entornos

Las API de Azure abarcan múltiples endpoints:

Cree entornos en Apidog para cada uno:

# Desarrollo
MANAGEMENT_TOKEN: eyJ0eXAiOiJKV1Qi...
STORAGE_ACCOUNT: devstorage
OPENAI_RESOURCE: dev-openai

# Producción
MANAGEMENT_TOKEN: eyJ0eXAiOiJKV1Qi...
STORAGE_ACCOUNT: prodstorage
OPENAI_RESOURCE: prod-openai

2. Scripts de pre-solicitud para la actualización de tokens

Los tokens de Azure caducan después de 1 hora. Agregue un script de pre-solicitud:

// Comprobar si el token ha caducado
const tokenExpiry = pm.environment.get('token_expiry')
const now = Date.now() / 1000

if (!tokenExpiry || now >= tokenExpiry) {
  // Solicitar nuevo token
  const response = await pm.sendRequest({
    url: 'https://login.microsoftonline.com/' + pm.environment.get('tenant_id') + '/oauth2/v2.0/token',
    method: 'POST',
    header: { 'Content-Type': 'application/x-www-form-urlencoded' },
    body: {
      mode: 'urlencoded',
      urlencoded: [
        { key: 'client_id', value: pm.environment.get('client_id') },
        { key: 'client_secret', value: pm.environment.get('client_secret') },
        { key: 'scope', value: 'https://management.azure.com/.default' },
        { key: 'grant_type', value: 'client_credentials' }
      ]
    }
  })
  
  const data = response.json()
  pm.environment.set('management_token', data.access_token)
  pm.environment.set('token_expiry', now + data.expires_in)
}

3. Validación de respuesta

Valide que las respuestas de Azure coincidan con los esquemas esperados:

// Probar que la lista de blobs devuelve la estructura esperada
pm.test('La respuesta tiene contenedores', () => {
  const xml = pm.response.text()
  pm.expect(xml).to.include('<Containers>')
  pm.expect(xml).to.include('<Container>')
})

pm.test('La respuesta es XML válido', () => {
  pm.response.to.be.ok
  pm.response.to.have.header('Content-Type', 'application/xml')
})

Comience a probar las API de Azure con Apidog, gratis

Errores comunes y cómo solucionarlos

401 No autorizado

Causa: Token no válido o caducado.

Solución:

  1. Verifique que el token no haya caducado (expires_in suele ser 3600 segundos)
  2. Verifique que el scope coincida con la API a la que está llamando
  3. Asegúrese de que el registro de la aplicación tenga los permisos correctos

403 Prohibido

Causa: El token es válido pero carece de permisos.

Solución:

  1. Vaya al recurso en Azure Portal
  2. Verifique el control de acceso (IAM)
  3. Agregue una asignación de rol para el principal de servicio de su aplicación

404 No encontrado

Causa: Endpoint incorrecto o el recurso no existe.

Solución:

  1. Verifique el nombre del recurso en la URL
  2. Verifique la versión de la API en la cadena de consulta
  3. Asegúrese de que el recurso exista en el grupo de recursos correcto

429 Demasiadas solicitudes

Causa: Ha alcanzado los límites de tasa de Azure.

Solución:

  1. Implemente un retroceso exponencial
  2. Verifique el encabezado x-ms-ratelimit-remaining
  3. Considere agrupar las solicitudes
async function callWithRetry(fn, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    try {
      return await fn()
    } catch (error) {
      if (error.statusCode === 429) {
        const delay = Math.pow(2, i) * 1000
        await new Promise(resolve => setTimeout(resolve, delay))
      } else {
        throw error
      }
    }
  }
}

Alternativas y comparaciones

Característica API de Azure API de AWS API de GCP
Autenticación Azure AD (OAuth 2.0) IAM (Sig v4) OAuth 2.0
Calidad del SDK Excelente Excelente Excelente
Documentación Completa pero dispersa Específica del servicio Específica del servicio
Límite de tasa Por suscripción Por servicio Por proyecto
Nivel gratuito 12 meses + siempre gratis 12 meses Siempre gratis + créditos

La autenticación de Azure es más compleja que el enfoque basado en firmas de AWS, pero se integra mejor con los sistemas de identidad empresariales.

Casos de uso del mundo real

Plataforma de comercio electrónico. Una alternativa a Shopify utiliza Azure Blob Storage para imágenes de productos, Azure Functions para webhooks de procesamiento de pedidos y Azure OpenAI para descripciones de productos. Prueban todas las llamadas a la API en Apidog antes de implementar los cambios.

SaaS de atención médica. Un sistema de registros médicos utiliza Azure Cosmos DB para datos de pacientes, Azure Functions para el procesamiento de mensajes HL7 y Azure Key Vault para secretos. Las pruebas de API garantizan el cumplimiento de HIPAA al validar cada esquema de respuesta.

Startup de IA. Una empresa que crea agentes de IA utiliza Azure OpenAI para llamadas LLM, Azure Storage para datos de entrenamiento y Azure Container Apps para la implementación. Utilizan Apidog para simular las API de Azure durante el desarrollo local.

Conclusión

Esto es lo que ha aprendido:

Sus próximos pasos:

  1. Registre una aplicación en Azure AD y obtenga sus credenciales
  2. Solicite un token de acceso utilizando el flujo de credenciales de cliente
  3. Realice su primera llamada a la API de Azure Storage
  4. Guarde esa llamada en Apidog como una solicitud reutilizable
  5. Cree una colección para las API de Azure de su proyecto

Pruebe las API de Azure con Apidog, gratis

Preguntas frecuentes

¿Cuál es la diferencia entre Azure AD y Microsoft Entra ID?Son lo mismo. Microsoft cambió el nombre de Azure Active Directory a Microsoft Entra ID en 2023. Verá ambos nombres en la documentación. Use Entra ID al crear nueva documentación, pero sepa que Azure AD sigue siendo común en artículos y código más antiguos.

¿Cómo obtengo una clave de API para Azure OpenAI?Vaya a Azure Portal → Azure OpenAI → su recurso → Claves y Endpoint. Verá dos claves. Cualquiera funciona. Regenerelas periódicamente por seguridad. A diferencia de la API pública de OpenAI, Azure OpenAI requiere una suscripción a Azure y una implementación de recursos primero.

¿Cuál es la diferencia entre management.azure.com y los endpoints específicos del servicio?management.azure.com es el endpoint de Azure Resource Manager. Sirve para operaciones CRUD en los propios recursos de Azure (crear una VM, eliminar una cuenta de almacenamiento). Los endpoints específicos del servicio ({account}.blob.core.windows.net, {resource}.openai.azure.com) son para usar esos recursos (subir un archivo, generar texto). Necesita diferentes tokens para cada uno.

¿Cuánto duran los tokens de acceso de Azure?Típicamente 1 hora (3600 segundos). Puede solicitar un nuevo token antes de que caduque el anterior. Use el campo expires_in de la respuesta del token para saber cuándo actualizar. No solicite un nuevo token en cada llamada a la API, eso es ineficiente.

¿Puedo usar identidades administradas en lugar de secretos de cliente?Sí, y debería hacerlo para cargas de trabajo de producción que se ejecutan en Azure. Las identidades administradas eliminan la necesidad de almacenar secretos de cliente. Funcionan con Azure VMs, Functions, Container Apps y AKS. Para el desarrollo local, use Azure CLI (az login) o variables de entorno con secretos de cliente.

¿Por qué mi llamada a la API funciona en Postman pero falla en el código?Verifique los encabezados. Las API de Azure distinguen entre mayúsculas y minúsculas para los nombres de los encabezados. Postman podría estar agregando encabezados que usted no notó. Compare la solicitud bruta de Postman con su código utilizando una herramienta como Fiddler o la inspección de solicitudes de Apidog.

¿Cómo pruebo las API de Azure localmente sin una suscripción a Azure?No puede probar completamente sin una suscripción, pero puede usar los emuladores locales de Azure:

¿Cuál es la mejor manera de manejar los errores de la API de Azure?Azure devuelve JSON de error detallado. Analice los campos error.code y error.message. Códigos comunes:

Practica el diseño de API en Apidog

Descubre una forma más fácil de construir y usar APIs

¿Cómo Usar APIs de Azure?