パラメータ設定:BinaryStorage.json
## 注意事項
パラメータ変更時は[パラメータ変更時の確認事項](/ja/manual/parameter-edit)をご確認ください。
## 制限事項
1. TemporaryBinaryStorageProviderに設定可能な"Rds"は、Providerに"Rds"、UseStorageSelectにfalseが設定されている必要があります。※適切な値が設定されていないと正常にファイルを添付することができません。
## 設定値
本パラメータファイルの設定値は下記の通りです。
#### 凡例
パラメータProviderの値により、有効なパラメータが変わります。以下のアイコンを用いて分類します。
|アイコン|意味|
|:-:|:--|
||Providerの値がRdsのときに有効なパラメータ|
||Providerの値がLocalのときに有効なパラメータ|
||Providerの値がAzureBlobのときに有効なパラメータ|
|パラメータ名|設定例|説明|
|:--|:----|:--|
|Provider|Rds|アイコンファイル、添付ファイル、内容・説明項目やコメント欄に貼り付けた画像データの格納方法を指定します。<br><br>"Local"<br>ローカルストレージに格納する場合<br><br>"Rds"<br>データベースに格納する場合<br><br>"AzureBlob"<br>Azure Blob Storageに格納する場合<br><br>格納方法の選定基準については以下のFAQを参照してください。<br><br><br>クラスタ環境における添付ファイルの格納方法については以下のマニュアルを参照してください。<br>[追加設定:クラスタ化への備え:添付ファイルのアップロード・登録に関する設定](clustering-attachment-item-settings)<br>|
|AzureBlobStorageAccountUri<br>|"https\://storageaccount.blob.core.windows.net"|Azureストレージアカウントを含むURI形式の文字列です。システム環境変数に登録可能。|
|AzureBlobContainerName<br>|"pleasanter-container"|Azure Blobコンテナ名です。システム環境変数に登録可能。|
|Path<br>|C:\\\\Data |[格納先](/ja/manual/table-management-binary-storage-provider)で「ローカルフォルダ」を指定した場合の添付ファイルの格納先フォルダを設定します(円記号はエスケープが必要です)。<br>※ProviderにAzureBlobを指定した場合、本パラメータに設定した値は無効です。<br>※対象フォルダへのアクセス権をIIS_IUSRSに付与してください。|
|Attachments<br>|true|添付ファイル機能のtrue/falseを指定します。|
|Images<br>|true|説明項目やコメントで画像貼り付け機能のtrue/falseを指定します。画像の貼り付けを有効化するにはAttachmentsとImagesの両方をtrueに設定する必要があります。|
|RestoreLocalFiles<br>| true |ProviderがLocalの場合に、値をtrueにすると添付ファイルを持つレコードを削除してもローカルのファイル削除しません。削除したレコードを復元すると添付ファイルも使用可能となります。Providerが "Local" で値がfalseの場合には、削除されたレコードを復元しても添付ファイルは復元できません。|
|LimitQuantity<br>|30|ファイル数制限の初期値を設定します。|
|MinQuantity<br>|1|ファイル数制限の下限値を設定します。|
|MaxQuantity<br>|100|ファイル数制限の上限値を設定します。|
|LimitSize<br>|50|容量制限(MB)の初期値を設定します。|
|MinSize<br>|1|容量制限(MB)の下限値を設定します。|
|MaxSize<br>|50|容量制限(MB)の上限値を設定します。|
|LimitTotalSize<br>|1024|全容量制限(MB)の初期値を設定します。|
|TotalMinSize<br>|1|全容量制限(MB)の下限値を設定します。|
|TotalMaxSize<br>|1024|全容量制限(MB)の上限値を設定します。|
|LocalFolderLimitSize<br>|3072|ローカルフォルダの容量制限(MB)の初期値を設定します。|
|LocalFolderMinSize<br>|1|ローカルフォルダの容量制限(MB)の下限値を設定します。|
|LocalFolderMaxSize<br>|3072|ローカルフォルダの容量制限(MB)の上限値を設定します。|
|LocalFolderLimitTotalSize<br>|30720|ローカルフォルダの全容量制限(MB)の初期値を設定します。|
|LocalFolderTotalMinSize<br>|1|ローカルフォルダの全容量制限(MB)の下限値を設定します。|
|LocalFolderTotalMaxSize<br>|30720|ローカルフォルダの全容量制限(MB)の上限値を設定します。|
|UseStorageSelect<br>|false|添付項目毎にファイルの[格納先](/ja/manual/table-management-binary-storage-provider)を変更する場合はtrueを設定します。|
|DefaultBinaryStorageProvider<br>|"DataBase"|UseStorageSelectがtrueの場合の添付項目の[格納先](/ja/manual/table-management-binary-storage-provider)の既定値を設定します。データベースに保存する場合は"DataBase"、ローカルフォルダに保存する場合は"LocalFolder"、サイズにより自動で切り替える場合は"AutoDataBaseOrLocalFolder"を設定します。|
|TemporaryBinaryStorageProvider<br>|"Rds"|アップロードしたファイルを一時フォルダ(App_Data\Temp)配下に保存する場合はnull、直接データベースに保存する場合は"Rds"を指定します。"Rds"を指定する場合は上記の制限事項を確認してください。Providerに"local"または"AzureBlob"を指定する場合は、本パラメータの値としてnullを指定してください。|
|ImageLimitSize<br>|10|画像登録時の一辺の最大ピクセル数(px)を設定します。|
|ThumbnailLimitSize<br>|10|サムネイル登録時の一辺の最大ピクセル数(px)を設定します。
|ThumbnailMinSize<br>|100|サムネイルサイズ指定時の一辺の最小ピクセル(px)を設定します。|
|ThumbnailMaxSize<br>|1000|サムネイルサイズ指定時の一辺の最大ピクセル(px)を設定します。|
|BrowserAllowMimeTypes<br>|["application/pdf","image/png"]|[プレビュー表示](/ja/manual/table-record-attachment-show)を許可するファイルのMIMEタイプを配列で設定します。|
|ImageUploadFileSizeLimit<br>|10|内容項目・説明項目・コメントへ貼り付けてアップロードできる画像ファイルサイズの上限値(単位:MB)を指定します。ファイルサイズは、サーバへのアップロード前に、クライアント側で計算されます。ファイルサイズが上限値を超えている場合はサーバへアップロードせずに「ファイルサイズが大きすぎます。」というメッセージを表示します。nullまたは0以下を指定した場合は制限なしとなります。|
|ImageDecodedSizeLimit<br>|256|内容項目・説明項目・コメントへ貼り付けてアップロードできる画像ファイルサイズの上限値(単位:MB)を指定します。ファイルサイズは、サーバ側で、デコードされる前に計算されます。ImageUploadFileSizeLimitだけではすり抜けてしまう可能性がある、デコード前後の差異が大きい画像ファイルをブロックします。上限値を超えている場合は HTTP エラー(500)にはならず、「ファイルサイズが大きすぎます。」というメッセージを返します。nullまたは0以下を指定した場合は制限なしとなります。|
※1 TemporaryBinaryStorageProviderの"Rds"は、ロードバランサを経由して、その先にプリザンターが導入されたサーバが複数台ある環境で使用することを想定しています。詳細につきましては下記のFAQをご参照ください。
[FAQ:ロードバランサのバックエンドにプリザンターを導入したサーバが複数台ある環境で添付ファイルを正常にアップロード、登録することができない | Pleasanter](/manual/faq-direct-upload-to-database)
## システム環境変数への登録方法
AzureBlobStorageAccountUriとAzureBlobContainerNameは[システム環境変数に登録](/ja/manual/credentials-in-environment-variables)できます。システム環境変数への登録については、以下のページも参照してください。
「パラメータ設定:資格情報をシステム環境変数へ登録する」
### 1. 命名規則
接続文字列についてシステム環境変数の命名規則は以下の通りです。
```text
(サービス名)_BinaryStorage_AzureBlobStorageAccountUri
(サービス名)_BinaryStorage_AzureBlobContainerName
```
|項目|必須|説明|
|:--|:--|:--|
|サービス名|〇|[Service.json](/ja/manual/service-json)の「EnvironmentName」または「Name」を指定|
#### 設定例
|変数|値|
|:--|:--|
|Implem.Pleasanter_BinaryStorage_AzureBlobStorageAccountUri|https\://storageaccount.blob.core.windows.net|
|Implem.Pleasanter_BinaryStorage_AzureBlobContainerName|pleasanter-container|
### 2. 優先順
本パラメータファイルとシステム環境の両方に設定した場合や省略形で設定した場合の優先順位は以下のとおりです。
#### 2-1. AzureBlobStorageAccountUri
|優先順| AzureBlobStorageAccountUriの設定値|
|:--|:--|
|1|本パラメータファイルのAzureBlobStorageAccountUri|
|2|環境変数の「(サービス名:EnvironmentName)_BinaryStorage_AzureBlobStorageAccountUri|
|3|環境変数の「(サービス名:Name)_BinaryStorage_AzureBlobStorageAccountUri|
#### 2-2. AzureBlobContainerName
|優先順| AzureBlobContainerNameの設定値|
|:--|:--|
|1|本パラメータファイルのAzureBlobContainerName|
|2|環境変数の「(サービス名:EnvironmentName)_BinaryStorage_AzureBlobContainerName|
|3|環境変数の「(サービス名:Name)_BinaryStorage_AzureBlobContainerName|
### 3. システム環境変数に登録する際の注意点
「2. 優先順」に記載の通りパラメータファイルに設定した値が最優先となるため、システム環境変数に登録する場合はパラメータファイルでは「null」を指定してください。
## 対応バージョン
|対応バージョン|内容|
|:--|:--|
|1.4.21.0 以降|BrowserAllowMimeTypesを追加|
|1.5.6.0 以降|ImageUploadFileSizeLimitを追加<br>ImageDecodedSizeLimitを追加|
|1.5.7.0 以降|ProviderにAzureBlobを追加<br>AzureBlobStorageAccountUriを追加<br>AzureBlobContainerNameを追加|



