SelfServePolicy Oluşturma
Bu makalede yeni bir self servis ilkesinin nasıl oluşturulacağı açıklanmaktadır.
Önkoşullar
- İş Ortağı Merkezi kimlik doğrulamasında açıklandığı gibi kimlik bilgileri. Bu senaryo Application+User kimlik bilgileriyle kimlik doğrulamayı destekler.
C#
Self servis ilkesi oluşturma:
- Self servis ilke bilgileriyle IAggregatePartner.SelfServePolicies.Create veya IAggregatePartner.SelfServePolicies.CreateAsync yöntemini çağırın.
// IAggregatePartner partnerOperations;
string customerIdAsEntity;
var selfServePolicy = new SelfServePolicy
{
SelfServeEntity = new SelfServeEntity
{
SelfServeEntityType = "customer",
TenantID = customerIdAsEntity,
},
Grantor = new Grantor
{
GrantorType = "billToPartner",
TenantID = partnerIdAsGrantor,
},
Permissions = new Permission[]
{
new Permission
{
Action = "Purchase",
Resource = "AzureReservedInstances",
},
},
{
new Permission
{
Action = "Purchase",
Resource = "AzureSavingsPlan",
},
},
};
// All the operations executed on this partner operation instance will share the same correlation Id but will differ in request Id
IPartner scopedPartnerOperations = partnerOperations.With(RequestContextFactory.Instance.Create(Guid.NewGuid()));
// creates the self-serve policy
SelfServePolicy createdSelfServePolicy = scopedPartnerOperations.selfServePolicies.Create(selfServePolicy);
Bir örnek için aşağıdakilere bakın:
- Örnek: Konsol test uygulaması
- Proje: PartnerSDK.FeatureSamples
- Sınıf: CreateSelfServePolicies.cs
REST isteği
İstek söz dizimi
Yöntem | İstek URI'si |
---|---|
POST | {baseURL}/v1/SelfServePolicy HTTP/1.1 |
İstek üst bilgileri
- İstek kimliği ve bağıntı kimliği gereklidir.
- Daha fazla bilgi için bkz. İş Ortağı Merkezi REST üst bilgileri.
İstek gövdesi
Bu tablo, istek gövdesindeki gerekli özellikleri açıklar.
Ad | Tür | Description |
---|---|---|
SelfServePolicy | object | Self servis ilke bilgileri. |
SelfServePolicy
Bu tabloda, yeni bir self servis ilkesi oluşturmak için gereken SelfServePolicy kaynağından gereken en düşük alanlar açıklanmaktadır.
Özellik | Tür | Description |
---|---|---|
SelfServeEntity | SelfServeEntity | Erişim verilen self servis varlık. |
Grantor | Grantor | Erişim izni veren veren. |
İzinler | İzin Dizisi | İzin kaynakları dizisi. |
İstek örneği
POST https://api.partnercenter.microsoft.com/v1/SelfServePolicy HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: ab993325-1605-4cf4-bac4-fb584142a31b
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 789
Expect: 100-continue
Connection: Keep-Alive
{
"selfServeEntity": {
"selfServeEntityType": "customer",
"tenantID": "0431a72c-7d8a-4393-b25e-ef63f5efb415"
},
"grantor": {
"grantorType": "billToPartner",
"tenantID": "634f6379-ad54-449b-9821-564f737158ab"
},
"permissions": [
{
"resource": "AzureReservedInstances",
"action": "Purchase"
},
{
"resource": "AzureSavingsPlan",
"action": "Purchase"
}
]
}
REST yanıtı
Başarılı olursa, bu API yeni self servis ilkesi için bir SelfServePolicy kaynağı döndürür.
Yanıt başarısı ve hata kodları
Her yanıt, başarılı veya başarısız olduğunu ve ek hata ayıklama bilgilerini gösteren bir HTTP durum koduyla birlikte gelir. Bu kodu, hata türünü ve ek parametreleri okumak için bir ağ izleme aracı kullanın. Tam liste için bkz. İş Ortağı Merkezi REST hata kodları.
Bu yöntem aşağıdaki hata kodlarını döndürür:
HTTP Durum Kodu | Hata kodu | Açıklama |
---|---|---|
409 | 600041 | Self servis ilkesi zaten var. |
Yanıt örneği
HTTP/1.1 201 Created
Content-Length: 834
Content-Type: application/json; charset=utf-8
MS-CorrelationId: ab993325-1605-4cf4-bac4-fb584142a31b
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
Date: Tue, 14 Feb 2017 20:06:02 GMT
{
"id": "634f6379-ad54-449b-9821-564f737158ab_0431a72c-7d8a-4393-b25e-ef63f5efb415",
"selfServeEntity": {
"selfServeEntityType": "customer",
"tenantID": "0431a72c-7d8a-4393-b25e-ef63f5efb415"
},
"grantor": {
"grantorType": "billToPartner",
"tenantID": "634f6379-ad54-449b-9821-564f737158ab"
},
"permissions": [
{
"resource": "AzureReservedInstances",
"action": "Purchase"
},
{
"resource": "AzureSavingsPlan",
"action": "Purchase"
}
],
"attributes": {
"etag": "\"933523d1-3f63-4fc3-8789-5e21c02cdaed\"",
"objectType": "SelfServePolicy"
}
}
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