非セキュアな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の起動

  1. 8080をhttpPortとして使用して、localhostでプロキシを起動します。
    java -jar lib/httpproxy.jar \
         -storeName kvstore \
         -helperHosts kvhost1:5000,kvhost2:5000 \
         -httpPort 8080 \
         -verbose true
  2. アプリケーションで、次のコードを実行してプロキシに接続します。
    String endpoint = "http://localhost:8080";
          StoreAccessTokenProvider atProvider = new StoreAccessTokenProvider();
          NoSQLHandleConfig config = new NoSQLHandleConfig(endpoint);
          config.setAuthorizationProvider(atProvider);
          NoSQLHandle handle = NoSQLHandleFactory.createNoSQLHandle(config);
  3. 必要に応じて、この例でCRUD操作を追加する場合は、「Oracle NoSQL Databaseドライバ」を参照してください。