Azure API'leri Nasıl Kullanılır?

Ashley Innocent

Ashley Innocent

24 March 2026

Azure API'leri Nasıl Kullanılır?

enterprise.banner.title

enterprise.banner.feature1

enterprise.banner.feature2

enterprise.banner.feature3

enterprise.banner.ctaB

ÖZET

Azure API'leri, Microsoft'un bulut hizmetlerine (depolama, bilgi işlem, veritabanları, yapay zeka ve daha fazlası) programatik olarak erişmenizi sağlar. Azure Active Directory (Entra ID) kullanarak kimlik doğrulaması yapar, bir erişim belirteci alır ve REST uç noktalarını çağırırsınız. Test ve dokümantasyon için, API çağrılarınızı kaydetmek, yanıtları şemalara göre doğrulamak ve koleksiyonları ekibinizle paylaşmak için Apidog'u kullanın.

Giriş

Microsoft Azure'ın 200'den fazla hizmeti var. Her birinin bir API'si bulunuyor. Çoğu geliştirici en az birkaçına dokunacaktır - belki dosyalar için Azure Blob Depolama, sunucusuz uygulamalar için Azure İşlevleri veya LLM'ler için Azure OpenAI.

Sorun ne? Azure'ın dokümantasyonu çok büyük ve dağınık. Doğru uç noktayı bulmak, kimlik doğrulamayı çözmek ve isteğinizin neden 401 Yetkisiz döndürdüğünü ayıklamak için saatler harcayabilirsiniz.

Bu rehber, aslında kullanacağınız API'lere odaklanmaktadır. 200 hizmete değil. Çoğu uygulamaya güç veren 5-10 tanesine. Kimlik doğrulama desenlerini, yaygın tuzakları ve Azure entegrasyonlarınızı dağıtmadan önce nasıl test edeceğinizi öğreneceksiniz.

💡
Azure API'lerine karşı geliştirme yapıyorsanız, Apidog bu entegrasyonları tasarlamanıza, test etmenize ve belgelemenize yardımcı olur. Azure API çağrılarınızı koleksiyonlar olarak kaydedebilir, farklı abonelikler için ortam değişkenleri ekleyebilir ve yanıtların beklenen şemalarla eşleştiğini doğrulayabilirsiniz. Üretime geçmeden önce yapılandırma hatalarını yakalar.
düğme

Azure API'lerinizi Apidog ile test edin - ücretsiz

Bu rehberin sonunda şunları yapabileceksiniz:

Kimlik doğrulama sorunu (ve nasıl çözülür)

Her Azure API çağrısı kimlik doğrulama gerektirir. Bunu yanlış yaparsanız diğer her şey başarısız olur. Çoğu geliştiricinin takıldığı nokta burasıdır.

Azure Active Directory / Microsoft Entra ID

Azure, API kimlik doğrulaması için OAuth 2.0 kullanır. Bir kullanıcı adı ve parola göndermezsiniz. Kim olduğunuzu ve neler yapabileceğinizi kanıtlayan bir erişim belirteci gönderirsiniz.

Akış şöyle görünür:

  1. Azure AD'de (Entra ID) bir uygulama kaydedin
  2. Bir istemci kimliği ve istemci sırrı alın
  3. Azure'ın belirteç uç noktasından bir erişim belirteci isteyin
  4. Bu belirteci API çağrılarınıza ekleyin

Adım 1: Bir uygulama kaydedin

Azure Portal → Microsoft Entra ID → Uygulama kayıtları → Yeni kayıt'a gidin.

Bir ad verin, dahili uygulamalar için "Yalnızca bu kuruluş dizinindeki hesaplar"ı seçin ve kaydedin. Şunları alacaksınız:

Adım 2: Bir istemci sırrı oluşturun

Uygulama kaydınızda, Sertifikalar ve sırlar → Yeni istemci sırrı'na gidin. Sır değerini hemen kopyalayın. Bir daha görmeyeceksiniz.

Adım 3: İzinleri atayın

API izinleri → Bir izin ekle'ye gidin. Azure Depolama için, "Azure Depolama" → "user_impersonation" seçeneğini belirleyin. Azure Yönetim API'leri için, "Azure Hizmet Yönetimi" → "user_impersonation" seçeneğini belirleyin.

Adım 4: Bir erişim belirteci alın

curl -X POST "https://login.microsoftonline.com/{kiracı-kimliği}/oauth2/v2.0/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "client_id={istemci-kimliği}" \
  -d "client_secret={istemci-sırrı}" \
  -d "scope=https://storage.azure.com/.default" \
  -d "grant_type=client_credentials"

Yanıt:

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

Adım 5: Belirteci kullanın

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

Ham HTTP yerine Azure SDK kullanma

Üretim kodu için Azure SDK'yı kullanın. Belirteç yenilemeyi, yeniden denemeleri ve serileştirmeyi yönetir.

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

