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 şeklindedirpassword
.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ğinhttp
veyahttps
olabilir. - URI konağı:
Konak, VEYA gibigraph.microsoft.com
REST hizmet uç noktasının barındırıldığı sunucunun etki alanı adını veyaadminmanagement.local.azurestack.external
IP 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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin