CData BizTalk Adapter for NetSuite の Receive Location を構成する
この記事の手順に従って、NetSuite のデータに接続し、Static One-Way Receive Location を構成して、シンプルなテスト(NetSuite のデータを取得して XML ファイルに書き込む)を実行できます。
Receive Location は SQL コマンドを実行し、結果を含む BizTalk メッセージを作成できます。Updategram コマンドを実行する場合は、Send Port を使用してください。
NetSuite データ連携について
CData は、Oracle NetSuite のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:
- Standard、CRM、OneWorld を含む、すべてのエディションの NetSuite にアクセスできます。
- SuiteTalk API(SOAP ベース)のすべてのバージョンと、SQL のように機能し、より簡単なデータクエリと操作を可能にする SuiteQL に接続できます。
- Saved Searches のサポートにより、事前定義されたレポートとカスタムレポートにアクセスできます。
- トークンベースおよび OAuth 2.0 で安全に認証でき、あらゆるユースケースで互換性とセキュリティを確保します。
- SQL ストアドプロシージャを使用して、ファイルのアップロード・ダウンロード、レコードや関連付けのアタッチ・デタッチ、ロールの取得、追加のテーブルやカラム情報の取得、ジョブ結果の取得などの機能的なアクションを実行できます。
お客様は、Power BI や Excel などのお気に入りの分析ツールからライブ NetSuite データにアクセスするために CData ソリューションを使用しています。また、CData Sync を直接使用するか、Azure Data Factory などの他のアプリケーションとの CData の互換性を活用して、NetSuite データを包括的なデータベースやデータウェアハウスに統合しています。CData は、Oracle NetSuite のお客様が NetSuite からデータを取得し、NetSuite にデータをプッシュするアプリを簡単に作成できるよう支援し、他のソースからのデータを NetSuite と統合することを可能にしています。
当社の Oracle NetSuite ソリューションの詳細については、ブログをご覧ください:Drivers in Focus Part 2: Replicating and Consolidating ... NetSuite Accounting Data
はじめに
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 を作成し、NetSuite アダプターをトランスポートタイプとして使用するよう構成します。
- Receive Locations を右クリックし、New -> One-Way Receive Location をクリックします。
- 新しい Receive Location がメンバーとなる適切な Receive Port を選択します。Receive Location Properties ダイアログが表示されます。
- Name メニューで、Receive Location の名前を入力します。
- Receive Location プロパティで、Transport Type メニューから CData.NetSuite を選択します。
- Receive pipeline メニューで、デフォルトオプションの PassThruReceive を選択します。
アダプターの構成
Transport Properties ダイアログで、アダプターが実行するコマンドを指定します。
- Receive Location プロパティで、Configure をクリックします。アダプターの Transport Properties ダイアログが表示されます。
- SQL Command プロパティに、コマンドを入力します。この例では
SELECT Customer.FirstName AS CustomerName, SalesOrder.Total AS SalesOrderTotal FROM SalesOrder, Customer
を使用します。
接続文字列の構成
Connection String Options ダイアログで、認証情報やその他の接続プロパティを設定します。
- Receive Location プロパティで、Configure をクリックします。アダプタープロパティダイアログが表示されます。
- Connection String プロパティのボタンをクリックします。
- Connection String プロパティのボックスをクリックします。Connection String Options ダイアログが表示されます。
- 接続プロパティを入力します。一般的な接続文字列は以下のとおりです:
AccountId=XABC123456;Schema=SuiteTalk;AuthScheme=Token;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;OAuthAccessToken=MyOAuthAccessToken;OAuthAccessTokenSecret=MyOAuthAccessTokenSecret;
NetSuiteへの接続
NetSuite では、2種類のAPI でデータにアクセスできます。どちらのAPI を使用するかは、Schema 接続プロパティで以下のいずれかを選択して指定してください。
- SuiteTalk は、NetSuite との通信に使用されるSOAP ベースの従来から提供されているサービスです。幅広いエンティティをサポートし、INSERT / UPDATE / DELETE の操作も対応しています。ただし、SuiteQL API と比べるとデータの取得速度が劣ります。また、サーバーサイドでのJOIN に対応していないため、これらの処理はCData 製品がクライアントサイドで実行します。
- SuiteQL は、より新しいAPI です。JOIN、GROUP BY、集計、カラムフィルタリングをサーバーサイドで処理できるため、SuiteTalk よりもはるかに高速にデータを取得できます。ただし、NetSuite データへのアクセスは読み取り専用となります。
データの取得のみが目的でしたらSuiteQL をお勧めします。データの取得と変更の両方が必要な場合は、SuiteTalk をお選びください。
NetSuite への認証
CData 製品では、以下の認証方式がご利用いただけます。
- トークンベース認証(TBA)はOAuth1.0に似た仕組みです。2020.2以降のSuiteTalk とSuiteQL の両方で利用できます。
- OAuth 2.0 認証(OAuth 2.0 認可コードグラントフロー)は、SuiteQL でのみご利用いただけます。
- OAuth JWT 認証は、OAuth2.0 クライアント認証フローの一つで、クライアント認証情報を含むJWT を使用してNetSuite データへのアクセスを要求します。
トークンベース認証(OAuth1.0)
トークンベース認証(TBA)は、基本的にOAuth 1.0 の仕組みです。この認証方式はSuiteTalk とSuiteQL の両方でサポートされています。管理者権限をお持ちの方がNetSuite UI 内でOAuthClientId、OAuthClientSecret、OAuthAccessToken、OAuthAccessTokenSecret を直接作成することで設定できます。 NetSuite UI でのトークン作成手順については、ヘルプドキュメントの「はじめに」セクションをご参照ください。
アクセストークンを作成したら、以下の接続プロパティを設定して接続してみましょう。
- AuthScheme = Token
- AccountId = 接続先のアカウント
- OAuthClientId = アプリケーション作成時に表示されるコンシューマーキー
- OAuthClientSecret = アプリケーション作成時に表示されるコンシューマーシークレット
- OAuthAccessToken = アクセストークン作成時のトークンID
- OAuthAccessTokenSecret = アクセストークン作成時のトークンシークレット
その他の認証方法については、ヘルプドキュメントの「はじめに」をご確認ください。
- 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 であるため、ユーザーフレンドリーな名前ではありません。SalesOrder_yyyy-MM-dd.xml 形式のファイルを作成するには、SalesOrder_%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 NetSuite Receive Adapter" であることを確認することが重要です。エラーメッセージの詳細から、エラーが発生している理由がわかります。エラーの解決方法については、[email protected]/jp にお問い合わせください。