Zuora データでアップデートグラムを使用する





Zuora BizTalk Adapter

パワフルなBizTalk Adapter を使って標準オーケストレーションで、 Zuora データをBizTalk Server に連携。

Zuora のデータをZuora アダプターで簡単に同期。データ同期、ローカルバックアップ、ワークフロー自動化に最適!

アップデートグラムを使用することで、Zuora をインサート、アップデート、デリートできます。ここでは、CData BizTalk Adapter for Zuora を使用して、アップデートグラムスキーマとインスタンスを作成する方法を説明します。

この記事では、CData BizTalk Adapter for Zuora で実行できるアップデートグラムを作成します。設計したスキーマは、インサート、アップデート、デリートのアップデートグラムを作成するためのテンプレートとして使用します。

プロジェクトにZuora 用アダプターを追加する

[Add Adapter] ウィザードから、アダプターをVisual Studio のBizTalk サーバープロジェクトに追加します。アダプターを使って、修正したいテーブルに関するZuora のメタデータをクエリします。

  1. [Solution Explorer] の[project] で右クリックし、[Add] -> [Add Generated Items] と進みます。
  2. [resulting dialog box] の[Add Adapter Metadata] を選択します。
  3. 表示される[Add Adapter] ウィザードで、リストからCData BizTalk Adapter for Zuora を選択します。
  4. [Port menu] では、選択を空白のままにします。もしくは、アダプターを使用するように構成されている受信場所や送信ポートを選択します。
  5. [Next]をクリックすると、[Schema]ウィザードが表示されます。


以下のステップに従って、Visual Studio のBizTalk サーバープロジェクトでスキーマを作成します。

  1. 未追加の場合は、Zuora アダプターをプロジェクトに追加します。
  2. 送信ポートや受信場所で、認証資格情報やその他の接続プロパティが未構成の場合、[Add Adapter]ウィザードの[Connection String]ページから入力します。下は一般的な接続文字列です。


    Zuora uses the OAuth standard to authenticate users. See the online Help documentation for a full OAuth authentication guide.

    Configuring Tenant property

    In order to create a valid connection with the provider you need to choose one of the Tenant values (USProduction by default) which matches your account configuration. The following is a list with the available options:

    • USProduction: Requests sent to https://rest.zuora.com.
    • USAPISandbox: Requests sent to https://rest.apisandbox.zuora.com"
    • USPerformanceTest: Requests sent to https://rest.pt1.zuora.com"
    • EUProduction: Requests sent to https://rest.eu.zuora.com"
    • EUSandbox: Requests sent to https://rest.sandbox.eu.zuora.com"

    Selecting a Zuora Service

    Two Zuora services are available: Data Query and AQuA API. By default ZuoraService is set to AQuADataExport.


    The Data Query feature enables you to export data from your Zuora tenant by performing asynchronous, read-only SQL queries. We recommend to use this service for quick lightweight SQL queries.

    • The maximum number of input records per table after filters have been applied: 1,000,000
    • The maximum number of output records: 100,000
    • The maximum number of simultaneous queries submitted for execution per tenant: 5
    • The maximum number of queued queries submitted for execution after reaching the limitation of simultaneous queries per tenant: 10
    • The maximum processing time for each query in hours: 1
    • The maximum size of memory allocated to each query in GB: 2
    • The maximum number of indices when using Index Join, in other words, the maximum number of records being returned by the left table based on the unique value used in the WHERE clause when using Index Join: 20,000


    AQuA API export is designed to export all the records for all the objects ( tables ). AQuA query jobs have the following limitations:

    • If a query in an AQuA job is executed longer than 8 hours, this job will be killed automatically.
    • The killed AQuA job can be retried three times before returned as failed.

    接続プロパティの詳細は、ヘルプドキュメントの"BizTalk Configuration" チャプターを参照してください。

  3. [Schema Information]ページで、[General Options]セクションの[Send Port]をクリックします。[CommandType]メニューから[Updategram]を選択します。要請応答送信ポートのアダプターを使用している場合、[One-Way]オプションを無効にします。
  4. 次の[Statement Information]ページでは、アップデートグラムの形式(Insert、Update、Delete)を選択します。 スキーマに含ませたいテーブル名とカラムを選択します。アップデートまたはデリートを行う場合、ID カラムを選択します。


  5. [Next]をクリックしてスキーマの概要を確認してウィザードを終了し、スキーマを作成します。完成した.xsd ファイルがプロジェクトに追加されます。


アップデートグラムスキーマの作成後、アップデートグラムを生成する.xsd ファイルを使用できます。.xsd ファイルを右クリックし、[Generate Instance]を選択します。このファイルは、アップデートグラムを手動で作成するテンプレートとして使用することもできます。以下は、インサート、アップデート、デリートそれぞれに生成されたアップデートグラムインスタンスの例です。


まず、インサートの一例です。このインスタンスでは、データの変化を指定するafter ブロックのみを扱います。

<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/ZuoraProvider"> <ns0:sync> <ns0:before></ns0:before> <ns0:after> <ns0:Invoices Id="Id_0" BillingCity="BillingCity_1" /> </ns0:after> </ns0:sync> </ns0:parameters>


次に、アップデートの一例です。このインスタンスでは、before ブロック(テーブルに存在するデータ)と、after ブロック(データの変化)の両方を扱います。

<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/ZuoraProvider"> <ns0:sync> <ns0:before> <ns0:Invoices Id=001d000000YBRseAAH></ns0:Invoices> </ns0:before> <ns0:after> <ns0:Invoices Id="Id_0" BillingCity="BillingCity_1" ></ns0:Invoices> </ns0:after> </ns0:sync> </ns0:parameters>


最後に、デリートの一例です。after ブロックは空になり、アイテムを除去していることを示します。

<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/ZuoraProvider"> <ns0:sync> <ns0:before> <ns0:Invoices Id=001d000000YBRseAAH></ns0:Invoices> </ns0:before> <ns0:after></ns0:after> </ns0:sync> </ns0:parameters>


Zuora レコードのインサート、アップデート、デリートにアップデートグラムを使用するには、こちらのチュートリアルをご覧ください。