CData BizTalk Adapter for CouchDB の Receive Location を構成する
この記事の手順に従って、CouchDB のデータに接続し、Static One-Way Receive Location を構成して、シンプルなテスト(CouchDB のデータを取得して XML ファイルに書き込む)を実行できます。
Receive Location は SQL コマンドを実行し、結果を含む BizTalk メッセージを作成できます。Updategram コマンドを実行する場合は、Send Port を使用してください。
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 を作成し、CouchDB アダプターをトランスポートタイプとして使用するよう構成します。
- Receive Locations を右クリックし、New -> One-Way Receive Location をクリックします。
- 新しい Receive Location がメンバーとなる適切な Receive Port を選択します。Receive Location Properties ダイアログが表示されます。
- Name メニューで、Receive Location の名前を入力します。
- Receive Location プロパティで、Transport Type メニューから CData.ApacheCouchDB を選択します。
- Receive pipeline メニューで、デフォルトオプションの PassThruReceive を選択します。
アダプターの構成
Transport Properties ダイアログで、アダプターが実行するコマンドを指定します。
- Receive Location プロパティで、Configure をクリックします。アダプターの Transport Properties ダイアログが表示されます。
- SQL Command プロパティに、コマンドを入力します。この例では
SELECT MovieRuntime, MovieRating FROM Movies WHERE MovieRating = 'R'
を使用します。
接続文字列の構成
Connection String Options ダイアログで、認証情報やその他の接続プロパティを設定します。
- Receive Location プロパティで、Configure をクリックします。アダプタープロパティダイアログが表示されます。
- Connection String プロパティのボタンをクリックします。
- Connection String プロパティのボックスをクリックします。Connection String Options ダイアログが表示されます。
- 接続プロパティを入力します。一般的な接続文字列は以下のとおりです:
Url=http://localhost:5984;User=abc123;Password=abcdef;
Apache CouchDB 接続プロパティの取得・設定方法
それでは、Apache CouchDB に接続していきましょう。Url 接続プロパティをApache CouchDB インスタンスのURL に設定します。例:http://localhost:5984
ユーザー(またはJWT)が特定のデータベースだけにアクセスできるようにしたい場合は、Apache CouchDB インスタンスで"admin_only_all_dbs" オプションを設定し、テーブルをリストするためにCData 製品が必要とする"/_all_dbs" エンドポイントへのアクセス権をすべてのユーザーに付与する必要があります。
Apache CouchDB への認証
続いて、認証方法を設定しましょう。CData 製品では、3種類の認証をサポートしています。
- Basic:基本的なユーザー名 / パスワード認証
- JWT:JWT 認証
- None:パブリックなデータベースへの匿名アクセス
Basic 認証
データに接続するには、以下のプロパティを設定してください。
- AuthScheme:Basic
- User:認証に使用されるApache CouchDB ユーザーアカウント
- Password:認証するユーザーに関連付けられたApache CouchDB パスワード
その他の認証方法については、ヘルプドキュメントの「接続の確立」セクションをご確認ください。
- 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 であるため、ユーザーフレンドリーな名前ではありません。Movies_yyyy-MM-dd.xml 形式のファイルを作成するには、Movies_%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 CouchDB Receive Adapter" であることを確認することが重要です。エラーメッセージの詳細から、エラーが発生している理由がわかります。エラーの解決方法については、[email protected]/jp にお問い合わせください。