Vytvoření SelfServePolicy

Tento článek vysvětluje, jak vytvořit nové samoobslužné zásady.

Požadavky

C#

Vytvoření samoobslužné zásady:

  1. Volejte metodu IAggregatePartner.SelfServePolicies.Create nebo IAggregatePartner.SelfServePolicies.CreateAsync s informacemi o samoobslužných zásadách.
// 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);

Příklad:

Požadavek REST

Syntaxe požadavku

Metoda Identifikátor URI žádosti
POST {baseURL}/v1/SelfServePolicy HTTP/1.1

Hlavičky požadavku

Text požadavku

Tato tabulka popisuje požadované vlastnosti v textu požadavku.

Název Typ Description
Zásady samoobslužné služby object Informace o samoobslužných zásadách

Zásady samoobslužné služby

Tato tabulka popisuje minimální povinná pole z prostředku SelfServePolicy potřebná k vytvoření nové samoobslužné zásady.

Vlastnost Typ Description
SelfServeEntity SelfServeEntity Samoobslužná entita, které se uděluje přístup.
Grantor Grantor Grantor, který uděluje přístup.
Oprávnění Pole oprávnění Pole prostředků oprávnění .

Příklad požadavku

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"
        }
    ]
}

Odpověď REST

V případě úspěchu toto rozhraní API vrátí prostředek SelfServePolicy pro nové samoobslužné zásady.

Úspěšné odpovědi a kódy chyb

Každá odpověď obsahuje stavový kód HTTP, který označuje úspěch nebo neúspěch, a další informace o ladění. Ke čtení tohoto kódu, typu chyby a dalších parametrů použijte nástroj pro trasování sítě. Úplný seznam najdete v tématu Kódy chyb rozhraní REST v Partnerském centru.

Tato metoda vrátí následující kódy chyb:

Stavový kód HTTP Kód chyby Popis
409 600041 Samoobslužné zásady už existují.

Příklad odpovědi

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"
    }
}