Ready to get started?

Learn more or sign up for a free trial:

CData Sync

Replicate Multiple Amazon S3 Accounts



Replicate multiple Amazon S3 accounts to one or many databases.

CData Sync for Amazon S3 is a stand-alone application that provides solutions for a variety of replication scenarios such as replicating sandbox and production instances into your database. Both Sync for Windows and Sync for Java include a command-line interface (CLI) that makes it easy to manage multiple Amazon S3 connections. In this article we show how to use the CLI to replicate multiple Amazon S3 accounts.

Configure Amazon S3 Connections

You can save connection and email notification settings in an XML configuration file. To replicate multiple Amazon S3 accounts, use multiple configuration files. Below is an example configuration to replicate Amazon S3 to SQLite:

Windows

<?xml version="1.0" encoding="UTF-8" ?> <CDataSync> <DatabaseType>SQLite</DatabaseType> <DatabaseProvider>System.Data.SQLite</DatabaseProvider> <ConnectionString>AccessKey=a123;SecretKey=s123;</ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> <TaskSchedulerStartTime>09:51</TaskSchedulerStartTime> <TaskSchedulerInterval>Never</TaskSchedulerInterval> </CDataSync>

Java

<?xml version="1.0" encoding="UTF-8" ?> <CDataSync> <DatabaseType>SQLite</DatabaseType> <DatabaseProvider>org.sqlite.JDBC</DatabaseProvider> <ConnectionString>AccessKey=a123;SecretKey=s123;</ConnectionString> <ReplicateAll>False</ReplicateAll> <NotificationUserName></NotificationUserName> <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString> </CDataSync>

To authorize Amazon S3 requests, provide the credentials for an administrator account or for an IAM user with custom permissions. Set AccessKey to the access key Id. Set SecretKey to the secret access key.

Note: You can connect as the AWS account administrator, but it is recommended to use IAM user credentials to access AWS services.

For information on obtaining the credentials and other authentication methods, refer to the Getting Started section of the Help documentation.

Configure Queries for Each Amazon S3 Instance

Sync enables you to control replication with standard SQL. 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 Amazon S3 API. The statement below caches and incrementally updates a table of Amazon S3 data:

REPLICATE ObjectsACL;

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 Amazon S3 accounts into the same database:

You can use a different table prefix in the REPLICATE SELECT statement:

REPLICATE PROD_ObjectsACL SELECT * FROM ObjectsACL

Alternatively, you can use a different schema:

REPLICATE PROD.ObjectsACL SELECT * FROM ObjectsACL

Run Sync

After you have configured the connection strings and replication queries, you can run Sync with the following command-line options:

Windows

AmazonS3Sync.exe -g MyProductionAmazonS3Config.xml -f MyProductionAmazonS3Sync.sql

Java

java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar AmazonS3Sync.jar -g MyProductionAmazonS3Config.xml -f MyProductionAmazonS3Sync.sql