// Azure CLI oturum açmanızı veya ortam değişkenlerinizi otomatik olarak kullanır
const credential = new DefaultAzureCredential()
const blobServiceClient = new BlobServiceClient(
  'https://hesabınız.blob.core.windows.net',
  credential
)

// Kapsayıcıları listele
for await (const container of blobServiceClient.listContainers()) {
  console.log(container.name)
}

Ancak test, hata ayıklama ve dokümantasyon için ham HTTP çağrılarını anlamanız gerekir. İşte burada Apidog devreye giriyor.

Azure Depolama API'leri

Azure Depolama, en sık kullanılan Azure hizmetidir. İçerir:

Blob Depolama API'si

Kapsayıcıları listele:

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

Bir kapsayıcı oluştur:

PUT https://{hesap}.blob.core.windows.net/{kapsayıcı}?restype=container
Authorization: Bearer {belirteç}
x-ms-version: 2023-01-03

Bir blobu yükle:

PUT https://{hesap}.blob.core.windows.net/{kapsayıcı}/{blob}
Authorization: Bearer {belirteç}
x-ms-version: 2023-01-03
Content-Type: text/plain

Merhaba, Azure Blob Depolama!

Bir blobu indir:

GET https://{hesap}.blob.core.windows.net/{kapsayıcı}/{blob}
Authorization: Bearer {belirteç}
x-ms-version: 2023-01-03

Apidog ile test etme

Azure Depolama API'leri belirli başlıklar (x-ms-version, doğru yetkilendirme biçimi) gerektirir. Apidog size şu konularda yardımcı olur:

  1. Bunları yeniden kullanılabilir istekler olarak kaydetme
  2. Hesap adları ve belirteçler için ortam değişkenleri kullanma
  3. Yanıtların beklenen şemalarla eşleştiğini doğrulama

Apidog ile Azure Depolama API'lerini tasarlayın ve test edin

Azure İşlem API'leri

Azure İşlem, sanal makineleri, kapsayıcıları ve sunucusuz işlevleri yönetmenizi sağlar.

Azure İşlevleri API'si

Azure İşlevleri, yönetim işlemleri için bir REST API'ye sahiptir.

Bir işlev uygulamasındaki işlevleri listele:

GET https://management.azure.com/subscriptions/{abonelik-kimliği}/resourceGroups/{kaynak-grubu}/providers/Microsoft.Web/sites/{uygulama-adı}/functions?api-version=2023-01-01
Authorization: Bearer {yönetim-belirteci}

Bir işlevi tetikle (HTTP tetikleyici):

POST https://{uygulama-adı}.azurewebsites.net/api/{işlev-adı}
Content-Type: application/json

{
  "name": "Azure",
  "message": "API'den merhaba"
}

İşlev anahtarlarını al:

POST https://management.azure.com/subscriptions/{abonelik-kimliği}/resourceGroups/{kaynak-grubu}/providers/Microsoft.Web/sites/{uygulama-adı}/functions/{işlev-adı}/listKeys?api-version=2023-01-01
Authorization: Bearer {yönetim-belirteci}

Sanal Makineler API'si

VM'leri listele:

GET https://management.azure.com/subscriptions/{abonelik-kimliği}/providers/Microsoft.Compute/virtualMachines?api-version=2023-07-01
Authorization: Bearer {yönetim-belirteci}

Bir VM başlat:

POST https://management.azure.com/subscriptions/{abonelik-kimliği}/resourceGroups/{kaynak-grubu}/providers/Microsoft.Compute/virtualMachines/{vm-adı}/start?api-version=2023-07-01
Authorization: Bearer {yönetim-belirteci}

Bir VM durdur:

POST https://management.azure.com/subscriptions/{abonelik-kimliği}/resourceGroups/{kaynak-grubu}/providers/Microsoft.Compute/virtualMachines/{vm-adı}/powerOff?api-version=2023-07-01
Authorization: Bearer {yönetim-belirteci}

Azure Yapay Zeka Hizmetleri API'leri

Azure, OpenAI modellerini barındırır ve görme, konuşma ve dil için bilişsel hizmetler sağlar.

Azure OpenAI API'si

Tamamlamaları al:

POST https://{kaynak-adı}.openai.azure.com/openai/deployments/{dağıtım-kimliği}/chat/completions?api-version=2024-02-15-preview
api-key: {api-anahtarınız}
Content-Type: application/json

{
  "messages": [
    {"role": "system", "content": "Sen yardımsever bir asistansın."},
    {"role": "user", "content": "Azure nedir?"}
  ],
  "max_tokens": 500
}

Dağıtımları listele:

GET https://{kaynak-adı}.openai.azure.com/openai/deployments?api-version=2024-02-15-preview
api-key: {api-anahtarınız}

