建立 SelfServePolicy
本文說明如何建立新的自助原則。
必要條件
- 認證,如合作夥伴中心驗證所述。 此案例支援使用 Application+User 認證進行驗證。
C#
建立自助原則:
- 使用自助原則資訊呼叫 IAggregatePartner.SelfServePolicies.Create 或 IAggregatePartner.SelfServePolicies.CreateAsync 方法。
// 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);
如需範例,請參閱下列內容:
- 範例: 主控台測試應用程式
- 專案: PartnerSDK.FeatureSamples
- 類別: CreateSelfServePolicies.cs
REST 要求
要求的語法
方法 | 要求 URI |
---|---|
POST | {baseURL}/v1/SelfServePolicy HTTP/1.1 |
要求標頭
- 需要要求識別碼和相互關聯識別碼。
- 如需詳細資訊,請參閱合作夥伴中心 REST 標頭。
要求本文
下表描述要求本文中的必要屬性。
名稱 | 類型 | 描述 |
---|---|---|
SelfServePolicy | object | 自助原則資訊。 |
SelfServePolicy
下表描述建立新自助原則所需的 SelfServePolicy 資源所需的最小必要欄位。
屬性 | 類型 | 描述 |
---|---|---|
SelfServeEntity | SelfServeEntity | 正在授與存取權的自助實體。 |
授與者 | 授與者 | 授與存取權的授與者。 |
權限 | 許可權陣列 | 許可權資源的陣列。 |
要求範例
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: aaaa0000-bb11-2222-33cc-444444dddddd
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": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"grantor": {
"grantorType": "billToPartner",
"tenantID": "bbbbcccc-1111-dddd-2222-eeee3333ffff"
},
"permissions": [
{
"resource": "AzureReservedInstances",
"action": "Purchase"
},
{
"resource": "AzureSavingsPlan",
"action": "Purchase"
}
]
}
REST 回應
如果成功,此 API 會傳回新自助原則的 SelfServePolicy 資源。
回應成功和錯誤碼
每個回應都隨附 HTTP 狀態碼,會指出成功與否以及其他的偵錯資訊。 請使用網路追蹤工具來讀取此錯誤碼、錯誤類型和其他參數。 如需完整清單,請參閱合作夥伴中心的 REST 錯誤碼。
此方法會傳回下列錯誤碼:
HTTP 狀態碼 | 錯誤碼 | 描述 |
---|---|---|
409 | 600041 | 自助原則已經存在。 |
回應範例
HTTP/1.1 201 Created
Content-Length: 834
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
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": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
},
"grantor": {
"grantorType": "billToPartner",
"tenantID": "bbbbcccc-1111-dddd-2222-eeee3333ffff"
},
"permissions": [
{
"resource": "AzureReservedInstances",
"action": "Purchase"
},
{
"resource": "AzureSavingsPlan",
"action": "Purchase"
}
],
"attributes": {
"etag": "\"933523d1-3f63-4fc3-8789-5e21c02cdaed\"",
"objectType": "SelfServePolicy"
}
}