ナレッジベースでマルチメディアファイルに使用するストレージプロバイダーを指定します。各種の外部ストレージプロバイダーから選択できます。
Amazon S3 | Amazon Simple Storage Service および互換性のあるサービス |
Microsoft Azure | Microsoft Azure Storage Service |
Google Cloud Storage | Google Cloud Platform Storage Service |
IBM Cloud Object Storage | IBM Cloud Object Storage Service (IBM COS) |
Local | これが既定値です。マルチメディアファイル (オーディオ、ビデオ、画像) はローカルに保存されます。 |
ジェネレーター: Java、.NET、
.NET Coreレベル: ジェネレーター
使用するストレージプロバイダーによって、ストレージの場所を設定する追加のプロパティが異なります。これらのプロパティは [ Services ] セクションの下にまとめられています。
このプロパティは、ジェネレーターおよびオブジェクトのプロパティです。
オブジェクトレベルでは、マルチメディア項目属性ごとに [ Use External Storage Provider ] プロパティ =
{True, False} を設定できます。このプロパティの目的は、1 つのマルチメディアフィールドに、ジェネレーターレベルで設定されているものと同じ [ Storage Provider ] プロパティを使用するかどうかを指定することです。False を選択した場合、 [ Local ] 値が想定されます。
マルチメディア変数に設定することはできません。この場合はジェネレーターのプロパティ値が使用されます。
サポート対象の各ストレージプロバイダーについて以下に示します。
Amazon S3
Amazon AWS S3 または Amazon AWS S3 と互換性のあるオブジェクト ストレージ サービスにアクセスするために使います。互換性のあるサービスには、Min.IO、Oracle、IBM Cloud Object Storage (IBM COS) などがあります。
Storage Access Key ID |
S3 のアクセスキー ID です。(*) |
Storage Secret Access Key |
S3 のシークレット アクセス キーです。(*) |
[ Bucket Name ] プロパティ |
マルチメディアデータをアップロードするには、その前に AWS リージョンの 1 つにバケットを作成します。バケットとは、データをフォルダ階層で格納できるリポジトリです。その後、任意の数のオブジェクトをバケットにアップロードできます。詳細については、こちらを参照してください。バケットが存在しない場合は、ユーザーに権限がない場合を除き、アプリケーションによって作成されます。 |
[ Folder Name ] プロパティ |
バケット構造内のフォルダです。存在しない場合は、アプリケーションによって作成されます。テーブルと同じ名前のフォルダと、マルチメディア項目属性と同じ名前のフォルダが、このプロパティで指定するフォルダの下に作成されます。マルチメディアファイルは、後者のフォルダの下に格納されます。 |
[ Privacy ] プロパティ |
格納されるマルチメディアリソースが Public か Private か、つまり誰でもアクセスできるかどうかを指定します。Private に設定した場合、署名付き URL が自動的に生成されます。 |
[ URL Expiration ] プロパティ (ストレージプロバイダー) |
署名付き (プライベート) URL が無効になるまでの有効期限を分単位の値で指定します。既定は 1440 (24 時間) です。 |
Storage Region |
アプリケーションのデータ遅延を削減するため、ほとんどの Amazon Web Services はリクエストに対応するリージョンごとのエンドポイントを用意しています。詳細については、こちらを参照してください。 |
Storage Endpoint |
クライアントと S3 バケットの間のファイル転送を高速化できます。指定できる値は、Standard、Accelerated、Dual-Stack Accelerated、Custom Endpoint です。詳細については、こちらをクリックしてください。
前提条件: バケットで Transfer Acceleration が有効になっている必要があります。
GeneXus 15 Upgrade 2 以降で使用できます。 |
Storage Custom Endpoint |
AWS S3 SDK と互換性があるサービスを利用するためのカスタムのエントリーポイントを提供します。 [ Storage Endpoint ] プロパティの値が Custom Endpoint のときにのみ必要です。 |
(*) これらのプロパティを空のままにした場合、実行時に
Amazon EC2 インスタンスの環境設定からインスタンス化されます。
このストレージプロバイダーは Java でのみ利用できます。.NET と .NET Core では、Amazon S3 ストレージプロバイダーを使用して IBM COS に接続できます。
Public Container Name |
データを格納できるリポジトリです。 |
Private Container Name |
データを格納できるリポジトリです。Excel ファイルの格納やプライベートファイルの処理に使用されます。「Storage Provider API」を参照してください。 |
Account Name |
Azure ストレージアカウントには、Azure Storage データの格納とアクセスのための一意の名前空間があります。 |
[ Privacy ] プロパティ |
格納されるマルチメディアリソースが Public か Private か、つまり誰でもアクセスできるかどうかを指定します。Private に設定した場合、署名付き URL が自動的に生成されます。 |
[ URL Expiration ] プロパティ (ストレージプロバイダー) |
署名付き (プライベート) URL が無効になるまでの有効期限を分単位の値で指定します。既定は 1440 (24 時間) です。 |
Access Key |
ストレージプロバイダーに接続するために必要なアクセスキーの資格情報です。 |
Azure Storage の詳細については、
こちらを参照してください。
[ Bucket Name ] プロパティ |
データをフォルダ階層で格納できるリポジトリです。 |
[ Folder Name ] プロパティ |
バケット構造内のフォルダです。存在しない場合は、アプリケーションによって作成されます。 |
[ Privacy ] プロパティ |
格納されるマルチメディアリソースが Public か Private か、つまり誰でもアクセスできるかどうかを指定します。Private に設定した場合、署名付き URL が自動的に生成されます。 |
[ URL Expiration ] プロパティ (ストレージプロバイダー) |
署名付き (プライベート) URL が無効になるまでの有効期限を分単位の値で指定します。既定は 1440 (24 時間) です。 |
Service Account Key |
サービス アカウント キーとして生成される .json ファイルの内容です。
サービス アカウント キーを取得するには、Google コンソールを開き、 [ API Manager ] / [ 認証情報 ] から [ 認証情報を作成 ] / [ サービス アカウント キー ] を選択します。サービスアカウントの役割はストレージ管理者にします。
|
Project Id |
プロジェクトの ID です。 |
Application Name |
アプリケーションの名前です。すべてのリクエストのヘッダーで送信されます。 |
プロパティに値を設定したときに、それに対応する変更を適用するには、オブジェクトの [
これだけをビルド ] を実行します。
プロパティを変更すると、CloudServices.config ファイルが更新されます。ストレージプロバイダーを変更しない限り、ビルドを行う必要はありません。
実装の詳細:
Web アプリケーションで CloudServices.config ファイルが見つかると、このファイルの設定に従ってマルチメディアファイルが保存されます。ファイルが見つからなかった場合、マルチメディアファイルはデータベースに保存されます。
アプリケーション起動後はファイルが読み取り専用になるので、ファイルの設定を変更した場合は Web アプリケーションを再起動する必要があります。
詳細については、「
マルチメディア用外部ストレージ」を参照してください。
[ Privacy ] プロパティ (ストレージプロバイダー)
[ URL Expiration ] プロパティ (ストレージプロバイダー)
[ Storage Custom Endpoint ] プロパティ (ストレージプロバイダー)