SelfServePolicy oluşturma
Bu makalede, yeni bir self servis ilkesinin nasıl oluşturulacağı açıklanmaktadır.
Önkoşullar
- Iş ortağı merkezi kimlik doğrulamasındaaçıklandığı gibi kimlik bilgileri. Bu senaryo, uygulama + kullanıcı kimlik bilgileriyle kimlik doğrulamasını destekler.
C#
Self Servis ilkesi oluşturun:
- Self Servis ilke bilgileriyle ıaggregatepartner. SelfServePolicies. Create veya ıaggregatepartner. SelfServePolicies. createasync metodunu ç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",
},
},
};
// 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ı
- Project: partnersdk. featuresamples
- Sınıf: CreateSelfServePolicies. cs
REST isteği
İstek sözdizimi
| Yöntem | İstek URI'si |
|---|---|
| YAYINLA | {BaseUrl}/v1/SelfServePolicy http/1.1 |
İstek üst bilgileri
- İstek KIMLIĞI ve bağıntı KIMLIĞI gereklidir.
- Daha fazla bilgi için bkz. Iş ortağı MERKEZI Rest üstbilgileri.
İstek gövdesi
Bu tabloda, istek gövdesinde gereken özellikler açıklanmaktadır.
| 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 gerekli en düşük alan açıklanmaktadır.
| Özellik | Tür | Description |
|---|---|---|
| SelfServeEntity | SelfServeEntity | Erişim izni verilen self servis varlığı. |
| Verenin Grant izni | Verenin Grant izni | Erişim veren granör. |
| İzinler | Izin 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"
}
}
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ı veya başarısızlık ve ek hata ayıklama bilgilerini gösteren bir HTTP durum kodu ile gelir. Bu kodu, hata türünü ve ek parametreleri okumak için bir ağ izleme aracı kullanın. Tam liste için bkz. Iş ortağı MERKEZI Rest hata kodları.
Bu yöntem aşağıdaki hata kodlarını döndürür:
| HTTP durum kodu | Hata kodu | Description |
|---|---|---|
| 409 | 600041 | Self Servis İlkesi 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"
}],
"attributes": {
"etag": "\"933523d1-3f63-4fc3-8789-5e21c02cdaed\"",
"objectType": "SelfServePolicy"
}
}