2.6 sgtech_config.jsonファイルを使用した構成の変更
この項では、sgtech_config.json
ファイルの重要なプロパティの構成について説明します。
デフォルトでは、Spatial Studioはほとんどの重要な構成情報を保存するためにsgtech_config.json
という名前のJSONファイルを(まだ存在していない場合)作成して使用します。
通常、このファイルはオペレーティング・システム・ユーザーのホーム・ディレクトリの.sgtech
という名前のサブフォルダにあります。アプリケーションEARをWebLogicドメインにデプロイしたか、クイック・スタートのみを使用している場合は、これが当てはまります。
ノート:
sgtech_config.json
ファイルを保護し、定期的にバックアップがあることを確認する必要があります。このファイルが失われた場合、Spatial Studioがデータ接続のデータベース・スキーマ・パスワードなどの機密情報の暗号化に使用したマスター・キーが失われます。つまり、次回Spatial Studioを起動すると、そのような情報を復号化できなくなり、どのデータ接続も使用できなくなり、その中のデータセットもすべて使用できなくなります。そのようなシナリオの詳細は、失われたマスター・キーのリカバリを参照してください。
次の各トピックでは、システム管理者が気を付ける必要がある構成ファイルの重要なプロパティについて説明します:
- HTTPS-ONLYアクセスの許可
- Spatial Studioメタデータ・スキーマへの接続
- メタデータ・オブジェクトのキャッシュ
- Spatial Studioでの追加構成ファイルのインポート
- Spatial Studioのリポジトリ・スキーマ・パスワードが変更されている場合
親トピック: Oracle Spatial Studioの管理
2.6.1 HTTPS-ONLYアクセスの許可
sgtech_config.json構成ファイルの最上位レベルのプロパティの1つは、https_onlyです。この値がtrue (デフォルト)に設定されている場合、Oracle Spatial Studioはすべての受信リクエストをアクティブにモニターし、SSLを使用して行われたリクエストのみを許可します。通常のhttp://
リクエストは拒否されます。
このため、http://localhost:8080/spatialstudio
などのhttp://
URLを使用してSpatial Studioアプリケーションにアクセスしようとする場合に、https_only
の値にtrue
が設定されていると、ログインできません。実際、ブラウザからアクセスできるページ・リソースがないため、ログイン・ページ自体が表示されません。同様に、HTTPSを使用してアクセスしないかぎり、すべてのRESTfulリクエストはブロックされます。
http
アクセスを有効にする場合は、https_only
の値をfalse
に変更してから、Spatial StudioアプリケーションまたはSpatial StudioがデプロイされているJavaEEコンテナを再起動します。
http
アクセスの有効化には、次の事項も必要になります:
- JaveEEコンテナで、
http
が有効になっていること。Spatial Studioクイック・スタートを実行している場合は、JettyコンテナでHTTPアクセスを有効にする方法について、「Spatial Studioクイック・スタートのインストールおよび構成」を参照してください。
- ホストOSのファイアウォールで、
http
ポートが開いていること。
2.6.2 Spatial Studioメタデータ・スキーマへの接続
Spatial Studioは、SGTECH_OBJECTなどの一連のメタデータ表にアクセスできる必要があります。これらの表は全体として、Spatial Studioアプリケーションのリポジトリとみなされます。これらの表をホストするデータベース・スキーマは、Spatial Studioのメタデータ・スキーマまたはリポジトリ・スキーマとみなされます。
sgtech_config.json
ファイルのmetadata_schema
セクションに接続の詳細が含まれている場合、Spatial Studioは起動時の最初のステップとしてこのメタデータ・スキーマへの接続を確立できる必要があります。
緊急時には、このセクションを手動で編集して、接続詳細を変更または修正することもできます。ただし、構文エラーによってSpatial Studioが動作を停止したり、再起動に失敗する可能性があるため、このファイルを編集するときは常に注意してください。
sgtech_config.json
ファイル(のmetadata_schemaセクション)にリポジトリ・スキーマ接続の詳細を手動で入力する場合は、CONTAINERまたはSPATAL_STUDIOのどちらで物理JDBC接続を管理するかを最初に指定する必要があります。
"metadata_schema" : {
"connection_manager": "CONTAINER"
}
または
"metadata_schema" : {
"connection_manager": "SPATIAL_STUDIO"
}
connection_manager
にCONTAINERを設定すると、Spatial Studioのリポジトリ・スキーマへのJDBC接続は、Jetty (クイック・スタートの場合)またはWebLogic Serverにすでに作成したJava EEデータ・ソースを使用して管理されることになります。たとえば、WLSドメインにjdbc/studioMetadata
というデータ・ソースがあり、Studioでこのデータ・ソースを使用してターゲット・スキーマに接続する場合、sgtech_config.json
の関連セクションは次のようになります。
"metadata_schema" {
"connection_manager" : "CONTAINER",
"container_managed":{
"jndi_datasource_name" : "jdbc/studioMetadata"
}
}
ノート:
Spatial Studioリリース19.2以降では、Spatial Studioアプリケーションにコンテナ管理の接続の詳細を入力できないため、サポートされている唯一の方法はsgtech_config.json
ファイルを手動で編集することです。
ただし、Spatial Studioでそのメタデータ・スキーマへの物理接続を管理する場合は、connection_manager
にSPATIAL_STUDIOを設定し、JDBC接続の詳細の完全なセットを指定します。この詳細は、スキーマがOracle Autonomousデータベース(接続を確立するにはデータベースWalletが必要となります)に存在するか、通常のオンプレミスのデータベースに存在するかによって異なります。sgtech_config.json
ファイル内のインライン・コメントで詳細を確認できますが、Spatial Studioに管理ユーザーとしてログオンし、リポジトリ・スキーマの接続の詳細を対話形式で指定することをお薦めします。そのような詳細は、Spatial Studioが接続を検証した後に、sgtech_config.json
に自動的に保存されます。
2.6.3 メタデータ・オブジェクトのキャッシュ
実行時に、ユーザーが接続、データセットおよびプロジェクトを作成すると、Spatial Studioは、データセットの定義やそのすべての列の定義、すべてのビジュアライゼーションの完全なレイアウトを含むプロジェクトの定義などの大量のメタデータ(Spatial Studioのドメイン・オブジェクトとも呼ばれます)を作成、変更および格納します。
すべてのメタデータ・オブジェクトは、メタデータ表SGTECH_OBJECTに永続的に格納されますが、データベースに頻繁にアクセスする必要がある場合(プロジェクトを開くとき、データセットのプロパティを表示するときなど)は、パフォーマンスが低下する可能性があります。これが発生する場合は、そのようなメタデータ・オブジェクトの頻繁にアクセスされるコピーをメモリーにキャッシュすることが解決策となります。
sgtech_config.json
ファイルのcache
セクションでは、メタデータ・オブジェクトのそのようなインメモリー・キャッシュを有効にするかどうかを指定できます。キャッシュが有効になっている場合は、そのようなオブジェクトをキャッシュできる数とキャッシュする期間をさらに指定できます。一般的なルールとしては、max_size
(キャッシュされるメタデータ・オブジェクトの最大数)は1000未満にしますが、Spatial Studioに割り当てるメモリー量が非常に多い場合を除き、10000を超えないようにしてください。
2.6.4 Spatial Studioでの追加構成ファイルのインポート
Spatial Studio 22.1では、様々な構成ファイルをメインのsgtech_config.json
構成ファイルにインポートできます。
複数の構成ファイルを処理するためのワークフローを次に示します。
- 起動時に、Spatial Studioはプライマリ構成ファイル
sgtech_config.json
をロードします。sgtech_config.json
で定義されている設定はすべて、基本設定として使用されます。 sgtech_config.json
ファイルにimports
ディレクティブが含まれている場合は、インポート・ファイルが宣言された順序(上から下)でロードされます。ロードされたインポート・ファイルごとに、設定が読み込まれ、基本設定に追加されます。
- 基本設定がすべて読み込まれると、機密項目が暗号化され、対応するファイルに保存されます。
- Spatial Studioは、システムの残りのロードを再開します。
sgtech_config.json
へのimports
の追加
次のように、sgtech_config.json
ファイルを編集し、新しいトップレベルのimports
ディレクティブを追加できます。
"imports" : {
"<import_name>" : {
"module" : "<import_file_path>",
"description" : "<import_description>"
}
}
前述のコードで:
- <import_name>: 一意である必要があるインポート・ファイルの名前。これは主に、
imports
ファイルのロード時にエラーをレポートするためにSpatial Studioで使用されます。 - <import_file_path>:
imports
ファイルのファイル・パスは、メイン構成ファイル(~/.sgtech/sgtech_config.json
)の格納先ディレクトリに対して相対的である必要があります。 - <import_description>: インポートの目的を記述します。
description
は、imports
プロパティのオプションのパラメータです。
sgtech_config.dbsettings.json
ファイルで、次のコードに示すようにmetadata_schema
の詳細を構成します。ファイル・パスは~/.sgtech/extras/sgtech_config.dbsettings.json
となります。{
"metadata_schema" : {
"connection_manager" : "CONTAINER",
"container_managed" : {
...
},
}
}
また、sgtech_config.jobs.jsonでファイル・パス~/.sgtech/extras/sgtech_config.jobs.json
の後に、jobs
の詳細を別に構成します。
{
"jobs" : {
"init_threads_count" : 45
}
}
これで、次のように、前述の2つの構成ファイルをメインのsgtech_config.json
ファイル(~/.sgtech/sgtech_config.json
)のimports
ディレクティブに含めることができるようになります。
{
"version" : "22.1.0",
"work_dir" : "",
"https_only" : true,
"master_seed" : "<somerandommasterseed>",
"logging" : {
"level" : "INFO"
},
"imports" : {
"jobs" : {
"module" : "extras/sgtech_config.jobs.json"
},
"db" : {
"module" : "extras/sgtech_config.dbsettings.json",
"description" : "Database settings optimized for clustering"
}
}
}
インポート・ファイルの要件
複数のインポート・ファイルを処理する場合は、次の要件に準拠することが重要です。
imports
のファイルは、プライマリsgtech_config.json
ファイルと同じディレクトリまたはそのサブディレクトリ内にある必要があります。imports
ファイルに含まれる設定は、プライマリsgtech_config.json
構成ファイルなど、他の構成ファイルですでに宣言されている設定との競合を回避する必要があります。imports
ファイルには機密データを含めることができるため、ファイルの所有者のみが読取りまたは書込み(あるいはその両方)のアクセス権を持っている必要があります。version
、work_dir
、master_seed
およびimports
は、プライマリ構成ファイルsgtech_config.json
に制限されている設定です。
2.6.5 Spatial Studioのリポジトリ・スキーマ・パスワードが変更されている場合
Spatial Studioのリポジトリ・スキーマ・パスワードが変更されている場合は、次のようにsgtech_config.json
構成ファイルを更新する必要があります:
- このファイルのバックアップ・コピーを作成します。たとえば、
~/.sgtech/sgtech_config.json
を~/.sgtech/sgtech_config.json_backup
にコピーします。 - Spatial Studioの計算ノードで、ファイル
~/.sgtech/sgtech_config.json
を編集します。 - metadata_schemaセクションで、
database_password
を必要な値に更新します。 - ファイルを保存してSpatial Studioデプロイメントを再起動します。クイック・スタート・キットを使用している場合に再起動するには、クイック・スタートのREADMEファイルを参照してください。WebLogic Serverデプロイメントの場合は、WebLogic Serverコンソールを使用して再起動します。
- Spatial Studioアプリケーションを開きます。ログインできる必要があります。
必要に応じて編集できる他の(リポジトリ以外の)接続も含め、作成したすべてのアーティファクトが残ります。