#PowerApps 添付ファイルのアップロード上限は変更可能

Docs に騙されたヒトです、どうも。

今回は、Power Apps のデータソースで利用する、SharePoint Online（以降、SPO）のリストや、CDS で、ファイルを格納する際に活躍する「添付ファイル」機能のアップロードサイズ上限について、です。

# 結論
記事投稿時点で、Power Apps のフォーム内で提供される「ファイル添付コントロール」は**[MaxAttachmentSize]プロパティを変更することでアップロードサイズの上限を変更可能**です。

# 公式情報（2020/06/27）
公式情報は下記。

　[Power Apps での添付ファイルの制御
](https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/controls/control-attachments)
　[英語はこちら](https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/controls/control-attachments)
![コメント 2020-06-27 211414.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/c5cc6e55-e231-1b47-d007-d8772523929d.png)

「制約事項」と「MaxAttachmentSize」プロパティの箇所に、**アップロードできるサイズは 10MB以下** と明記されてます。

> MaxAttachmentSize – 新しい添付ファイルごとに許容される最大ファイル サイズ (MB) です。 現在、10 MB の制限があります。

いまどき、10MB が上限とかホントですか？ってなりますよね。
当方はなりましたよ。なので、調べてみた次第です。

# デフォルト状態の動作
実際に、10MB以上のファイルが添付できないのか？
試してみましょう。
![図1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/fe916ca3-ea08-dfd5-2c22-71361a0a3470.png)
検証で利用した環境は、SPO のリストから自動生成した Power Apps アプリです。添付ファイルの箇所はロック状態のままにしてあります。

<blockquote class="twitter-tweet"><p lang="en" dir="ltr"><a href="https://twitter.com/hashtag/PowerApps?src=hash&amp;ref_src=twsrc%5Etfw">#PowerApps</a> upload files <a href="https://t.co/kzyArq5LGl">pic.twitter.com/kzyArq5LGl</a></p>&mdash; やま (Yama) (@yamad365) <a href="https://twitter.com/yamad365/status/1276855171016830976?ref_src=twsrc%5Etfw">June 27, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

10MB 以上のファイルは警告が表示されてアップロードができません。

# アップロードサイズを変更する
前述の状態から、[MaxAttachmentSize]プロパティを変更してみました。既に結論を伝えているので容易に想像できると思います。

<blockquote class="twitter-tweet"><p lang="en" dir="ltr"><a href="https://twitter.com/hashtag/PowerApps?src=hash&amp;ref_src=twsrc%5Etfw">#PowerApps</a> upload files (max size up) <a href="https://t.co/Kr9icOvfm0">pic.twitter.com/Kr9icOvfm0</a></p>&mdash; やま (Yama) (@yamad365) <a href="https://twitter.com/yamad365/status/1276855452421128198?ref_src=twsrc%5Etfw">June 27, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

ファイルサイズ 10MB 以上の対象もアップロードできています。
利用しているファイルは下記の2つです。
![コメント 2020-06-27 213925.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215892/ac36d247-8b35-400f-d6c9-b7276b4a2f76.png)

# データソース側の制約もあるぞ！
Power Apps 上でファイルアップロード容量が変更できたとしても、データを保持する側（＝データソース）が「どれだけの添付ファイルを許容可能か？」は別の問題として存在します。今回のサンプルで利用している SPO の制限は下記になります。

[SharePoint の制限 > ファイル サイズとファイル パスの長さ](https://docs.microsoft.com/ja-jp/office365/servicedescriptions/sharepoint-online-service-description/sharepoint-online-limits#file-size-and-file-path-length)

> リストアイテムの添付ファイルの最大サイズは 250 MB です。

[SharePoint limits > File size and file path length](https://docs.microsoft.com/en-us/office365/servicedescriptions/sharepoint-online-service-description/sharepoint-online-limits#file-size-and-file-path-length)

> The maximum size for files attached to list items is 250 MB. 

# まとめ
- Power Apps の添付ファイル アップロードサイズは変更可能
  - デフォルト上限が”10MB”
  - [MaxAttachmentSize]プロパティで変更可能
  - サイズオーバーはアプリ上で警告を出してガードしてくれる
- アップロードサイズが変更できても、データソース側の制限は別問題
- Docs 情報が古い可能性もあるから注意！

今回は SPO で説明していますが、CDS でも全く同じです。フロントの Apps は同じ機能で、書き込みされる側のデータソースが異なるだけですからね。なお、CDS の添付ファイル制限は SPO と異なりますのでご注意ください。

Power Platform の進化にドキュメントが追い付いてない感がありますねぇ…。せめて、プロパティとメソッド、制約事項は最新の情報でお願いしたいモノです。

それでは、皆さま。素晴らしい Power Platform Life を！