Replicate Multiple Zuora Accounts

Ready to get started?

Learn more or sign up for a free trial:

CData Sync



Replicate multiple Zuora accounts to one or many databases.

CData Sync is a stand-alone application that provides solutions for a variety of replication scenarios such as replicating sandbox and production instances into your database. CData Sync includes a web-based interface that makes it easy to manage multiple Zuora connections. In this article we show how to use the web app to replicate multiple Zuora accounts to a single database.

Configure the Replication Destination

Using CData Sync, you can replicate Zuora data to any number of databases, both cloud-based and on-premises. To add a replication destination, navigate to the Connections tab.

  1. Click Add Connection.
  2. Select a destination and enter the necessary connection properties. In this article, we use SQLite.
  3. Enter the necessary connection properties. To replicate Zuora to a SQLite database, enter a file path in the Data Source box.
  4. Click Test Connection to ensure that the connection is configured properly.
  5. Click Save Changes.

Configure Zuora Connections

You can configure connections to Zuora from the Connections tab. To add a connection to one of your Zuora accounts, navigate to the Connections tab. For each Zuora account you wish to replicate, do the following:

  1. Click Add Connection.
  2. Select a source (Zuora).
  3. Configure the connection properties.

    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.

    DataQuery

    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.

    Limitations
    • 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

    AQuADataExport

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

    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.
  4. Click Connect to ensure that the connection is configured properly.
  5. Click Save Changes.

Configure Queries for Each Zuora Instance

CData Sync enables you to control replication with a point-and-click interface and with SQL queries. To configure a replication, navigate to the Jobs tab and click Add Job. Select the Source and Destination for your replication.

Replicate Entire Tables

To replicate an entire table, click Add Tables in the Tables section, choose the table(s) you wish to replicate, and click Add Selected Tables.

Customize Your Replication

You can use a SQL query to customize your replication. The REPLICATE statement is a high-level command that caches and maintains a table in your database. You can define any SELECT query supported by the Zuora API. To customize your replication, click Add Custom Query in the Tables section and define the Query Statement.

The statement below caches and incrementally updates a table of Zuora data:

REPLICATE Invoices;

You can specify a file containing the replication queries you want to use to update a particular database. Separate replication statements with semicolons. The following options are useful if you are replicating multiple Zuora accounts into the same database:

  • Use a different table prefix in the REPLICATE SELECT statement:

    REPLICATE PROD_Invoices SELECT * FROM Invoices;
  • Alternatively, use a different schema:

    REPLICATE PROD.Invoices SELECT * FROM Invoices;

Schedule Your Replication

In the Schedule section, you can schedule a job to run automatically, configuring the job to run after specified intervals ranging from once every 15 minutes to once every month.

Once you have configured the replication job, click Save Changes. You can configure any number of jobs to manage the replication of the data from your different Zuora accounts.