ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →こんにちは!プロダクトスペシャリストの宮本です。
CData Sync for ADLS は、データベースにサンドボックスや製品インスタンスをレプリケートするなどの、レプリケーションの多様なシナリオに対する解決策を提供するスタンドアロンアプリケーションです。Sync for Windows およびSync for Java はどちらもコマンドラインインターフェース(CLI)を含んでおり、複数のAzure Data Lake Storage 接続を簡単に管理できます。この記事では、CLI を使って複数のAzure Data Lake Storage アカウントをレプリケートする方法について説明します。
接続およびE メール通知設定をXML 設定ファイルに保存できます。複数のAzure Data Lake Storage アカウントをレプリケートするには、複数の設定ファイルを使います。以下にAzure Data Lake Storage をSQLite にレプリケートする設定例を示します。
<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync>
<DatabaseType>SQLite</DatabaseType>
<DatabaseProvider>System.Data.SQLite</DatabaseProvider>
<ConnectionString>Schema=ADLSGen2;Account=myAccount;FileSystem=myFileSystem;AccessKey=myAccessKey;</ConnectionString>
<ReplicateAll>False</ReplicateAll>
<NotificationUserName></NotificationUserName>
<DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
<TaskSchedulerStartTime>09:51</TaskSchedulerStartTime>
<TaskSchedulerInterval>Never</TaskSchedulerInterval>
</CDataSync>
<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync>
<DatabaseType>SQLite</DatabaseType>
<DatabaseProvider>org.sqlite.JDBC</DatabaseProvider>
<ConnectionString>Schema=ADLSGen2;Account=myAccount;FileSystem=myFileSystem;AccessKey=myAccessKey;</ConnectionString>
<ReplicateAll>False</ReplicateAll>
<NotificationUserName></NotificationUserName>
<DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
</CDataSync>
Gen 1 DataLakeStorage アカウントに接続するには、はじめに以下のプロパティを設定します。
Gen 1 は、認証方法としてAzure Active Directory OAuth(AzureAD)およびマネージドサービスID(AzureMSI)をサポートしています。認証方法は、ヘルプドキュメントの「Azure DataLakeStorage Gen 1 への認証」セクションを参照してください。
Gen 2 DataLakeStorage アカウントに接続するには、はじめに以下のプロパティを設定します。
Gen 2は、認証方法としてアクセスキー、共有アクセス署名(SAS)、Azure Active Directory OAuth(AzureAD)、マネージドサービスID(AzureMSI)など多様な方法をサポートしています。AzureAD、AzureMSI での認証方法は、ヘルプドキュメントの「Azure DataLakeStorage Gen 2 への認証」セクションを参照してください。
アクセスキーを使用して接続するには、AccessKey プロパティを取得したアクセスキーの値に、AuthScheme を「AccessKey」に設定します。
Azure ポータルからADLS Gen2 ストレージアカウントのアクセスキーを取得できます。
共有アクセス署名を使用して接続するには、SharedAccessSignature プロパティを接続先リソースの有効な署名に設定して、AuthScheme を「SAS」に設定します。 共有アクセス署名は、Azure Storage Explorer などのツールで生成できます。
Sync を使うと標準SQL でレプリケーションを制御できます。REPLICATE ステートメントはハイレベルなコマンドで、データベースにテーブルをキャッシュして維持します。Azure Data Lake Storage API がサポートするあらゆるSELECT クエリを定義できます。下記のステートメントは、Azure Data Lake Storage データ のテーブルをキャッシュしてインクリメンタルに更新します。
REPLICATE Resources;
特定のデータベースを更新するために使用するレプリケーションクエリを含むファイルを指定することができます。レプリケーションステートメントはセミコロンで区切ります。次のオプションは、複数のAzure Data Lake Storage アカウントを同じデータベースにレプリケートする場合に便利です。
REPLICATE SELECT ステートメントでは、異なるテーブルのプレフィックスを使用できます。
REPLICATE PROD_Resources SELECT * FROM Resources
異なるスキーマを使用することもできます。
REPLICATE PROD.Resources SELECT * FROM Resources
接続文字列およびレプリケーションクエリの設定が完了したら、次のコマンドラインオプションを使ってSync を実行できます。
ADLSSync.exe -g MyProductionADLSConfig.xml -f MyProductionADLSSync.sql
java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar ADLSSync.jar -g MyProductionADLSConfig.xml -f MyProductionADLSSync.sql