ストレージエンジン:Aliyun OSS
Aliyun OSS をベースにしたストレージエンジンです。ご利用の前に、関連するアカウントと権限をご準備いただく必要があります。
このエンジンはプライベートアクセスに対応していません。ファイルのアップロード後、NocoBase は直接アクセス可能な URL を生成し、その URL を知っている人は誰でもファイルにアクセスできます。
OSS bucket 自体をプライベートに設定していても、NocoBase 組み込みの Aliyun OSS エンジンはファイルアクセス用の一時署名 URL を生成しません。プライベートアクセスが必要な場合は S3 Pro を使用してください。既存ファイルがある場合は、S3 Pro への移行を参照してください。
設定パラメーター

ここでは、Aliyun OSS ストレージエンジン固有のパラメーターのみを説明します。共通パラメーターについては、エンジンの共通パラメーターを参照してください。
ベース URL
ファイルアクセス URL のプレフィックスを入力します。たとえば、現在の bucket にバインドしたカスタムドメイン https://oss.example.com です。Aliyun OSS のデフォルトドメインで PDF にアクセスすると、ブラウザーがダウンロードする場合があります。先 にカスタムドメインをバインドすることを推奨します。詳しくは下記のよくある問題を参照してください。
リージョン
OSS ストレージのリージョンを入力します。例:oss-cn-hangzhou
Aliyun OSS コンソールでストレージスペースのリージョン情報を確認できます。リージョンのプレフィックス部分のみで構いません(完全なドメイン名は不要です)。
AccessKey ID
Aliyun の認証アクセスキーのIDを入力します。
AccessKey Secret
Aliyun の認証アクセスキーのSecretを入力します。
バケット
OSS ストレージのバケット名を入力します。
タイムアウト
Aliyun OSS へのアップロードのタイムアウト時間をミリ秒単位で入力します。デフォルトは 60000 ミリ秒(60 秒)です。
よくある問題
PDF がプレビューされずダウンロードされる
NocoBase はクロスオリジンの PDF を iframe でプレビューします。ブラウザーが OSS のファイル URL に直接アクセスするため、表示かダウンロードかは OSS のレスポンスヘッダーによって決まります。
iframe から PDF がダウンロードされる場合は、ブラウザーの開発者ツールにある「ネットワーク」でファイルリクエストを確認します。典型的な問題のあるレスポンスは次のとおりです。
Content-Type: application/pdf はファイル形式を正しく示していますが、Content-Disposition: attachment はブラウザーにダウンロードを指示します。Aliyun OSS のデフォルトドメインは一部の状況でダウンロードを強制します。Aliyun の公式ドキュメント PDF ファイルへのアクセスをダウンロードではなくプレビューに設定する方法も参照してください。
次のように設定することを推奨します。
- カスタムドメインで OSS リソースにアクセスするの手順で bucket にカスタムドメインをバインドする
- DNS と HTTPS 証明書を設定し、カスタムドメインからファイルに直接アクセスできることを確認する
- 使用する NocoBase ストレージエンジンのアクセス URL を設定する
第 3 ステップの設定は次のとおりです。
- 組み込みの「Aliyun OSS」エンジンでは、「ベース URL」にバインド済みのカスタムドメイン(例:
https://oss.example.com)を設定する - S3 Pro で Aliyun OSS に接続する場合、アップロード endpoint は OSS のリージョン endpoint のままにできる。アクセス endpoint にはカスタムドメインを設定し、
Full access URL styleをIgnoreに設定する
新しい PDF をアップロードして設定を確認します。既存のファイルレコードに完全な URL が保存されている場合は、フロントエンドに返される URL がカスタムドメインに切り替わっていることも確認してください。
クロスオリジン PDF の iframe プレビュー自体には CORS は不要です。PDF をインライン表示できるかどうかは、主に Content-Type と Content-Disposition で決まります。これは、下記のダウンロードボタンに必要な CORS とは別の問題です。

