ODBC 経由で PowerBuilder から Azure Data Lake Storage のデータ に接続
CData ODBC Driver for Azure Data Lake Storage は、ODBC をサポートするあらゆるプラットフォームや開発技術から使用できます。PowerBuilder もその一つです。この記事では、Azure Data Lake Storage のデータ に接続し、Database Painter や DataWindow などのコントロールからクエリを実行する方法を説明します。
Azure Data Lake Storage にODBC データソースとして接続
まだ設定していない場合は、ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最後のステップです。Microsoft ODBC データソースアドミニストレーターを使用して、ODBC DSN を作成・設定できます。
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 ポータルでの手順は以下のとおりです:
- ADLS Gen2ストレージアカウントにアクセスします
- 設定でアクセスキーを選択します
- 利用可能なアクセスキーの1つの値をAccessKey 接続プロパティにコピーします
接続の準備ができたら、以下のプロパティを設定してください。
- AuthScheme:AccessKey
- AccessKey:先ほどAzure ポータルで取得したアクセスキーの値
共有アクセス署名(SAS)
共有アクセス署名を使用して接続するには、まずAzure Storage Explorer ツールを使用して署名を生成する必要があります。
接続の準備ができたら、以下のプロパティを設定してください。
- AuthScheme:SAS
- SharedAccessSignature:先ほど生成した共有アクセス署名の値
その他の認証方法については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「Azure Data Lake Storage Gen2への認証」セクションをご確認ください。
Azure Data Lake Storage 用 ODBC ドライバ のプロファイルを作成
以下の手順に従って、Database Painter ツールを使用し、Azure Data Lake Storage の ODBC DSN(データソース名)に基づいてデータベースプロファイルを作成します。Database Painter では、ウィザードや UI を使用してAzure Data Lake Storage のデータを操作できます。
- PowerBuilder で、[ツール] -> [Database Painter]をクリックします。
- Database Painter の [オブジェクト] ウィンドウで、ODBC ノードを右クリックし、[新しいプロファイル] をクリックします。
- [接続] タブで、プロファイル名を入力し、[データソース] メニューで Azure Data Lake Storage DSN を選択します。
- テーブルを表示・編集するには、テーブルを右クリックして [データの編集] -> [グリッド] をクリックします。
PowerBuilder コントロールで Azure Data Lake Storage のデータ を使用
標準の PowerBuilder オブジェクトを使用して ODBC データソースに接続し、クエリを実行できます。以下の例では、Azure Data Lake Storage のデータ を DataWindow に取得する方法を示します。次のコードを open メソッドに追加してください。
SQLCA.DBMS = "ODBC" SQLCA.DBParm = "ConnectString='DSN=CData ADLS Source'" CONNECT USING SQLCA; dw_resources.SetTransObject(SQLCA); dw_resources.Retrieve();