Aracılığıyla paylaş


Azure Stack Hub'a API istekleri gönderme

Azure Stack Hub'ı bulutunuza sanal makine (VM) ekleme gibi işlemleri otomatikleştirmek için Azure Stack Hub REST API'lerini kullanabilirsiniz.

API'ler, istemcinizin Microsoft Azure oturum açma uç noktasında kimlik doğrulaması yapmalarını gerektirir. Uç nokta, Azure Stack Hub API'lerine gönderilen her isteğin üst bilgisinde kullanılacak bir belirteç döndürür. Microsoft Azure, Oauth 2.0 kullanır.

Bu makalede, Azure Stack Hub istekleri oluşturmak için cURL yardımcı programını kullanan örnekler sağlanır. cURL, veri aktarımı için kitaplığı olan bir komut satırı aracıdır. Bu örneklerde, Azure Stack Hub API'lerine erişmek için belirteç alma işlemi açıklanmaktadır. Çoğu programlama dili, sağlam belirteç yönetimine sahip olan ve belirteci yenileme gibi görevleri işleyen Oauth 2.0 kitaplıkları sağlar.

Temel istekleri ve yanıt yükünde neler bekleyebileceğinizi anlamanıza yardımcı olmak için Azure Stack Hub REST API'lerini cURL gibi genel bir REST istemcisiyle kullanma işleminin tamamını gözden geçirin.

Bu makalede etkileşimli oturum açma veya ayrılmış uygulama kimlikleri oluşturma gibi belirteçleri almak için kullanılabilen tüm seçenekler keşfedilmez. Bu konular hakkında daha fazla bilgi için bkz. Azure REST API başvurusu.

Azure'dan belirteç alma

Erişim belirteci almak için içerik türünü x-www-form-urlencoded kullanarak biçimlendirilmiş bir istek gövdesi oluşturun. İsteğinizi Azure REST kimlik doğrulaması ve oturum açma uç noktasına GÖNDERIN.

URI

POST https://login.microsoftonline.com/{tenant id}/oauth2/token

Kiracı Kimliği şu şekildedir:

  • Kiracı etki alanınız, örneğin fabrikam.onmicrosoft.com
  • Kiracı kimliğiniz, örneğin 8eaed023-2b34-4da1-9baa-8bc8c9d6a491
  • Kiracıdan bağımsız anahtarlar için varsayılan değer: common

Gövde sonrası

grant_type=password
&client_id=1950a258-227b-4e31-a9cf-717495945fc2
&resource=https://contoso.onmicrosoft.com/4de154de-f8a8-4017-af41-df619da68155
&username=admin@fabrikam.onmicrosoft.com
&password=Password123
&scope=openid

Her değer için:

  • grant_type:
    Kullanacağınız kimlik doğrulama düzeninin türü. Bu örnekte değeri şeklindedir password.

  • kaynak:
    Belirtecin eriştiği kaynak. Azure Stack Hub yönetim meta veri uç noktasını sorgulayarak kaynağı bulabilirsiniz. İzleyiciler bölümüne bakın.

  • Azure Stack Hub yönetim uç noktası:

    https://management.{region}.{Azure Stack Hub domain}/metadata/endpoints?api-version=2015-01-01
    

    Not

    Kiracı API'sine erişmeye çalışan bir yöneticiyseniz kiracı uç noktasını kullandığınızdan emin olun; örneğin, https://adminmanagement.{region}.{Azure Stack Hub domain}/metadata/endpoints?api-version=2015-01-011.

    Örneğin, Uç nokta olarak Azure Stack Geliştirme Seti (ASDK) ile:

    curl 'https://management.local.azurestack.external/metadata/endpoints?api-version=2015-01-01'
    

    Yanıt:

    {
    "galleryEndpoint":"https://adminportal.local.azurestack.external:30015/",
    "graphEndpoint":"https://graph.windows.net/",
    "portalEndpoint":"https://adminportal.local.azurestack.external/",
    "authentication":{
       "loginEndpoint":"https://login.windows.net/",
       "audiences":["https://contoso.onmicrosoft.com/4de154de-f8a8-4017-af41-df619da68155"]
       }
    }
    

Örnek 1