Bilişsel Hizmetler API'si

Metin Analizi - Duygu:

POST https://{kaynak-adı}.cognitiveservices.azure.com/text/analytics/v3.1/sentiment
Ocp-Apim-Subscription-Key: {abonelik-anahtarı}
Content-Type: application/json

{
  "documents": [
    {
      "id": "1",
      "language": "en",
      "text": "Azure API'lerini seviyorum. Harika çalışıyorlar!"
    }
  ]
}

Bilgisayar Görüsü - Görüntüyü Analiz Et:

POST https://{kaynak-adı}.cognitiveservices.azure.com/vision/v3.2/analyze?visualFeatures=Description,Tags
Ocp-Apim-Subscription-Key: {abonelik-anahtarı}
Content-Type: application/octet-stream

[ikili görüntü verisi]

Azure API'lerini Apidog ile test etme

Azure API'leri karmaşık kimlik doğrulama gerektirir ve kesin başlıklar ister. Bunları curl ile manuel olarak test etmek hızla hataya açık hale gelir. Apidog bunu şu yollarla çözer:

1. Ortam yönetimi

Azure API'leri birden çok uç noktayı kapsar:

Apidog'da her biri için ortamlar oluşturun:

# Geliştirme
MANAGEMENT_TOKEN: eyJ0eXAiOiJKV1Qi...
STORAGE_ACCOUNT: devstorage
OPENAI_RESOURCE: dev-openai

# Üretim
MANAGEMENT_TOKEN: eyJ0eXAiOiJKV1Qi...
STORAGE_ACCOUNT: prodstorage
OPENAI_RESOURCE: prod-openai

2. Belirteç yenileme için ön istek betikleri

Azure belirteçleri 1 saat sonra sona erer. Bir ön istek betiği ekleyin:

// Belirtecin süresinin dolup dolmadığını kontrol et
const tokenExpiry = pm.environment.get('token_expiry')
const now = Date.now() / 1000

if (!tokenExpiry || now >= tokenExpiry) {
  // Yeni belirteç iste
  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. Yanıt doğrulama

Azure yanıtlarının beklenen şemalarla eşleştiğini doğrulayın:

// Blob listesinin beklenen yapıyı döndürdüğünü test et
pm.test('Yanıt kapsayıcılara sahip', () => {
  const xml = pm.response.text()
  pm.expect(xml).to.include('<Containers>')
  pm.expect(xml).to.include('<Container>')
})

pm.test('Yanıt geçerli XML', () => {
  pm.response.to.be.ok
  pm.response.to.have.header('Content-Type', 'application/xml')
})

Apidog ile Azure API'lerini test etmeye başlayın - ücretsiz

Yaygın hatalar ve nasıl düzeltilir

401 Yetkisiz

Neden: Geçersiz veya süresi dolmuş belirteç.

Düzeltme:

  1. Belirtecin süresinin dolmadığını kontrol edin (expires_in tipik olarak 3600 saniyedir)
  2. Kapsamın çağırdığınız API ile eşleştiğini doğrulayın
  3. Uygulama kaydının doğru izinlere sahip olduğundan emin olun

403 Yasak

Neden: Belirteç geçerli ancak izinleri eksik.

Düzeltme:

  1. Azure Portal'daki kaynağa gidin
  2. Erişim kontrolünü (IAM) kontrol edin
  3. Uygulamanızın hizmet sorumlusu için bir rol ataması ekleyin

404 Bulunamadı

Neden: Yanlış uç nokta veya kaynak mevcut değil.

Düzeltme:

  1. URL'deki kaynak adını doğrulayın
  2. Sorgu dizesindeki API sürümünü kontrol edin
  3. Kaynağın doğru kaynak grubunda bulunduğundan emin olun

429 Çok Fazla İstek

Neden: Azure'ın hız sınırlarına ulaştınız.

Düzeltme:

  1. Üstel geri çekilme uygulayın
  2. x-ms-ratelimit-remaining başlığını kontrol edin
  3. İstekleri gruplamayı düşünün
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
      }
    }
  }
}

Alternatifler ve karşılaştırmalar

Özellik Azure API'leri AWS API'leri GCP API'leri
Kimlik Doğrulama Azure AD (OAuth 2.0) IAM (Sig v4) OAuth 2.0
SDK kalitesi Mükemmel Mükemmel Mükemmel
Dokümantasyon Kapsamlı ama dağınık Hizmete özel Hizmete özel
Hız sınırlama Abonelik başına Hizmet başına Proje başına
Ücretsiz katman 12 ay + her zaman ücretsiz 12 ay Her zaman ücretsiz + krediler

Azure'ın kimlik doğrulaması, AWS'nin imza tabanlı yaklaşımından daha karmaşıktır, ancak kurumsal kimlik sistemleriyle daha iyi bütünleşir.

