TL;DR
Azure APIs erlauben programmatischen Zugriff auf Microsoft Cloud-Dienste wie Storage, Compute, Datenbanken und KI. Die Authentifizierung erfolgt über Azure Active Directory (Entra ID) mittels Zugriffstoken. REST-Endpunkte werden mit diesem Token angesprochen. Zum Testen und Dokumentieren empfiehlt sich Apidog: Anfragen speichern, Antwort-Schemas validieren, Sammlungen mit dem Team teilen.
Einführung
Microsoft Azure bietet über 200 Dienste, jeder mit eigener API. Die meisten Entwickler nutzen einige davon – etwa Azure Blob Storage für Dateien, Azure Functions für Serverless Computing oder Azure OpenAI für LLMs.
Die Herausforderung: Azure-Dokumentation ist riesig und fragmentiert. Es kann lange dauern, den korrekten Endpunkt und Authentifizierungsweg zu finden – Fehler wie 401 Unauthorized sind häufig.
Dieser Leitfaden fokussiert auf die APIs, die in der Praxis relevant sind. Sie lernen Authentifizierungsflows, typische Fehlerquellen und wie Sie Ihre Azure-Integrationen testen, bevor Sie sie deployen.
💡 Tipp: Mit Apidog können Sie Azure-Integrationen entwerfen, testen und dokumentieren. Speichern Sie API-Aufrufe als Sammlungen, nutzen Sie Umgebungsvariablen für verschiedene Abos und validieren Sie Schemas – Konfigurationsfehler werden früh erkannt.
Testen Sie Ihre Azure APIs mit Apidog – kostenlos
Am Ende dieses Leitfadens können Sie:
- Azure-Authentifizierung korrekt einrichten (die häufigste Fehlerquelle)
- Azure Storage, Compute und KI-APIs mit funktionierenden Beispielen aufrufen
- Typische Azure API-Fehler debuggen
- Azure-Integrationen mit Apidog testen und dokumentieren
Das Authentifizierungsproblem (und wie man es löst)
Jeder Azure API-Aufruf benötigt Authentifizierung. Fehler an dieser Stelle blockieren alles Weitere.
Azure Active Directory / Microsoft Entra ID
Azure verwendet OAuth 2.0 für API-Authentifizierung. Sie geben kein Passwort weiter, sondern senden ein Zugriffstoken.
Vorgehen:
- Anwendung in Azure AD (Entra ID) registrieren
- Client-ID und Client-Secret generieren
- Zugriffstoken am Token-Endpunkt abholen
- Token in API-Aufruf einbinden
Schritt 1: Anwendung registrieren
- Azure Portal → Microsoft Entra ID → App-Registrierungen → Neue Registrierung
- Name vergeben, „Nur Konten in diesem Organisationsverzeichnis“ wählen
- Nach Registrierung erhalten Sie:
- Anwendungs-ID:
12345678-1234-1234-1234-123456789abc - Verzeichnis-ID:
87654321-4321-4321-4321-cba987654321
- Anwendungs-ID:
Schritt 2: Client-Secret erstellen
- App-Registrierung → Zertifikate & Geheimnisse → Neuer Client-Secret
- Wert sofort kopieren (wird nicht erneut angezeigt)
- Beispiel:
abc123~DEF456-ghi789
- Beispiel:
Schritt 3: Berechtigungen zuweisen
- API-Berechtigungen → Berechtigung hinzufügen
- Für Storage: „Azure Storage“ → „user_impersonation“
- Für Management APIs: „Azure Service Management“ → „user_impersonation“
Schritt 4: Zugriffstoken abholen
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"
Antwort:
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIs...",
"expires_in": 3599,
"token_type": "Bearer"
}
Schritt 5: Token verwenden
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"
Azure SDK statt rohem HTTP verwenden
Für Produktionscode empfiehlt sich das Azure SDK. Es übernimmt Token-Refresh, Wiederholungen und Serialisierung.
import { DefaultAzureCredential } from '@azure/identity'
import { BlobServiceClient } from '@azure/storage-blob'
// Nutzt automatisch Azure CLI-Login oder Umgebungsvariablen
const credential = new DefaultAzureCredential()
const blobServiceClient = new BlobServiceClient(
'https://youraccount.blob.core.windows.net',
credential
)
// Container auflisten
for await (const container of blobServiceClient.listContainers()) {
console.log(container.name)
}
Für Tests, Debugging und Dokumentation ist Verständnis der rohen HTTP-Aufrufe essentiell – hier setzt Apidog an.
Azure Storage APIs
Azure Storage ist der am häufigsten genutzte Dienst. Typen:
- Blob Storage: Dateien, Bilder, Backups
- Queue Storage: Nachrichtenwarteschlangen
- Table Storage: NoSQL Schlüssel-Wert-Speicher
- File Storage: SMB-Dateifreigaben
Blob Storage API
Container auflisten:
GET https://{account}.blob.core.windows.net/?comp=list
Authorization: Bearer {token}
x-ms-version: 2023-01-03
Container erstellen:
PUT https://{account}.blob.core.windows.net/{container}?restype=container
Authorization: Bearer {token}
x-ms-version: 2023-01-03
Blob hochladen:
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!
Blob herunterladen:
GET https://{account}.blob.core.windows.net/{container}/{blob}
Authorization: Bearer {token}
x-ms-version: 2023-01-03
Testen mit Apidog
Azure Storage APIs erfordern spezielle Header. Mit Apidog können Sie:
- Anfragen als wiederverwendbare Requests speichern
- Umgebungsvariablen für Kontonamen & Token nutzen
- Antwort-Schemas validieren
Azure Compute APIs
Azure Compute steuert VMs, Container und Functions.
Azure Functions API
Funktionen einer Function App auflisten:
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}
HTTP-Trigger-Funktion auslösen:
POST https://{app-name}.azurewebsites.net/api/{function-name}
Content-Type: application/json
{
"name": "Azure",
"message": "Hello from API"
}
Funktionsschlüssel abrufen:
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}
Virtual Machines API
VMs auflisten:
GET https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.Compute/virtualMachines?api-version=2023-07-01
Authorization: Bearer {management-token}
VM starten:
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}
VM stoppen:
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}
Azure KI-Dienste APIs
Azure bietet OpenAI-Modelle und kognitive Dienste für Vision, Speech und Language.
Azure OpenAI API
Vervollständigungen abfragen:
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
}
Bereitstellungen listen:
GET https://{resource-name}.openai.azure.com/openai/deployments?api-version=2024-02-15-preview
api-key: {your-api-key}
Cognitive Services API
Textanalyse – Sentiment:
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 – Bildanalyse:
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
[binäre Bilddaten]
Azure APIs mit Apidog testen
Azure APIs benötigen korrekte Authentifizierung und Header. Manuelles Testen mit curl ist fehleranfällig. Mit Apidog optimieren Sie den Ablauf:
1. Umgebungsmanagement
Für verschiedene Endpunkte Umgebungen anlegen:
# Entwicklung
MANAGEMENT_TOKEN: eyJ0eXAiOiJKV1Qi...
STORAGE_ACCOUNT: devstorage
OPENAI_RESOURCE: dev-openai
# Produktion
MANAGEMENT_TOKEN: eyJ0eXAiOiJKV1Qi...
STORAGE_ACCOUNT: prodstorage
OPENAI_RESOURCE: prod-openai
2. Pre-Request-Skripte für Token-Aktualisierung
Azure-Token laufen nach 1 Stunde ab. Beispiel für ein Pre-Request-Skript:
// Überprüfen, ob Token abgelaufen ist
const tokenExpiry = pm.environment.get('token_expiry')
const now = Date.now() / 1000
if (!tokenExpiry || now >= tokenExpiry) {
// Neues Token anfordern
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. Antwortvalidierung
Antworten auf erwartete Struktur prüfen:
// Testen, dass die Blob-Liste die erwartete Struktur zurückgibt
pm.test('Antwort enthält Container', () => {
const xml = pm.response.text()
pm.expect(xml).to.include('<Containers>')
pm.expect(xml).to.include('<Container>')
})
pm.test('Antwort ist gültiges XML', () => {
pm.response.to.be.ok
pm.response.to.have.header('Content-Type', 'application/xml')
})
Beginnen Sie, Azure APIs mit Apidog zu testen – kostenlos
Häufige Fehler und wie man sie behebt
401 Nicht autorisiert
Ursache: Token ungültig oder abgelaufen.
Lösung:
- Token-Gültigkeit prüfen (
expires_in) - Scope prüfen (muss zur API passen)
- App-Registrierung auf korrekte Berechtigungen prüfen
403 Verboten
Ursache: Token gültig, aber Berechtigungen fehlen.
Lösung:
- Ressource im Azure Portal aufrufen
- Zugriffssteuerung (IAM) prüfen
- Rollenzuweisung für Dienstprinzipal hinzufügen
404 Nicht gefunden
Ursache: Falscher Endpunkt oder Ressource fehlt.
Lösung:
- Ressourcennamen in URL prüfen
- API-Version (Abfrageparameter) prüfen
- Ressourcengruppe und Existenz verifizieren
429 Zu viele Anfragen
Ursache: Ratenbegrenzung von Azure erreicht.
Lösung:
- Exponentielles Backoff implementieren
- Header
x-ms-ratelimit-remainingprüfen - Anfragen bündeln
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
}
}
}
}
Alternativen und Vergleiche
| Merkmal | Azure APIs | AWS APIs | GCP APIs |
|---|---|---|---|
| Authentifizierung | Azure AD (OAuth 2.0) | IAM (Sig v4) | OAuth 2.0 |
| SDK-Qualität | Exzellent | Exzellent | Exzellent |
| Dokumentation | Umfassend, aber verstreut | Dienstspezifisch | Dienstspezifisch |
| Ratenbegrenzung | Pro Abonnement | Pro Dienst | Pro Projekt |
| Kostenloser Tarif | 12 Monate + immer kostenlos | 12 Monate | Immer + Guthaben |
Die Authentifizierung bei Azure ist komplexer als bei AWS (Sig v4), integriert sich aber besser in Unternehmens-Identity-Lösungen.
Anwendungsfälle in der Praxis
E-Commerce-Plattform: Shopify-Alternative nutzt Azure Blob Storage für Produktbilder, Azure Functions für Webhooks und Azure OpenAI für Beschreibungen. Alle API-Aufrufe werden vor Deployment in Apidog getestet.
Healthcare SaaS: System für medizinische Akten nutzt Azure Cosmos DB, Functions für HL7-Verarbeitung und Key Vault. API-Tests mit Schema-Validierung sichern HIPAA-Konformität.
KI-Startup: Entwickelt KI-Agenten mit Azure OpenAI, speichert Trainingsdaten in Azure Storage, deployt über Container Apps. Apidog simuliert Azure APIs lokal für Entwickler.
Zusammenfassung
Das haben Sie gelernt:
- Azure-Authentifizierung läuft über OAuth 2.0-Token von Azure AD (Entra ID)
- Storage APIs brauchen
x-ms-versionHeader und Bearer-Token - Compute APIs nutzen den Resource Manager-Endpunkt
- KI-Dienste fordern entweder API-Key oder AAD-Token
- Testen & dokumentieren Sie Integrationen mit Apidog
Nächste Schritte:
- App in Azure AD registrieren, Credentials sichern
- Zugriffstoken via Client-Credentials-Flow anfordern
- Ersten Storage API-Call durchführen
- Call in Apidog speichern
- Eigene Azure API-Sammlung in Apidog anlegen
Testen Sie Azure APIs mit Apidog – kostenlos
FAQ
Was ist der Unterschied zwischen Azure AD und Microsoft Entra ID?
Es handelt sich um denselben Dienst. Azure Active Directory wurde 2023 in Microsoft Entra ID umbenannt. Beide Begriffe sind in der Dokumentation zu finden.
Wie erhalte ich einen API-Schlüssel für Azure OpenAI?
Azure Portal → Azure OpenAI → Ihre Ressource → Schlüssel und Endpunkt. Zwei Schlüssel verfügbar, beide nutzbar. Schlüssel regelmäßig neu generieren. Im Gegensatz zur öffentlichen OpenAI API ist ein Azure-Abonnement und eine Ressourcenbereitstellung erforderlich.
Was ist der Unterschied zwischen management.azure.com und dienstspezifischen Endpunkten?
management.azure.com ist der Resource Manager für CRUD an Ressourcen (z.B. VM erstellen). Dienstspezifische Endpunkte ({account}.blob.core.windows.net, {resource}.openai.azure.com) dienen der Ressourcennutzung. Jeder Endpunkt benötigt teils eigene Token.
Wie lange sind Azure-Zugriffstoken gültig?
Typisch 1 Stunde (expires_in). Sie können neue Token vor Ablauf anfordern. Nicht bei jedem API-Call ein neues Token abholen.
Kann ich verwaltete Identitäten statt Client-Secrets nutzen?
Ja. Für produktive Azure-Workloads empfohlen. Keine Secret-Speicherung nötig. Funktioniert mit VMs, Functions, Container Apps, AKS. Lokal: Azure CLI (az login) oder Umgebungsvariablen mit Secrets.
Warum funktioniert mein API-Call in Postman, aber nicht im Code?
Header prüfen – Azure APIs sind case-sensitiv. Postman fügt evtl. Header hinzu, die im Code fehlen. Vergleichen Sie Roh-Anfrage aus Postman und Code (z.B. mit Fiddler oder Apidog Request Inspector).
Wie teste ich Azure APIs lokal ohne Azure-Abonnement?
Vollständiges Testen ohne Abo nicht möglich, aber lokale Emulatoren helfen:
- Azurite für Storage
- Azure Functions Core Tools für Functions
- Apidog kann API-Antworten simulieren
Was ist der beste Weg zur Fehlerbehandlung bei Azure APIs?
Azure liefert detaillierte Fehler-JSONs. Prüfen Sie error.code und error.message. Häufige Codes:
-
AuthenticationFailed– Token prüfen -
ResourceNotFound– Ressourcennamen prüfen -
OperationNotAllowed– Abonnementlimits prüfen

Top comments (0)