共用方式為


從整合沙箱中刪除客戶帳戶

適用于:合作夥伴中心 |由 21Vianet 營運的合作夥伴中心 |適用于 Microsoft Cloud for US Government 的合作夥伴中心

本文說明如何中斷合作夥伴與客戶帳戶之間的關聯性,並重新取得生產 (提示) 整合沙箱中測試的配額。

重要

當您刪除客戶帳戶時,將會清除與該客戶租使用者相關聯的所有資源。

必要條件

  • 認證,如合作夥伴中心驗證所述。 此案例支援使用獨立應用程式和 App+使用者認證進行驗證。

  • 客戶識別碼 (customer-tenant-id)。 如果您不知道客戶的識別碼,您可以選取 [客戶] 工作區,然後從客戶清單中選取客戶,然後從客戶清單中查詢該識別碼,然後查閱合作夥伴中心。 在客戶的 [帳戶] 頁面上,尋找 [客戶帳戶資訊] 區段中的 [Microsoft 識別碼] 。 Microsoft 識別碼與客戶識別碼 () customer-tenant-id 相同。

  • 從 Tip 整合沙箱中刪除客戶之前,必須先取消所有 Azure 保留的虛擬機器實例和軟體採購單。

C#

若要從提示整合沙箱中刪除客戶:

  1. 將您的 Tip 帳號憑證傳遞至 CreatePartnerOperations 方法,以取得 IPartner 介面給合作夥伴作業。

  2. 使用合作夥伴作業介面來擷取權利集合:

    1. 使用客戶識別碼呼叫 Customers.ById () 方法來指定客戶。

    2. 呼叫 Entitlements 屬性。

    3. 呼叫 GetGetAsync 方法來擷取 Entitlement 集合。

  3. 請確定已取消該客戶的所有 Azure 保留虛擬機器實例和軟體採購單。 針對集合中的每個 權利

    1. 使用 entitlement.ReferenceOrder.Id ,從客戶的訂單集合取得對應 Order 的本機複本。

    2. Order.Status 屬性設定為 「Cancelled」。

    3. 使用 Patch () 方法來更新順序。

  4. 取消所有訂單。 例如,下列程式碼範例會使用 迴圈來輪詢每個訂單,直到其狀態為「已取消」為止。

    // 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();
    
  5. 呼叫客戶的 Delete 方法,確定已取消所有訂單。

範例主控台測試應用程式專案:合作夥伴中心 PartnerCenterSDK.FeaturesSamples 類別:DeleteCustomerFromTipAccount.cs

REST 要求

要求的語法

方法 要求 URI
DELETE {baseURL}/v1/customers/{customer-tenant-id} HTTP/1.1

URI 參數

使用下列查詢參數來刪除客戶。

名稱 類型 必要 說明
customer-tenant-id GUID Y 此值是 GUID 格式 的客戶租 使用者識別碼,可讓轉銷商篩選屬於轉銷商之指定客戶的結果。

要求標頭

如需詳細資訊,請參閱合作夥伴中心 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: 1438ea3d-b515-45c7-9ec1-27ee0cc8e6bd
Content-Length: 0

REST 回應

如果成功,這個方法會傳回空的回應。

回應成功和錯誤碼

每個回應都隨附 HTTP 狀態碼,會指出成功與否以及其他的偵錯資訊。 請使用網路追蹤工具來讀取此錯誤碼、錯誤類型和其他參數。 如需完整清單,請參閱合作夥伴中心的 REST 錯誤碼

回應範例

HTTP/1.1 204 No Content
Content-Length: 0
MS-CorrelationId: 1438ea3d-b515-45c7-9ec1-27ee0cc8e6bd
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5
Date: Wed, 16 Mar 2016 00:43:02 GMT