プロキシ・サーバーへの接続
C#ドライバは、独立して実行されるプロキシ・サーバーに接続できます。プロキシはドライバによって管理されないため、管理対象外プロキシ・サーバーと呼ばれます。
プロキシが管理対象外に設定された場合、次のオプションとそれぞれのオブジェクト値をDictionary
変数に追加する必要があります。
-
PROXY_MANAGED
: これをfalse
に設定する必要があります。 -
PROXY_HOST
: プロキシ・サーバーを実行しているノードの名前またはIP。 -
PROXY_PORT
: プロキシ・サーバーがリスニングするポート。
たとえば、n1.example.orgのポート7010で実行されているプロキシ・サーバーがあるとします。また、同じノードのポート5000でMyNoSQLStoreという名前のOracle NoSQL Databaseストアが実行中であるとします。その後、ストアへの接続に示されているコード・フラグメントを変更して、管理対象外のプロキシ・サービスを次のように使用します。
using oracle.kv.client;
using oracle.kv.client.config;
...
static void Main(string[] args) {
//Setting Proxy Parameters. In this case the proxy server is running independently.
Dictionary<Option, object> dict = new Dictionary<Option, object>();
//proxy server is not managed by the application
dict.Add(Options.PROXY_MANAGED, false);
dict.Add(Options.PROXY_HOST, "n1.example.org");
dict.Add(Options.PROXY_PORT, Convert.ToInt32(7010));
//The host name, port number, and store name need not be specified as the proxy server and the store is running on the same node.
IKVDriver driver = KVDriver.Create(dict); //Connecting to the store
//Fetch store details from the NoSQL Database
IKVStore store = (KVStore)driver.GetStore();
}
注意:
プロキシ・サーバーとストアを同じノードにデプロイすることをお薦めします。
安全なストアを使用している場合、構成には保護されたストアにログインするためのユーザー名も含まれている必要があります。これは、次のいずれかの方法で指定できます。
-
dict.Add(Options.STORE_SECURITY_FILE, “path_to_the_security_file”);
“path_to_the_security_file”
は、ストアへのログインに使用されるセキュリティ・ファイルを識別します。 -
dict.Add(Options.STORE_USER_NAME, “user_name_to_login”);
“user_name_to_login”
は、ストアの認証時に使用されるユーザー名を指定します。