ファイルストレージ:S3 (Pro)
概要
ファイル管理プラグインをベースに、S3 互換プロトコルに対応したファイルストレージタイプを追加します。Amazon S3、Alibaba Cloud OSS、Tencent Cloud COS、MinIO、Cloudflare R2 など、S3 プロトコルに対応するあらゆるオブジェクトストレージサービスを簡単に接続でき、ストレージサービスの互換性と柔軟性をさらに高めます。
主な機能
-
クライアントアップロード:ファイルのアップロード処理で NocoBase サーバーを経由せず、ファイルストレージサービスに直接接続することで、より効率的かつ高速なアップロードを実現します。
-
プライベートアクセス:ファイルにアクセスする際、すべての URL は署名付きの一時認証 URL となり、ファイルアクセスの安全性と 有効性を確保します。
利用シーン
-
ファイルテーブル管理:アップロードされたすべてのファイルを一元管理・保存し、複数のファイル形式と保存方式に対応します。ファイルの分類や検索にも便利です。
-
添付ファイルフィールドの保存:フォームやレコードにアップロードされた添付ファイルのデータ保存に使用し、特定のデータレコードとの関連付けにも対応します。
プラグイン設定
-
plugin-file-storage-s3-pro プラグインを有効にします
-
「Setting-> FileManager」をクリックしてファイル管理設定を開きます
-
「Add new」ボタンをクリックし、「S3 Pro」を選択します

- ポップアップが表示されると、入力が必要なフォーム項目が多いことがわかります。以降のドキュメントを参照して、対象のファイルサービスに対応するパラメータ情報を取得し、フォームに正しく入力してください。

サービスプロバイダーの設定
Amazon S3
Bucket の作成
-
https://ap-southeast-1.console.aws.amazon.com/s3/home を開き、S3 コンソールにアクセスします
-
右側の「Create bucket」ボタンをクリックします

- Bucket Name(バケット名)を入力します。その他の項目はデフォルト設定のままにし、ページ下部までスクロールして 「Create」 ボタンをクリックし、作成を完了します。


CORS の設定
- buckets の一覧に移動し、先ほど作成した Bucket を見つけてクリックし、詳細ページを開きます

- 「Permission」タブをクリックし、下にスクロールして CORS 設定セクションを見つけます


- 以下の設定を入力します(必要に応じて詳細な設定に変更できます)。その後、保存します

AccessKey、SecretAccessKey の取得
- ページ右上の「Security credentials」ボタンをクリックします

- 下にスクロールして「Access Keys」セクションを見つけ、「Create Access Key」ボタンをクリックします。

- 同意をクリックします(ここではルートアカウントを使用して説明していますが、本番環境では IAM の使用を推奨します)。

- ページに表示された Access key と Secret access key を保存します

パラメータの取得と設定
-
AccessKey ID と AccessKey Secret には、前の手順で取得した対応する値を正確に入力します
-
Bucket の詳細ページにある properties パネルを開くと、Bucket 名と Region(リージョン) 情報を取得できます。

パブリックアクセス(オプション)
これは必須ではありません。アップロードしたファイルを完全に公開する必要がある場合に設定します。
- Permissions パネルを開き、下にスクロールして Object Ownership を見つけます。「編集」をクリックし、ACLs を有効にします

- Block public access までスクロールし、「編集」をクリックして ACLs による制御を許可する設定にします

- NocoBase で Public access にチェックを入れます
サムネイル設定(オプション)
この設定はオプションで、画像プレビューのサイズや表示効果を最適化する場合に使用します。このデプロイ方法では追加料金が発生する場合があります。具体的な料金については AWS の関連規約を参照してください。
-
Dynamic Image Transformation for Amazon CloudFront にアクセスします。
-
ページ下部にある
Launch in the AWS Consoleボタンをクリックし、ソリューションのデプロイを開始します。
-
画面の指示に従って設定を完了します。以下の項目には特に注意してください:
- スタックの作成時に、ソース画像を含む Amazon S3 バケット名を指定する必要があります。先ほど作成したバケット名を入力してください。
- デモ UI のデプロイを選択した場合、デプロイ完了後にその画面から画像処理機能をテストできます。AWS CloudFormation コンソールで対象のスタックを選択し、「出力」タブに移動して、DemoUrl キーに対応する値を見つけ、そのリンクをクリックしてデモ画面を開きます。
- このソリューションでは、画像を効率的に処理するために
sharpNode.js ライブラリを使用しています。GitHub リポジトリからソースコードをダウンロードし、必要に応じてカスタマイズできます。

