バッチ移行ツール (BAM) を使用してサブスクリプションを新しいコマース エクスペリエンスに移行する
バッチ移行ツール (BAM) を使用して、多数のサブスクリプションを新しいコマース エクスペリエンス (NCE) に効率的に移行できます。
( .NET SDK バージョン 3.0.1 から移行 API を使用してサブスクリプションのバッチを移行することもできます)。
重要
2023 年 6 月の時点で、最新のパートナー センター .NET SDK リリース 3.4.0 がアーカイブされるようになりました。 SDK リリースは、有用な情報が記載された readme ファイルと一緒に GitHub からダウンロードできます。
パートナーの皆様には、パートナー センター REST API を引き続き使用することをお勧めします。
BAM ツール:
Batch 移行ツールの機能
BAM ツールを使用すると、次のことができます。
テナントのすべての顧客の一覧を取得します。
.csv ファイルで顧客のレガシ サブスクリプションを取得します。
移行のためにエクスポート.csvファイルを準備し、移行中にサブスクリプション (シート数、期間、支払いサイクルの変更など) を編集します。
更新されたサブスクリプション .csv ファイルをツールにアップロードし、その後、ツールが移行要求を実行します。
移行要求の状態を確認する。
入力ファイル内のすべての顧客リストのすべての NCE サブスクリプションをダウンロードします。
前提条件
BAM ツールを使用するには、.NET 6.0 SDK が必要です。
SDK とサンプル コード
SDK リリースに関する詳細とリソース、および BAM ツールへのアクセスに使用できるサンプル アプリ コードについては、次のようにします。
BAM ツールを使用する
Note
詳細な手順については、「 バッチの移行の詳細なフローを参照してください。
バッチ移行のワークフロー オプションを読み込むには、次の手順を使用します。
- BAM ツールを実行し、コマンド プロンプト ncebulkmigration [アプリ ID] {UPN ID] を入力します。
この段階で実行できるアクションは次のとおりです。
- 顧客の一覧をエクスポートします。
- 移行の資格を持つレガシ サブスクリプションをエクスポートします。
- 移行するサブスクリプションをアップロードする。
- 移行のために既にアップロードされているバッチの移行の状態をエクスポートする。
- 新しいコマース エクスペリエンス サブスクリプションの一覧をエクスポートします。
アカウント認証
BAM ツールはマルチテナント アプリ用に構成されていません。 認証を完了する場合は、シングル テナント構成のアプリの AppID を使用します。
Microsoft では、マルチテナント アプリケーションのバッチ移行を有効にするためのオプションを評価しています。
顧客の一覧をエクスポートする
顧客の一覧をエクスポートするには、次の手順を使用します。
- BAM ツールを実行し コマンド 1 を入力します。
エクスポートされた顧客の一覧は、BAM ツールのフォルダーの output ファイルに保存されます。
エクスポートされた顧客をファイル customers.csv で確認できます。
パートナー テナント ID の下の顧客ごとに、次の情報を表示できます。
- 顧客テナント ID
- 顧客ドメイン
- 顧客の会社名
一部の顧客のサブスクリプションにアクセスする
ダウンロードした customers.csv ファイルから、次のファイルダウンロードでエクスポートしないサブスクリプションを持つ顧客の行を削除できます。 ファイルに残っているお客様は、BAM ツールのワークフローの次の手順で移行の資格が検証されます。
- 更新された customers.csv ファイルを input フォルダーに保存して、指定した顧客のサブスクリプションを受け取る次の手順を実行できるようにします。
- input フォルダーには、migrations と subscriptions という入れ子になった 2 つのフォルダーがあります。
- 入れ子になったフォルダーに customers.csv を配置しないでください。 input フォルダーに保存します。
移行の資格を持つサブスクリプションをエクスポートするには、次の手順に従います。
BAM ツールを実行し コマンド 2を入力します。
ツールが実行され、サブスクリプションが適格性の検証中であることを示します。 エクスポートが完了すると、指定した顧客のサブスクリプションの一覧が output フォルダー subscriptions.csvとして使用できるようになります。このフォルダーには、以前に指定した顧客のすべてのレガシ サブスクリプション (アクティブと中断の両方) の一覧が表示されます。
サブスクリプションごとに次のフィールドを確認できます。
Partner tenant ID (パートナー テナント ID)
間接リセラー PartnerID
顧客名
顧客テナント ID
Legacy Subscription ID (レガシ サブスクリプション ID)
Legacy Subscription Name (レガシ サブスクリプション名)
Legacy Product Name (レガシ製品名)
有効期限
Migration Eligible (移行の適格性) (True または False)
Current Term (現在の期間)
Current Billing Plan (現在の課金プラン)
Current Seat Count (現在のシート数)
Start New Term (移行後の NCE での、新しい期間の開始)
Term (移行後の NCE での、期間)
Billing Plan (移行後の NCE での、課金プラン)
Seat Count (移行後の NCE での、シート数)
Add On (アドオン) (True または False)
Base Subscription (基本サブスクリプション) (アドオンの場合)
Migration Ineligibility Reason (移行の不適格性の理由) (サブスクリプションに移行の適格性がない場合)
移行するサブスクリプションと方法を決定する
上記のフィールドを使用すると、エクスポートしたサブスクリプションの一覧をフィルター処理して、バッチで NCE に移行するサブスクリプションを決定できます。 たとえば、フィルター処理して、特定の製品の種類のサブスクリプションのバッチや、特定の間接リセラーのサブスクリプションのバッチを移行できます。
サブスクリプションをフィルター処理して選択したら、バッチに対して選択されていないサブスクリプションを.csv ファイルから削除します。 これにより、意図しない移行を防止できます。
バッチあたり 200 個以下のサブスクリプションをエクスポートすることをお勧めします。 ( を参照してください200 を超えるサブスクリプションを移行します さらに移行する必要がある場合は、この記事の後半で説明します)。
次の手順では、サブスクリプションの移行方法を指定します (たとえば、同様に、または start new term (新しい期間の開始)、billing frequency (請求頻度)、term duration (期間) または seat count (シート数) の属性を更新します)。
移行するサブスクリプションの行の次のフィールドを上書きできます。
Start New Term (新しい期間の開始)
Term
Billing Plan (課金プラン)
Seat Count (シート数)
上記のフィールドは、移行後の NCE サブスクリプションに適用される指示または属性を表します。 これらのフィールドの既定値は、移行するレガシ サブスクリプションの値です。 フィールドに変更を加えなければ、対応する NCE サブスクリプションの値は、移行元のレガシ サブスクリプションと同じになります。 たとえば、移行中のレガシ サブスクリプションの 現在のシート数 が 2 で、 Seat Count フィールドに変更が加えされていない場合、移行後の NCE サブスクリプションのシート数は 2 になります。
NCE で新しい用語でサブスクリプションを開始するには、次の手順に従います。
Start New Term フラグを FALSE から TRUE に変更します。
次の列の外部で値を変更しないでください。
- Start New Term (新しい期間の開始)
- Term
- Billing Plan (課金プラン)
- Seat Count (シート数)
移行用のバッチをアップロードする
バッチの移行方法を指定した後 (つまり、移行のためにサブスクリプションをフィルター処理し、必要に応じて NCE 値を更新した後)、更新されたsubscriptions.csv ファイルを、input フォルダーに入れ子になった subscriptions フォルダーに保存します。 subscriptions フォルダーに保存された各ファイルが、1 つの移行バッチを表します。
BAM ツールで subscriptions フォルダーのファイルが移行用に処理された後、そのファイルは入れ子になった processed フォルダーに移動されます。これは、そのバッチの移行要求が実行されたことを示します。 processed フォルダーにファイルを手動で移動する必要はありません。 processed フォルダー内のファイルは既に処理されているため、移行を実行する目的で BAM ツールによって読み取られることはありません。
移行をアップロードするには、次の手順に従います。
- コマンド プロンプトで、BAM ツール 実行し オプション 3 を選択し、移行を アップロードします。その後、
BAM ツールは、 subscriptions フォルダーからバッチ ファイルを読み取り、移行要求を実行します。
コンソール ウィンドウは、移行要求が処理されていることを示します。
移行 ID を含む各バッチのファイルがエクスポートされ、output フォルダーに入れ子になった migrations フォルダーで使用できます。
- エクスポートされたファイルには [バッチ ID].csv というラベルが付けられます。
- [バッチ ID].csv には入力 subscriptions.csv ファイルと同じフィールドがありますが、その他に Batch ID (バッチ ID) と Migration ID (移行 ID) という 2 つの列があります。
- Batch ID (バッチ ID) は、ファイル内のすべてのサブスクリプションで同じです。これは、これらのサブスクリプションが、一緒に処理された同じバッチまたは移行要求のセットに属していることを示します。
- Batch ID は、.csv ファイルの名前 ([batchID].csv) にも反映されます。
移行の状態を確認する
移行が成功した場合、移行の状態は Completed。
移行が失敗した場合、移行の状態は Failed (失敗) になり、失敗の理由を確認できます。
Migration ID (移行 ID) は移行される各サブスクリプションに固有であるため、Migration ID (移行 ID) を使用して移行の状態を追跡できます。
移行が成功すると、NCE の Subscription ID (サブスクリプション ID) も設定されます。
バッチの更新された状態ファイルを取得するには、次の手順を使用します。
エクスポートした [batchID].csv ファイル ( migrations output に入れ子になったフォルダー) を migrations フォルダー ( input フォルダーに入れ子にされたフォルダー) にコピーまたは保存します。
そうすることで、どのバッチの状態が要求されたかがツールで読み取られ、エクスポートするレポートを準備することが可能になります。
状態ファイルは、自動的には更新されません。 更新された状態を取得するには、毎回新しい要求を行う必要があります。
更新された移行状態を取得するには、次の手順に従います。
BAM ツールを実行し コマンド 4を入力します。
BAM ツールが実行され、移行の状態が調べること、およびファイルが migrationstatus フォルダーにエクスポートされたことを示します。 エクスポートされた移行状態ファイルの名前は、CSV に含まれているサブスクリプションのバッチ ID を表します。
migrationstatus フォルダーにエクスポートされた [バッチ ID].csv ファイルにより、処理された移行要求の更新された状態がわかります。 ファイルに複数のバッチが表示されている場合は、Batch ID (バッチ ID) 列を使用してフィルター処理し、特定のバッチ内の要求の状態にアクセスします。
新しいコマース エクスペリエンス サブスクリプションの一覧をエクスポートする
NCE サブスクリプションをエクスポートするには、次の手順に従います。
BAM ツールを実行し コマンド 5を入力します。
エクスポートされた一覧は output フォルダーに保存されます。 この手順は移行には必要ありませんが、これを使用してさまざまな顧客の NCE サブスクリプションを整理できます。
200 を超えるサブスクリプションを移行する
200 を超えるサブスクリプション (推奨される最大バッチ サイズ) を移行する場合は、BAM ツールに複数のバッチをアップロードできます。 さまざまなフィールドでフォルダーを整理して、移行するアップロードするファイルのサイズを小さくすることができます。 たとえば、次の方法で移行するサブスクリプションを整理できます。
- 間接リセラー
- 製品名
- サブスクリプション名
- その他の条件
整理したバッチ ファイルが 200 サブスクリプションの最大推奨サイズを超える場合は、サブスクリプションを新しいファイルに効果的にコピーして、各バッチの最大 200 個のサブスクリプションを維持することで、1 つの.csvを複数に分割できます。 たとえば、425 個のサブスクリプションを移行する場合は、3 つの個別のファイル (200 個のサブスクリプションを含む 2 つのファイルと 25 個のサブスクリプションを含む 2 つのファイル) に分割できます。
複数のファイルをアップロードする
BAM ツールには、複数のファイルを一度にアップロードできます。 このツールは、移行要求を一度に 1 つのバッチ ファイルに読み取り、入力ディレクトリに保存されている他のバッチ ファイルの読み取りを自動的に開始します (複数のバッチが追加されている場合)。
BAM ツールはバッチを 1 つずつ読み取り、各サブスクリプションで Create Migration API を個別に呼び出します。
入力ディレクトリにバッチ ファイルを追加するために、1 つのバッチ ファイルの実行が完了するまで待機する必要はありません。
レートの制限と調整
コマンド 2 を実行する (顧客のサブスクリプションを取得し、移行のためにそれらのサブスクリプションを検証する) ために、BAM ツールで Validate Migration API が呼び出されます。 Validate Migration API のレート制限は、パートナーと顧客の組み合わせごとに 5 分間で呼び出し 450 回となっています。 このレート制限と Validate Migration API の現在の待機時間から、BAM ツール実行時に調整が発生するとは予想されません。 また、調整が行われないように、このツールにはコンカレンシーの制限があります。
ただし、問題が発生した場合は、どの顧客のサブスクリプションがプルおよび検証されなかったかを追跡できます。 顧客のサブスクリプションをプルできない場合、またはサブスクリプションの検証中に問題が発生した場合は、 failedCustomers.csv というタイトルの別の.csvがツールの出力フォルダーに表示されます。 これらの顧客のサブスクリプションのプルと検証を再試行できます。
Note
ライセンス ベースのサービスの新しいコマース エクスペリエンスには、多くの新機能が含まれており、すべてのクラウド ソリューション プロバイダー (CSP) が利用できます。 詳細については、「ライセンスベースのサービスの新しいコマース エクスペリエンス」を参照してください。
- BAM ツールの使用方法の詳細については、「 バッチの移行のステップ バイ ステップ フローを参照してください。