統合サンドボックスから顧客アカウントを削除する

適用対象: パートナー センター | 21Vianet が運営するパートナー センター | Microsoft Cloud for US Government のパートナー センター

この記事では、パートナーと顧客アカウントの関係を解除し、運用テスト (ヒント) 統合サンドボックスのクォータを回復する方法について説明します。

重要

顧客アカウントを削除すると、その顧客テナントに関連付けられているすべてのリソースが消去されます。

前提条件

  • パートナー センターの認証に関するページで説明している資格情報。 このシナリオでは、スタンドアロンの App と App+User の両方の資格情報を使用した認証がサポートされています。

  • 顧客 ID です (customer-tenant-id)。 顧客の ID がわからない場合は、 パートナー センター で [顧客] ワークスペースを選択し、 次に顧客 の一覧から [顧客]、[ アカウント] の順に選択して、その ID を検索できます。 お客様のアカウント ページで、 [顧客のアカウント情報] セクションの Microsoft ID を探します。 Microsoft ID は、顧客 ID (customer-tenant-id) と同じです。

  • Tip 統合サンドボックスから顧客を削除する前に、すべての Azure 予約仮想マシン インスタンスとソフトウェア発注書を取り消す必要があります。

C#

Tip 統合サンドボックスから顧客を削除するには:

  1. パートナー操作への IPartner インターフェイスを取得するには、Tip アカウントの資格情報を CreatePartnerOperations メソッドに渡します。

  2. パートナー操作インターフェイスを使用して、エンタイトルメントのコレクションを取得します。

    1. 顧客識別子を使用 して Customers.ById() メソッドを呼び出して、顧客を指定します。

    2. Entitlements プロパティを呼び出します。

    3. Get メソッドまたは GetAsync メソッドを呼び出して、エンタイトルメント コレクションを取得します。

  3. その顧客のすべての Azure 予約仮想マシン インスタンスとソフトウェア発注書が取り消されていることを確認します。 コレクション内の 各エンタイトルメント に対して、次の手順を実行します。

    1. entitlement.ReferenceOrder.Id を使用して、顧客の注文のコレクションから対応する Order のローカル コピーを取得します。

    2. Order.Status プロパティを "Cancelled" に設定します。

    3. Patch() メソッドを使用して注文を更新します。

  4. すべての注文をキャンセルします。 たとえば、次のコード サンプルでは、ループを使用して、状態が "Cancelled" になるまで各注文をポーリングします。

    // 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 パラメーター

顧客を削除するには、次のクエリ パラメーターを使用します。

名前 Type 必須 説明
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: 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