Aracılığıyla paylaş


SelfServePolicy Oluşturma

Bu makalede yeni bir self servis ilkesinin nasıl oluşturulacağı açıklanmaktadır.

Önkoşullar

C#

Self servis ilkesi oluşturma:

  1. 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:

REST isteği

İstek söz dizimi

Yöntem İstek URI'si
POST {baseURL}/v1/SelfServePolicy HTTP/1.1

İstek ü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"
    }
}