从集成沙盒中删除客户帐户
适用于:合作伙伴中心 | 由世纪互联运营的合作伙伴中心 | Microsoft Cloud for US Government 合作伙伴中心
本文介绍如何打破合作伙伴与客户帐户之间的关系,并重新获得在生产 (提示) 集成沙盒中测试的配额。
重要
删除客户帐户时,将清除与该客户租户关联的所有资源。
必备条件
合作伙伴中心身份验证中所述的凭据。 此方案支持使用独立应用和应用+用户凭据进行身份验证。
客户 ID (
customer-tenant-id
)。 如果不知道客户的 ID,可以通过选择“客户”工作区、客户列表中的“客户”和“帐户”,在合作伙伴中心中查找该 ID。 在客户的“帐户”页上的“客户帐户信息” 部分查找 Microsoft ID。 Microsoft ID 与客户 ID (customer-tenant-id
) 相同。必须先取消所有 Azure 虚拟机预留实例和软件采购订单,然后才能从 Tip 集成沙盒中删除客户。
C#
若要从 Tip 集成沙盒中删除客户,请执行以下操作:
将 Tip 帐户凭据传递到 CreatePartnerOperations 方法,以获取 IPartner 接口以执行合作伙伴操作。
使用合作伙伴操作接口检索权利集合:
使用客户标识符调用 Customers.ById () 方法以指定客户。
调用 Entitlements 属性。
调用 Get 或 GetAsync 方法来检索 Entitlement 集合。
请确保取消该客户的所有 Azure 虚拟机预留实例和软件采购订单。 对于集合中的每个 权利 :
使用 entitlement.ReferenceOrder.Id 从客户的订单集合中获取相应 订单 的本地副本。
将 Order.Status 属性设置为“Cancelled”。
使用 Patch () 方法更新顺序。
取消所有订单。 例如,下面的代码示例使用循环轮询每个订单,直到其状态为“已取消”。
// IPartnerCredentials tipAccountCredentials; // Customer tenant Id to be deleted. // string customerTenantId; IPartner tipAccountPartnerOperations = PartnerService.Instance.CreatePartnerOperations(tipAccountCredentials); // Get all entitlements whose order must be canceled. ResourceCollection<Entitlement> entitlements = tipAccountPartnerOperations.Customers.ById(customerTenantId).Entitlements.Get(); // Cancel all orders foreach (var entitlement in entitlements) { var order = tipAccountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(entitlement.ReferenceOrder.Id).Get(); order.Status = "Cancelled"; order = tipAccountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(order.Id).Patch(order); } // Keep polling until the status of all orders is "Cancelled". bool proceed = true; do { // Check if all the orders were canceled. foreach (var entitlement in entitlements) { var order = tipAccountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(entitlement.ReferenceOrder.Id).Get(); if (!order.Status.Equals("Cancelled", StringComparison.OrdinalIgnoreCase)) { proceed = false; } } // Wait for a few seconds. Thread.Sleep(5000); } while (proceed == false); tipAccountPartnerOperations.Customers.ById(customerTenantId).Delete();
确保通过为客户调用 Delete 方法取消所有订单。
示例: 控制台测试应用。 项目:合作伙伴中心 PartnerCenterSDK.FeaturesSamples 类:DeleteCustomerFromTipAccount.cs
REST 请求
请求语法
方法 | 请求 URI |
---|---|
DELETE | {baseURL}/v1/customers/{customer-tenant-id} HTTP/1.1 |
URI 参数
使用以下查询参数删除客户。
名称 | 类型 | 必须 | 说明 |
---|---|---|---|
customer-tenant-id | GUID | Y | 该值是 GUID 格式 的 customer-tenant-id ,允许经销商筛选属于经销商的给定客户的结果。 |
请求标头
有关详细信息,请参阅合作伙伴中心 REST 标头。
请求正文
无。
请求示例
DELETE https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id> HTTP/1.1
Accept: application/json
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
Content-Length: 0
REST 响应
如果成功,此方法将返回空响应。
响应的成功和错误代码
每个响应都带有一个 HTTP 状态代码,用于指示成功或失败以及其他调试信息。 请使用网络跟踪工具来读取此代码、错误类型和其他参数。 如需完整列表,请参阅合作伙伴中心 REST 错误代码。
响应示例
HTTP/1.1 204 No Content
Content-Length: 0
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5
Date: Wed, 16 Mar 2016 00:43:02 GMT