CData BizTalk Adapter for Snowflake の Receive Location を構成する
この記事の手順に従って、Snowflake のデータに接続し、Static One-Way Receive Location を構成して、シンプルなテスト(Snowflake のデータを取得して XML ファイルに書き込む)を実行できます。
Receive Location は SQL コマンドを実行し、結果を含む BizTalk メッセージを作成できます。Updategram コマンドを実行する場合は、Send Port を使用してください。
Snowflake データ連携について
CData は、Snowflake のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:
- Snowflake データを迅速かつ効率的に読み書きできます。
- 指定された Warehouse、Database、Schema のメタデータを動的に取得できます。
- OAuth、OKTA、Azure AD、Azure マネージド サービス ID、PingFederate、秘密鍵など、さまざまな方法で認証できます。
多くの CData ユーザーは、CData ソリューションを使用して、お気に入りのツールやアプリケーションから Snowflake にアクセスし、さまざまなシステムからデータを Snowflake にレプリケートして、包括的なウェアハウジングと分析を行っています。
CData ソリューションとの Snowflake 統合についての詳細は、ブログをご覧ください:https://jp.cdata.com/blog/snowflake-integrations
はじめに
Receive Port の作成
アプリケーションに Receive Location を追加するには、まず Receive Port を追加する必要があります。Receive Port は複数の Receive Location からデータを受信できます。
- まだ行っていない場合は、BizTalk Administration Console でアプリケーションを開きます。
- アプリケーション内で、Receive Ports を右クリックし、New -> Static One-Way Receive Port をクリックします。Receive Port Properties ダイアログが表示されます。
- Name メニューで、Receive Port の名前を入力します。
Receive Location の作成
Receive Port を作成したら、Receive Location を作成し、Snowflake アダプターをトランスポートタイプとして使用するよう構成します。
- Receive Locations を右クリックし、New -> One-Way Receive Location をクリックします。
- 新しい Receive Location がメンバーとなる適切な Receive Port を選択します。Receive Location Properties ダイアログが表示されます。
- Name メニューで、Receive Location の名前を入力します。
- Receive Location プロパティで、Transport Type メニューから CData.Snowflake を選択します。
- Receive pipeline メニューで、デフォルトオプションの PassThruReceive を選択します。
アダプターの構成
Transport Properties ダイアログで、アダプターが実行するコマンドを指定します。
- Receive Location プロパティで、Configure をクリックします。アダプターの Transport Properties ダイアログが表示されます。
- SQL Command プロパティに、コマンドを入力します。この例では
SELECT Id, ProductName FROM Products
を使用します。
接続文字列の構成
Connection String Options ダイアログで、認証情報やその他の接続プロパティを設定します。
- Receive Location プロパティで、Configure をクリックします。アダプタープロパティダイアログが表示されます。
- Connection String プロパティのボタンをクリックします。
- Connection String プロパティのボックスをクリックします。Connection String Options ダイアログが表示されます。
- 接続プロパティを入力します。一般的な接続文字列は以下のとおりです:
User=Admin;Password=test123;Server=localhost;Database=Northwind;Warehouse=TestWarehouse;Account=Tester1;
それでは、Snowflake データベースに接続していきましょう。認証に加えて、以下の接続プロパティを設定します。
- Url:お使いのSnowflake URL を指定します。例:https://orgname-myaccount.snowflakecomputing.com
- Legacy URL を使用する場合:https://myaccount.region.snowflakecomputing.com
- ご自身のURL は以下のステップで確認できます。
- Snowflake UI の左下にあるユーザー名をクリックします
- Account ID にカーソルを合わせます
- Copy Account URL アイコンをクリックして、アカウントURL をコピーします
- Database(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限したい場合に設定します
- Schema(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限したい場合に設定します
Snowflakeへの認証
CData 製品では、Snowflake ユーザー認証、フェデレーション認証、およびSSL クライアント認証をサポートしています。認証するには、User とPassword を設定し、AuthScheme プロパティで認証方法を選択してください。
キーペア認証
ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成し、キーペア認証で接続することも可能です。この方法で接続するには、AuthScheme をPRIVATEKEY に設定し、以下の値を設定してください。
- User:認証に使用するユーザーアカウント
- PrivateKey:プライベートキーを含む.pem ファイルへのパスなど、ユーザーに使用されるプライベートキー
- PrivateKeyType:プライベートキーを含むキーストアの種類(PEMKEY_FILE、PFXFILE など)
- PrivateKeyPassword:指定されたプライベートキーのパスワード
その他の認証方法については、ヘルプドキュメントの「Snowflakeへの認証」セクションをご確認ください。
- Url:お使いのSnowflake URL を指定します。例:https://orgname-myaccount.snowflakecomputing.com
- Test Connection をクリックして、接続値を確認し接続をテストします。
各種プロパティとその機能の説明については、ヘルプドキュメントを参照してください。
Send Port を使用してデータを XML ファイルに書き込む
これで Static One-Way Receive Location を Send Port と共に使用する準備が整いました。Receive Location が作成した BizTalk メッセージには Send Port を関連付ける必要があります。データをファイルに書き込むには、File Send Port を作成します。
- BizTalk Administration コンソールで、Send Ports -> New -> Static One-Way Send Port を右クリックします。
構成ウィンドウの上部に Send Port の名前を入力し、Type メニューから FILE を選択します。
- 宛先フォルダを構成します。これがディスク上にファイルが作成される場所になります。
ファイル名には、マクロを使用してファイルが作成された日付を簡単に識別できます。デフォルトでは %MessageId%.xml が使用されます。ただし、これはランダムに生成された BizTalk ID であるため、ユーザーフレンドリーな名前ではありません。Products_yyyy-MM-dd.xml 形式のファイルを作成するには、Products_%Date%.xml と入力します。
注:マクロの詳細については、ヘルプドキュメントの BizTalk Configuration セクションを参照してください。
- OK をクリックします。URI フィールドに値が入力されます。
- Send Port の構成画面の左側で Filters をクリックします。
- 以下のプロパティを設定します:
- Property:メニューから "BTS.InboundTransportLocation" を選択します。
- Operator:メニューから "==" を選択します。
- Value:Receive Location の URI を入力します。URI は Receive Location プロパティに表示されています。
- Operator:メニューから "==" を選択します。
- Property:メニューから "BTS.InboundTransportLocation" を選択します。
これで、Send Port を使用して Receive Location から送信されたファイルを書き込めます。
Location と Port を Enlist および Enable する
最後のステップは、Send Port を Enlist し、Receive Location を Enable することです。Send Port を右クリックして Enlist をクリックします。次に、Receive Location を右クリックして Enable をクリックします。
注:Receive Location は最後に Enable してください。これにより、ファイルが Send Port によって確実に書き込み用にピックアップされます。
トラブルシューティング
エラーが発生しているかどうかを確認するには、Administration Console のナビゲーションツリーで "Event Viewer (Local)" を展開します。Windows Logs を展開し、Applications をクリックします。
ログにはシステム上のすべてのアプリケーションのエラーメッセージが含まれるため、エラーメッセージのソースが "CData BizTalk Snowflake Receive Adapter" であることを確認することが重要です。エラーメッセージの詳細から、エラーが発生している理由がわかります。エラーの解決方法については、[email protected]/jp にお問い合わせください。