https://contoso.onmicrosoft.com/4de154de-f8a8-4017-af41-df619da68155
  • client_id

    Bu değer varsayılan bir değere sabit kodlanır:

    1950a258-227b-4e31-a9cf-717495945fc2
    

    Belirli senaryolar için alternatif seçenekler mevcuttur:

    Uygulama ApplicationID
    LegacyPowerShell 0a7bdc5c-7b57-40be-9939-d4c5fc7cd417
    PowerShell 1950a258-227b-4e31-a9cf-717495945fc2
    WindowsAzureActiveDirectory 00000002-0000-0000-c000-0000000000000
    VisualStudio 872cd9fa-d31f-45e0-9eab-6e460a02d1f1
    AzureCLI 04b07795-8ddb-461a-bbee-02f9e1bf7b46
  • Username

    Örneğin, Azure Stack Hub Microsoft Entra hesabı:

    azurestackadmin@fabrikam.onmicrosoft.com
    
  • parola

    Azure Stack Hub Microsoft Entra yönetici parolası.

Örnek 2

İstek:

curl -X "POST" "https://login.windows.net/fabrikam.onmicrosoft.com/oauth2/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "client_id=1950a258-227b-4e31-a9cf-717495945fc2" \
--data-urlencode "grant_type=password" \
--data-urlencode "username=admin@fabrikam.onmicrosoft.com" \
--data-urlencode 'password=Password12345' \
--data-urlencode "resource=https://contoso.onmicrosoft.com/4de154de-f8a8-4017-af41-df619da68155"

Yanıt:

{
  "token_type": "Bearer",
  "scope": "user_impersonation",
  "expires_in": "3599",
  "ext_expires_in": "0",
  "expires_on": "1512574780",
  "not_before": "1512570880",
  "resource": "https://contoso.onmicrosoft.com/4de154de-f8a8-4017-af41-df619da68155",
  "access_token": "eyJ0eXAiOi...truncated for readability..."
}

API sorguları

Erişim belirtecini aldıktan sonra, api isteklerinizin her birine üst bilgi olarak ekleyin. Bunu üst bilgi olarak eklemek için şu değere sahip bir yetkilendirme üst bilgisi oluşturun: Bearer <access token>. Örnek:

İstek:

curl -H "Authorization: Bearer eyJ0eXAiOi...truncated for readability..." 'https://adminmanagement.local.azurestack.external/subscriptions?api-version=2016-05-01'

Yanıt:

offerId : /delegatedProviders/default/offers/92F30E5D-F163-4C58-8F02-F31CFE66C21B
id : /subscriptions/800c4168-3eb1-406b-a4ca-919fe7ee42e8
subscriptionId : 800c4168-3eb1-406b-a4ca-919fe7ee42e8
tenantId : 9fea4606-7c07-4518-9f3f-8de9c52ab628
displayName : Default Provider Subscription
state : Enabled
subscriptionPolicies : @{locationPlacementId=AzureStack}

URL yapısı ve sorgu söz dizimi

Genel istek URI'si şunlardan oluşur: {URI-scheme} :// {URI-host} / {resource-path} ? {query-string}

  • URI şeması:
    URI, isteği göndermek için kullanılan protokolü gösterir. Örneğin http veya https olabilir.
  • URI konağı:
    Konak, VEYA gibi graph.microsoft.com REST hizmet uç noktasının barındırıldığı sunucunun etki alanı adını veya adminmanagement.local.azurestack.externalIP adresini belirtir.
  • Kaynak yolu:
    yol kaynağı veya kaynak koleksiyonunu belirtir. Bu, hizmet tarafından bu kaynakların seçilmesinde kullanılan birden çok segmenti içerebilir. Örneğin: beta/applications/00003f25-7e1f-4278-9488-efc7bac53c4a/owners listeyi uygulama koleksiyonundaki belirli bir uygulamanın sahiplerini sorgulamak için kullanılabilir.
  • Sorgu dizesi:
    Dize, API sürümü veya kaynak seçim ölçütleri gibi ek basit parametreler sağlar.

Azure Stack Hub istek URI'si yapısı

{URI-scheme} :// {URI-host} / {subscription id} / {resource group} / {provider} / {resource-path} ? {OPTIONAL: filter-expression} {MANDATORY: api-version}

URI söz dizimi

https://adminmanagement.local.azurestack.external/{subscription id}/resourcegroups/{resource group}/providers/{provider}/{resource-path}?{api-version}

Sorgu URI örneği

https://adminmanagement.local.azurestack.external/subscriptions/800c4168-3eb1-406b-a4ca-919fe7ee42e8/resourcegroups/system.local/providers/microsoft.infrastructureinsights.admin/regionhealths/local/Alerts?$filter=(Properties/State eq 'Active') and (Properties/Severity eq 'Critical')&$orderby=Properties/CreatedTimestamp desc&api-version=2016-05-01"

Sonraki adımlar

Azure REST uç noktalarını kullanma hakkında daha fazla bilgi için bkz. Azure REST API başvurusu.