Gerçek dünya kullanım senaryoları

E-ticaret platformu. Bir Shopify alternatifi, ürün görselleri için Azure Blob Depolama, sipariş işleme web kancaları için Azure İşlevleri ve ürün açıklamaları için Azure OpenAI kullanır. Değişiklikleri dağıtmadan önce tüm API çağrılarını Apidog'da test ederler.

Sağlık Hizmetleri SaaS. Bir tıbbi kayıt sistemi, hasta verileri için Azure Cosmos DB, HL7 mesaj işleme için Azure İşlevleri ve sırlar için Azure Key Vault kullanır. API testi, her yanıt şemasını doğrulayarak HIPAA uyumluluğunu sağlar.

Yapay Zeka girişimi. Yapay zeka ajanları oluşturan bir şirket, LLM çağrıları için Azure OpenAI, eğitim verileri için Azure Depolama ve dağıtım için Azure Container Apps kullanır. Yerel geliştirme sırasında Azure API'lerini taklit etmek için Apidog'u kullanırlar.

Özetle

Öğrendikleriniz:

Sonraki adımlarınız:

  1. Azure AD'de bir uygulama kaydedin ve kimlik bilgilerinizi alın
  2. İstemci kimlik bilgileri akışını kullanarak bir erişim belirteci isteyin
  3. İlk Azure Depolama API çağrınızı yapın
  4. Bu çağrıyı Apidog'a yeniden kullanılabilir bir istek olarak kaydedin
  5. Projenizin Azure API'leri için bir koleksiyon oluşturun

Azure API'lerini Apidog ile test edin - ücretsiz

SSS

Azure AD ile Microsoft Entra ID arasındaki fark nedir?Bunlar aynı şeylerdir. Microsoft, Azure Active Directory'yi 2023'te Microsoft Entra ID olarak yeniden markaladı. Dokümantasyonda her iki adı da göreceksiniz. Yeni dokümantasyon oluştururken Entra ID kullanın, ancak Azure AD'nin eski makalelerde ve kodda hala yaygın olduğunu bilin.

Azure OpenAI için API anahtarını nasıl alırım?Azure Portal → Azure OpenAI → kaynağınız → Anahtarlar ve Uç Nokta'ya gidin. İki anahtar göreceksiniz. İkisi de çalışır. Güvenlik için bunları periyodik olarak yeniden oluşturun. OpenAI'nin genel API'sinden farklı olarak, Azure OpenAI önce bir Azure aboneliği ve kaynak dağıtımı gerektirir.

management.azure.com ile hizmete özel uç noktalar arasındaki fark nedir?management.azure.com, Azure Kaynak Yöneticisi uç noktasıdır. Azure kaynaklarının kendileri üzerinde CRUD işlemleri (bir VM oluşturma, bir depolama hesabını silme) içindir. Hizmete özel uç noktalar ({hesap}.blob.core.windows.net, {kaynak}.openai.azure.com) bu kaynakları kullanmak içindir (bir dosya yükleme, metin oluşturma). Her biri için farklı belirteçlere ihtiyacınız vardır.

Azure erişim belirteçleri ne kadar süreyle geçerlidir?Tipik olarak 1 saat (3600 saniye). Eski belirteç süresi dolmadan yeni bir belirteç isteyebilirsiniz. Ne zaman yenilemeniz gerektiğini bilmek için belirteç yanıtından expires_in alanını kullanın. Her API çağrısında yeni bir belirteç istemeyin - bu verimsizdir.

İstemci sırları yerine yönetilen kimlikleri kullanabilir miyim?Evet, ve Azure'da çalışan üretim iş yükleri için kullanmalısınız. Yönetilen kimlikler, istemci sırlarını depolama ihtiyacını ortadan kaldırır. Azure VM'leri, İşlevleri, Kapsayıcı Uygulamaları ve AKS ile çalışırlar. Yerel geliştirme için Azure CLI (az login) veya istemci sırları olan ortam değişkenlerini kullanın.

API çağrım Postman'da çalışırken kodda neden başarısız oluyor?Başlıkları kontrol edin. Azure API'leri başlık adları için büyük/küçük harf duyarlıdır. Postman fark etmediğiniz başlıkları ekliyor olabilir. Fiddler veya Apidog'un istek denetimi gibi bir araç kullanarak Postman'dan gelen ham isteği kodunuzla karşılaştırın.

Azure aboneliği olmadan Azure API'lerini yerel olarak nasıl test edebilirim?Bir abonelik olmadan tam olarak test edemezsiniz, ancak Azure'ın yerel emülatörlerini kullanabilirsiniz:

Azure API hatalarını işlemenin en iyi yolu nedir?Azure, ayrıntılı hata JSON'u döndürür. error.code ve error.message alanlarını ayrıştırın. Yaygın kodlar:

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin