Jetty の接続プールから Azure Data Lake Storage のデータ に接続

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
Azure Data Lake Storage JDBC Driver は接続プールをサポートしています。この記事では、Jetty の Web アプリから Azure Data Lake Storage のデータ に高速に接続する方法を説明します。

CData JDBC Driver for Azure Data Lake Storage は、Java Web アプリケーションへの統合が簡単です。この記事では、接続プールを設定することで Jetty から Azure Data Lake Storage のデータ に効率的に接続する方法を説明します。Jetty で Azure Data Lake Storage 用の JNDI リソースを設定していきましょう。

Salesforce 用の JDBC Driver を JNDI データソースとして設定

以下のステップで Jetty から Salesforce に接続します。

  1. Jetty ベースで JNDI モジュールを有効にします。次のコマンドは、コマンドラインから JNDI を有効にします。

    java -jar ../start.jar --add-to-startd=jndi
    
  2. インストールディレクトリの lib サブフォルダにある CData およびライセンスファイルを、コンテキストパスの lib サブフォルダに追加します。
  3. リソースとそのスコープを宣言します。リソース宣言に必要な接続プロパティを入力します。次の例では、WEB-INF\jetty-env.xml に Web アプリレベルで Azure Data Lake Storage データソースを宣言しています。

    
    <Configure id='azuredatalakedemo' class="org.eclipse.jetty.webapp.WebAppContext">
        <New id="azuredatalakedemo" class="org.eclipse.jetty.plus.jndi.Resource">
        <Arg><Ref refid="azuredatalakedemo"/></Arg>
        <Arg>jdbc/azuredatalakedb</Arg>
        <Arg>
          <New class="cdata.jdbc.adls.ADLSDriver">
            <Set name="url">jdbc:adls:</Set>
            <Set name="Schema">ADLSGen2</Set>
            <Set name="Account">myAccount</Set>
            <Set name="FileSystem">myFileSystem</Set>
            <Set name="AccessKey">myAccessKey</Set>
          </New>
        </Arg>
      </New>
    </Configure>
    

    Azure Data Lake Storage 接続プロパティの取得・設定方法

    Azure Data Lake Storage Gen2 への接続

    それでは、Gen2 Data Lake Storage アカウントに接続していきましょう。接続するには、以下のプロパティを設定します。

    • Account:ストレージアカウントの名前
    • FileSystem:このアカウントに使用されるファイルシステム名。例えば、Azure Blob コンテナの名前
    • Directory(オプション):レプリケートされたファイルが保存される場所へのパス。パスが指定されない場合、ファイルはルートディレクトリに保存されます

    Azure Data Lake Storage Gen2への認証

    続いて、認証方法を設定しましょう。CData 製品では、5つの認証方法をサポートしています:アクセスキー(AccessKey)の使用、共有アクセス署名(SAS)の使用、Azure Active Directory OAuth(AzureAD)経由、Azure サービスプリンシパル(AzureServicePrincipal またはAzureServicePrincipalCert)経由、およびManaged Service Identity(AzureMSI)経由です。

    アクセスキー

    アクセスキーを使用して接続するには、まずADLS Gen2ストレージアカウントで利用可能なアクセスキーを取得する必要があります。

    Azure ポータルでの手順は以下のとおりです:

    1. ADLS Gen2ストレージアカウントにアクセスします
    2. 設定でアクセスキーを選択します
    3. 利用可能なアクセスキーの1つの値をAccessKey 接続プロパティにコピーします

    接続の準備ができたら、以下のプロパティを設定してください。

    • AuthSchemeAccessKey
    • AccessKey:先ほどAzure ポータルで取得したアクセスキーの値

    共有アクセス署名(SAS)

    共有アクセス署名を使用して接続するには、まずAzure Storage Explorer ツールを使用して署名を生成する必要があります。

    接続の準備ができたら、以下のプロパティを設定してください。

    • AuthSchemeSAS
    • SharedAccessSignature:先ほど生成した共有アクセス署名の値

    その他の認証方法については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「Azure Data Lake Storage Gen2への認証」セクションをご確認ください。

  4. Web.xml でリソースを設定します。

    
      jdbc/azuredatalakedb
      javax.sql.DataSource
      Container
    
    
  5. これで、java:comp/env/jdbc/azuredatalakedb をルックアップして Azure Data Lake Storage にアクセスできます。

    InitialContext ctx = new InitialContext();
    DataSource myazuredatalake = (DataSource)ctx.lookup("java:comp/env/jdbc/azuredatalakedb");
    

Jetty 統合の詳細

上記のステップでは、シンプルな接続プールのシナリオでドライバーを設定する方法を説明しました。その他のユースケースや詳細については、Jetty ドキュメントのWorking with Jetty JNDI の章を参照してください。

はじめる準備はできましたか?

Azure Data Lake Storage Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Azure Data Lake Storage Icon Azure Data Lake Storage JDBC Driver お問い合わせ

Azure Data Lake Storage データに連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。