Power Virtual Agentsで作ったボットを移行する

今回は、Power Virtual Agentで作ったボットを別の環境へ移行する方法についてご紹介します。

::: note
この機能を使用するためにシステム カスタマイザーセキュリティロールが必要です。 
:::

エクスポート、インポートには「ソリューション」を使用します。
ソリューションについては以下をご参照ください。

https://qiita.com/skuramoto/items/bb053bdc8b12b771c6e4

# 移行方法
# 移行元環境からのエクスポート
Power Apps(make.powerapps.com)を開き、移行したいボットがある環境を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/dc0f9579-25b5-9b31-c33a-03df4bac0c08.png)

左のメニューで[ソリューション]を選択し、[新しいソリューション]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/2fe7e5f5-b5ce-ef2a-54c8-61dc4bd78e77.png)

以下の情報を入力し、[作成]します。

|項目名 |入力内容 |補足 |
|---|---|---|
|表示名  |わかりやすい名前  |  |
|名前  |英語の名前  |  |
|公開元  |こだわりがなければ、規定の発行者を選ぶことが多い  |このソリューションの発行者の意味。作成したか、それ以外の人かで権限を設定することもできる。ここで設定するIDがコンポーネントの論理名の接頭辞になる。 
|バージョン  |基本は規定の値にする(変えることもできる)|アプリのバージョンと同じ考え方  |

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/6df46ba9-0772-ca8e-38c6-701083081c23.png" width=40%>

作成したソリューションが開きます。
（開かない場合は、ソリューションの一覧で選択します。)

[既存の追加]を選択してから、[チャットボット]を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/84a82a1a-578d-eb00-55ac-aa568bd33bed.png)

一覧で、エクスポートするボットを選択してから、追加を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/d68f0f10-c55b-ab78-64a8-b398e35b2804.png)

::: note warn
スキルを使っている場合、[このソリューションから削除]を選択し、スキルの環境変数の「現在の値」を削除する必要があります。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/d57e851d-f020-b15f-504e-e9e9ea8d8fed.png" width=50%>
:::

左のオブジェクトを見るとチャットボットとチャットボットサブコンポーネント、関連するクラウドフローが入ったことがわかります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/8d011815-0151-542f-42c4-acb2943a7cfb.png)

::: note 
ボットにコンポーネントが多く (250 以上のトピック or 100 以上のエンティティ) ある場合は、「クラシック エクスペリエンスを使用してエクスポートする」が表示されます。
:::

左の矢印[←]をクリックし、ソリューションの一覧に戻ります。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/d1e5eeee-0f3a-e115-3876-caa654000187.png" width=70%>


一覧画面でボットを含むソリューションを選択して、[ソリューションのエクスポート]を選択します。
右側に表示されるウィンドウで[次へ]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/e4acf915-c606-bde5-ba21-1cb5583eab59.png)


バージョンとエクスポート形式を選択し、［エクスポート］をクリックします。
バージョンは自動で割り振られる数字があるので、特にこだわりがなければ規定値を使用します。
エクスポート形式はマネージドorアンマネージドのパッケージタイプを選択します。
こちらの違いについては以下をご参照ください。
アンマネージドソリューションを選ぶことが多いです。
|形式 |説明 |
|---|---|
|アンマネージド|移行先でも編集・変更を行い、ソリューション内のコンポーネントを開発を行う場合はこちら|
|マネージド|パッケージとして移行し、ソリューション内のコンポーネントを開発を行わない場合はこちら|

マネージドソリューションとアンマネージドソリューションの詳細は[こちら](https://learn.microsoft.com/ja-jp/power-platform/alm/solution-concepts-alm#managed-and-unmanaged-solutions)

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/08b728d5-c1a0-9d5c-7c0e-627828800443.png" width=50%>

「エクスポートされました」という通知が表示されたら[ダウンロード]ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/19cef566-ba95-26d6-74aa-74b5ab29e393.png)


# 移行先環境へのインポート
移行先の環境を開きます。
[ソリューション]を選択し、[ソリューションをインポート]をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/3675fdee-b4a9-15bf-4055-f711f73314bd.png)

ソリューションのインポートウィンドウで、[参照]をクリックし、先ほどダウンロードしたソリューション（zipファイル）をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/f742eae6-6a6d-090c-8405-7634a9480c19.png)

[次へ]ボタンをクリックします。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/c08a5f10-b3c9-2312-dbbe-ccaa75169c1d.png" width=70%>

[インポート]をクリックします。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/4022ccff-20de-73a8-8076-1249ea85def5.png" width=70%>


インポートが完了すると一覧に表示されます。
インポートしたソリューションを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/47935b45-e4b5-e49a-a048-a49a7742302a.png)

::: note　warn
インポートが失敗すると、ログファイルのダウンロードができます。
最も多い原因は、ソリューションに必要なコンポーネントが含まれていないことです。
:::

ボットで[ユーザー認証](https://learn.microsoft.com/ja-jp/power-virtual-agents/configuration-end-user-authentication)が有効になっている場合は、再度構成する必要があります。

左のオブジェクトウィンドウで[チャットボット]を選択します。 その後、ボットの名前を選択し、Power Virtual Agents ポータルでボットを開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/5f3ee325-3908-ed3f-9248-8ae05c04df33.png)

ボットはまだ新しい環境で公開されてない為、
左のメニューで[公開]を選択し、[公開]ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/046a7b4a-a6ee-5de6-e62c-8e4675d88b94.png)



[公開]ボタンをクリックします。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/2671e44c-83c0-5505-a3d4-1703680e524b.png" width=60%>


下の画像のように「公開したボットの準備ができました」と表示できたら完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2883014/eb8ac07e-1ac4-9e2c-69a8-83c3c1179b89.png)


この先で、チャットボットの公開先を設定してください。