-
設定完了後、デプロイステータスが
CREATE_COMPLETEになるまで待ちます。 -
NocoBase の設定では、以下の点に注意してください:
Thumbnail rule:画像処理に関するパラメータを入力します。例:?width=100。詳細は AWS ドキュメント を参照してください。Access endpoint:デプロイ後の Outputs -> ApiEndpoint の値を入力します。Full access URL style:Ignore にチェックを入れる必要があります(設定時にバケット名を入力済みのため、アクセス時には不要です)。

設定例

Alibaba Cloud OSS
Bucket の作成
- OSS コンソール https://oss.console.aliyun.com/overview を開きます

- 左側のメニューで「Buckets」を開き、「Create Bucket」ボタンをクリックしてバケットの作成を開始します

-
bucket の関連情報を入力し、最後に Create ボタンをクリックします
-
Bucket Name は自分の業務内容に合わせて任意に設定します
-
Region はユーザーに最も近いリージョンを選択します
-
その他の項目はデフォルトのままにするか、要件に応じて設定します
-

CORS の設定
- 前の手順で作成した bucket の詳細ページを開きます

- 中央のメニューで「Content Security -> CORS」をクリックします

- 「Create Rule」ボタンをクリックして関連項目を入力し、下にスクロールして「OK」をクリックします。下のスクリーンショットを参考にするか、さらに詳細な設定を行うこともできます

AccessKey、SecretAccessKey の取得
- 右上のアバター下にある「AccessKey」をクリックします

-
ここでは説明を簡単にするため、メインアカウントで AccessKey を作成します。本番環境では RAM を使用して作成することを推奨します。詳しくは https://help.aliyun.com/zh/ram/user-guide/create-an-accesskey-pair-1?spm=5176.28366559.0.0.1b5c3c2fUI9Ql8#section-rjh-18m-7kp を参照してください
-
「Create AccessKey」ボタンをクリックします

- アカウント認証を行います

- ページに表示された Access key と Secret access key を保存します

パラメータの取得と設定
-
AccessKey ID と AccessKey Secret には、前の手順で取得した値を入力します
-
bucket の詳細ページを開き、Bucket を取得します

- 下にスクロールして Region を取得します(末尾の「.aliyuncs.com」は不要です)

- endpoint アドレスを取得します。NocoBase に入力する際は、https:// プレフィックスを追加する必要があります

サムネイル設定(オプション)
この設定はオプションで、画像プレビューのサイズや表示効果を最適化する場合にのみ使用します。
-
Thumbnail ruleに関するパラメータを入力します。具体的なパラメータ設定については、画像処理パラメータ を参照してください。 -
Full upload URL styleとFull access URL styleは同じ値に設定します。
設定例

MinIO
Bucket の作成
- 左側の Buckets メニューをクリックし、Create Bucket をクリックして作成ページを開きます
- Bucket 名を入力し、保存ボタンをクリックします
AccessKey、SecretAccessKey の取得
- Access Keys に移動し、Create access key ボタンをクリックして作成ページを開きます

- 保存ボタンをクリックします

- ポップアップ内の Access Key と Secret Key を保存し、後の設定で使用します

パラメータ設定
-
NocoBase -> File manager ページを開きます
-
Add new ボタンをクリックし、S3 Pro を選択します
-
フォームに入力します
- AccessKey ID と AccessKey Secret には、前の手順で保存した値を入力します
- Region:プライベートデプロイの MinIO には Region の概念がないため、「auto」に設定できます
- Endpoint:デプロイしたサービスのドメインまたは IP アドレスを入力します
- Full access URL style を Path-Style に設定する必要があります
設定例

Tencent COS
上記のファイルサービスを参考に設定できます。設定方法はほぼ同じです
設定例

Cloudflare R2
上記のファイルサービスを参考に設定できます。設定方法はほぼ同じです
設定例

ユーザー向け利用方法
file-manager プラグインの使用方法については https://docs.nocobase.com/data-sources/file-manager/ を参照してください。

