非セキュアなkvstoreでのプロキシの使用
プロキシの起動
非セキュアなkvstore用にプロキシを起動するには、次のコマンドを使用します。
java -jar lib/httpproxy.jar \
-storeName <kvstore_name> \
-helperHosts <kvstore_helper_host> \
[-hostname <proxy_host>] \
[-httpPort <proxy_http_port>]
説明kvstore_name
は、kvstoreデプロイメントから取得したkvstoreのストア名です。pingを参照してください。kvstore_helper_host
は、kvstoreデプロイメントから取得したkvstoreのヘルパー・ホスト:ポート・リストです。Javaダイレクト・ドライバ開発者ガイドのKVStoreハンドルの取得。proxy_host
は、プロキシ・サービスをホストするマシンのホスト名です。プロキシが起動されたマシン以外のマシンからプロキシにアクセスする場合は、プロキシを実行しているマシンのホスト名を指定します。このパラメータはオプションであり、デフォルトはlocalhost
です。proxy_http_port
は、プロキシがホスト・マシンでリクエストを監視しているポートです。これはオプションのパラメータで、デフォルトは80です。ノート:
ポート80を使用するには、マシンによっては追加の権限が必要になる場合があります。
Javaを使用したプロキシへの接続
Oracle NoSQL Database Javaドライバには、Javaアプリケーションがプロキシと通信できるようにするjarファイルが含まれています。
Javaドライバをアプリケーションのクラスパスにインストールし、次のコードを使用してプロキシに接続します。
String endpoint = "http://<proxy_host>:<proxy_http_port>";
StoreAccessTokenProvider atProvider = new StoreAccessTokenProvider();
NoSQLHandleConfig config = new NoSQLHandleConfig(endpoint);
config.setAuthorizationProvider(atProvider);
NoSQLHandle handle = NoSQLHandleFactory.createNoSQLHandle(config);
説明
proxy_host
は、プロキシ・サービスをホストするマシンのホスト名です。これは、以前に構成したホストと一致している必要があります。proxy_http_port
は、プロキシがホスト・マシンでリクエストを監視しているポートです。これは、以前に構成したhttpポートと一致する必要があります。
Pythonを使用したプロキシへの接続
Oracle NoSQL Database Pythonドライバには、Pythonアプリケーションがプロキシと通信できるようにするファイルが含まれています。
詳細は、Pythonを使用したプロキシへの接続を参照してください。
Goを使用したプロキシへの接続
Oracle NoSQL Database Go SDKには、Goアプリケーションがプロキシと通信できるようにするファイルが含まれています。
詳細は、Goを使用したプロキシへの接続を参照してください。
Node.jsを使用したプロキシへの接続
Oracle NoSQL Database Node.js SDKには、Node.jsアプリケーションがプロキシと通信できるようにするファイルが含まれています。
詳細は、Node.jsを使用したプロキシへの接続を参照してください。
例
次の例では、HTTPポート8080を使用して、ローカル・マシンmyhost
でプロキシ・インスタンスを起動します。ポート5000上の2つのホスト(kvhost1
およびkvhost2
)で実行されているOracle NoSQL Databaseインスタンス名kvstore
に接続されます。
非セキュアkvstoreの起動
- 8080を
httpPort
として使用して、localhost
でプロキシを起動します。java -jar lib/httpproxy.jar \ -storeName kvstore \ -helperHosts kvhost1:5000,kvhost2:5000 \ -httpPort 8080 \ -verbose true
- アプリケーションで、次のコードを実行してプロキシに接続します。
String endpoint = "http://localhost:8080"; StoreAccessTokenProvider atProvider = new StoreAccessTokenProvider(); NoSQLHandleConfig config = new NoSQLHandleConfig(endpoint); config.setAuthorizationProvider(atProvider); NoSQLHandle handle = NoSQLHandleFactory.createNoSQLHandle(config);
- この例でCRUD操作を追加する必要がある場合は、Oracle NoSQL Database Javaドライバを参照してください。