【PowerPlatform】Microsoft Dataverse for Teams（旧：Project Oakdale）備忘録

#・はじめに#
この記事は、私が知り得た Microsoft Dataverse についての備忘録です。
ポイントだけを記載していますので、ご了承ください。

#・Dataverse for Teams の利用について#

・Dataverse for Teams は、<font color="OrangeRed">**「Teamsに含まれるPowerApps、PowerVirtualAgents」+「CDS」**</font>の環境 を指す。
・Dataverse for Teams で用意したデータを PowerAutomate などで利用することが可能。

・PowerApps で有償サービスの CDS が、<font color="OrangeRed">**Dataverse for Teams では無償**</font>で機能を利用できる。
・Office365ライセンスを所有していれば、Dataverse for Teams を利用できる。
・Dataverse for Teams環境下で PowerApps、PowerVirtualAgents や CDS を利用する場合は追加費用が必要ない。

・Teams 外の PowerApps は従来通り、CDS 利用が有償サービスである。

#・Dataverse for Teams で可能なこと#
・Teams に PowerApps と PowerVirtualAgents を追加できるようになった。（Teams 左側にアイコンが追加）
・Teams 上でアプリの作成が可能。
#・Dataverse for Teams の要件#
・Teams 上の PowerApps でアプリ作成をクリックすると、裏で Dataverse for Teams が作成される。
・Teams 上の PowerVirtualAgents でボットを作成をクリックすると、裏で Dataverse for Teams が作成される。
・Teamsの<font color="OrangeRed"> **１チームに対して１つのDataverse for Teams** </font>を作成可能。
・すでにチームに Dataverse for Teams が存在する場合、同じチームに２つ目は作られない。

・１環境に対して、データ件数は<font color="OrangeRed">**最大100万件**</font>、もしくは、<font color="OrangeRed">**2GB**</font>の範囲であればデータ格納が可能。
・データ100万件は<font color="OrangeRed">**チーム単位**</font>
※1つのDataverse for Teams に対して最大100万件のため、1チームに5テーブルある場合は、5テーブル合計で100万件が上限。

・テナント全体としてDataverse for Teamsの環境は、 <font color="OrangeRed">**20 ユーザー毎に 5 + 1 (MAX 500)** </font> まで作成が可能。

・1チーム2GBまで容量を確保可能。テナント全体としては<font color="OrangeRed"> **10GB + 環境数 × 2GB（MAX 1TB）**</font> まで利用可能。
・上限を超えた場合でもすぐにアプリが利用できなくなることはないが、チーム内で新しいアプリや環境の作成が不可となる。

・会社全体、パブリック、プライベートチームに関わらずPowerAppsアプリは作成可能。
・ただし制限などはいずれも変わらないため、上限を超えないように注意が必要。

・Dataverse for Teams で作成したPowerAppsアプリをTeams外から利用しようとした場合は「PowerAppsプランが必要」というメッセージが表示され利用できない。
（ Dataverse for Teams 上で作成したアプリは、<font color="OrangeRed">**Teams上でのみ利用可能**</font> ）

#・Dataverse for Teams 上の PowerApps について#
この章の「Dataverse for Teams のPowerApps」は、Teams上のPowerAppsを指します。
Teams 外の PowerAppsで作成したアプリとは異なるためご注意ください。

・Dataverse for Teams で作成した PowerApps は、従来の PowerApps とは異なる。
・「列種類の選択肢がいくつか抜けている」など、いくつかの機能が制限されている。

・Dataverse for Teams の PowerApps は、<font color="OrangeRed">**レスポンシブ対応**</font>している。

・アプリの編集権限は<font color="OrangeRed">**チーム所有者もしくは管理者**</font>のみが持つ。チームのユーザー、ゲストに編集権限はない。

・Dataverse for Teams のセキュリティは、紐づいたチームと同じセキュリティが割り当てられる。
・Dataverse for Teams で作成したアプリにアクセスできるのは、<font color="OrangeRed">**チームに所属するアカウント**</font>のみ。
・役割は３パターン⇒チーム管理者：Admin、メンバー：User、ゲスト：Guest

・1つの Dataverse for Teams ごとに、DLPポリシーを適用することができる。

#・Dataverse for Teams の CDS について#
・CDSにアクセスできるのは、<font color="OrangeRed">**チームに所属するアカウント**</font>のみ。
・CDS上のデータの一括更新、一括削除は PowerAutomate などを利用することで実施可能。
・Excelの表データをCDSにコピー＆ペーストすることが可能。

・Dataverse for Teams では、テーブル同士の紐づけ（リレーション）が可能。
　※<font color="OrangeRed">**列種類：検索**</font>で列を作成することで、既存のテーブルと関連付けが可能になる。

※下図の場合、「申請」列が関連テーブルを参照している値。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613247/533155a8-d86c-4738-43d3-34dc8a246907.png)

・Dataverse for Teams上のPowerAppsでこのテーブルを使用する場合、「ThisItem.〇〇」という形で関連テーブルを参照できる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613247/ce85ee53-41d8-3dcc-ad39-a801c5257107.png)

#・その他#
・Office365ライセンスだけで Dataverse for Teams 上のPowerAppsはカスタムコネクタを利用できる。
（ただし、AzureFunction、Azure API Management から作成したカスタムコネクタ限定。その他は別途ライセンスが必要）

・今後、作成済みのDataverse for Teamsをテンプレート化して他のチームに展開することが可能になる予定。