非セキュアな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を使用したプロキシへの接続を参照してください。
.NETを使用したプロキシへの接続
Oracle NoSQL Database .NET SDKには、.NETアプリケーションがプロキシと通信できるようにするファイルが含まれています。
詳細は、.NETを使用したプロキシへの接続を参照してください。
Spring Dataを使用したプロキシへの接続
Oracle NoSQL Database Spring Data SDKには、Spring Dataアプリケーションがプロキシと通信できるようにするファイルが含まれています。
アプリケーションのクラスパスにJavaドライバをインストールします。次のコードを使用してプロキシに接続します。
configuration
Spring Beanは、NosqlDbConfig
オブジェクトを提供します。StoreAccessTokenProvider
クラスを使用すると、Oracle NoSQL Databaseストアに接続するようにSpring Data Frameworkを構成できます。
import com.oracle.nosql.spring.data.config.AbstractNosqlConfiguration;
import com.oracle.nosql.spring.data.config.NosqlDbConfig;
import com.oracle.nosql.spring.data.repository.config.EnableNosqlRepositories;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import oracle.nosql.driver.kv.StoreAccessTokenProvider;
@Configuration
@EnableNosqlRepositories
public class AppConfig extends AbstractNosqlConfiguration {
@Bean
public NosqlDbConfig nosqlDbConfig() {
AuthorizationProvider authorizationProvider;
authorizationProvider = new StoreAccessTokenProvider();
return new NosqlDbConfig("http://<proxy_host:proxy_http_port>", authorizationProvider);
}
}
proxy_host
は、プロキシ・サービスをホストするマシンのホスト名です。proxy_http_port
は、プロキシがホスト・マシンでリクエストを監視しているポートです。
例
次の例では、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ドライバ」を参照してください。