创建 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 |
请求标头
- 请求 ID 和相关 ID 是必需的。
- 有关详细信息,请参阅合作伙伴中心 REST 标头。
请求正文
下表描述了请求正文中的必需属性。
名称 | 类型 | 说明 |
---|---|---|
SelfServePolicy | object | 自助服务策略信息。 |
SelfServePolicy
下表描述了创建新的自助服务策略所需的 SelfServePolicy 资源中的最小必填字段。
properties | 类型 | 说明 |
---|---|---|
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: 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 响应
如果成功,此 API 将返回新的自助服务策略的 SelfServePolicy 资源。
响应的成功和错误代码
每个响应都带有一个 HTTP 状态代码,用于指示成功或失败以及其他调试信息。 请使用网络跟踪工具来读取此代码、错误类型和其他参数。 如需完整列表,请参阅合作伙伴中心 REST 错误代码。
此方法返回以下错误代码:
HTTP 状态代码 | 错误代码 | 说明 |
---|---|---|
409 | 600041 | 自助服务策略已存在。 |
响应示例
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"
}
}
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