User Manual

05.14.2024

MANUAL

FAQ:ロードバランサのバックエンドにプリザンターを導入したサーバが複数台ある環境で添付ファイルを正常にアップロード、登録することができない

This page is in Japanese only.
Please wait for the English translation.

回答

BinaryStorage.jsonのTemporaryBinaryStorageProviderに"Rds"を指定してください


概要

BinaryStorage.jsonのTemporaryBinaryStorageProviderに 既定値(null) を指定している場合

下図のようにロードバランサ(LB)のバックエンドにプリザンターを導入したサーバが複数台(WEB#1,WEB#2)ある環境で、添付ファイル項目にファイルをアップロードしようとすると、ロードバランサによってリクエストが振り分けられるため、正常にアップロードや登録ができないケースがあります。

image

TemporaryBinaryStorageProviderを null を指定している場合、WEBサーバの一時フォルダ(App_Data/Temp)に、アップロードしたファイルが保存され、後続の処理(作成や更新)を行うタイミングで、その一時フォルダ配下にある対象ファイルを読み込んで、そのバイナリデータをデータベース(Implem.Pleasanter)のBinariesテーブルへ登録します。

そのため、ロードバランサによって、アップロードのリクエストを受け取るWEBサーバと、後続処理のリクエストを受け取るWEBサーバが異なるケースや、分割して送られたデータ(サイズが大きいファイルは分割する)を片方のWEBサーバで全て受け取れないケースのような状況になると、正常にアップロードや登録ができません。

BinaryStorage.jsonのTemporaryBinaryStorageProviderに "Rds" を指定している場合

上記の回答に記載の通り、emporaryBinaryStorageProviderに "Rds" を指定することで、下図の赤線ようにデータベース(Implem.Pleasanter)へデータを直接登録することができるようになります。

image

Binariesテーブルに登録するレコードのBinaryTypeカラムは、アップロードした時点では "Temporary" で、後続処理を行ったタイミングでは "Attachments" となります。

設定手順

下記手順は上図のようにプリザンターを導入するサーバが2台(WEB#1,2)あることを前提としています。

  1. WEB#1にログインします。
  2. App_Data/Parameters/BinaryStorage.jsonを開きます。
  3. ファイル内の各パラメータを以下のように設定して保存します。パラメータの詳細につきましては、 パラメータ設定:BinaryStorage.json をご参照ください。
    • ・Provider:"Rds"
    • ・UseStorageSelect:false
    • ・TemporaryBinaryStorageProvider:"Rds"
  4. プリザンターを再起動します。
  5. WEB#2も同様に手順1~4を実施します。

関連情報

TOP
このページをシェアする
記載された商品名、各製品名は各社の登録商標または商標です。 © Implem Inc.