Dataverse for Teams のテーブルの懸念点(削除と復元)
はじめに
Microsoft365 が職場に導入されたので、試行錯誤しています。
Teams の大規模チームにおいて、Power Apps でアプリを作成し、データソースに Dataverse for Teams のテーブルを利用したところ、運用上の懸念点が見つかったので、記録します。
Dataverse for Teams とは
Microsoft 365 の一部のライセンス(M365 Business Basic や Microsoft 365 E5 等)に含まれる使用権により、Power Apps のアプリを作成できます。
その際、Teams から Power Apps を起動し、アプリを作成することによって、Dataverse for Teams の環境が作成されます。
作成したアプリのデータソースには、Excel のテーブル、SharePoint のリスト、Dataverse for Teams 環境 のテーブルを使用することができます。
Dataverse との違い
Dataverse for Teams は、通常の Dataverse よりも、大きく機能が制限されています。
Dataverse for Teams では最大 10,000 チームのチームあたり 1 つの環境に重点を置いているのに対し、Dataverse ではコピーやリセットなど、複数の環境に関連する機能に加えて、無制限の環境をサポートしています。
運用上の懸念点
チームのメンバーであれば誰でも、テーブルを削除することができます。
通常の Dataverse では、ごみ箱機能によって、テーブルを復元できるようです。
しかし、Dataverse for Teams には、テーブルの復元機能が無いようです。
数百名~数千名のチームでは、テーブルのデータ量も、多くなることが想定されます。
そのため、偶発的なテーブルの削除に、備えておくことが好ましいです。
テーブルの削除
チームのメンバーであれば誰でも、 管理ソリューション に含まれないテーブルを削除できます。
ごみ箱機能は Dataverse for Teams、試用環境、または既定の環境 では使用できません。
マネージドとアンマネージド
テーブルの削除を防ぐには、管理されたソリューション(マネージド)にする必要があります。
後出の仕様によれば、開発環境で作成したアンマネージドのソリューションをエクスポートし、本番環境(別の環境)に、マネージドのソリューションとして、インポートする必要があります。
しかし、Dataverse for Teams の環境は、チームごとに1つまで、と制限とされているため、この仕様に基づくと、マネージドにすることはできない、と考えられました。
元のアンマネージド ソリューションを含む同じ環境に管理ソリューションをインポートすることはできません。 マネージド ソリューションをテストするには、別の環境をインポートする必要があります。
暫定的な解決策
暫定的な解決策として、アプリやテーブルについて、「ソリューションとしてエクスポート」を行い、バックアップしました。これにより、万が一テーブルが消滅しても、エクスポートしたパッケージのインポートによって、テーブルのスキーマ等を復元することができます。
また、テーブルのデータについては、前出のインポートでは復元されないため、Power Automate のスケジュール実行によって、CSVに定期バックアップすることとしました。
将来的に、アプリやテーブルの管理を第三者に引継ぐことなどを考えると、より簡単な解決策があればよかったですが、深入りするほどの時間もなかったため、これで完結としました。
Discussion