2016-03-28 10 views
1

スケジュールされたWebジョブによるデータのインポートを処理する最良の方法についてのアドバイスを探しています。 JSONシリアライザを使用してFTPクライアントからメモリに5時間ごとにインポートされる8つのjsonファイルがあり、これらのJSONオブジェクトが処理され、EF6を使用してAzure SQLに挿入されます。 Parallel ForEachを使用しようとしたときに、データの一部が関連するテーブルに挿入されていないように、すべてのデータが正しく挿入されていることを確認したいので、各ファイルは順番にループ処理されます。 WebJobが失敗した場合、私たちはエラーがあり、再度実行することができることを知っています。問題は現在、2時間近くで完了するまでに時間がかかります。データはそれぞれ500個あり、各場所には11日と24時間のデータ。Azure Webジョブを使用したデータのAzure SQLへのインポート

データが常に正しく挿入されることを保証しながら、エラーを処理する方法を知っている方は、誰でも簡単にこれを行う方法について考えてください。ストレージキューの使用を検討していましたが、将来、他のデータベースを参照する必要があるかもしれません。また、ファイルごとに1つのWebジョブを使用することもできます。したがって、ファイルに8つのWebジョブを5時間ごとにスケジュールします私は1日に実行することができますウェブジョブの。

また、Azure SQLにデータをインポートしてスケジュールすることもできます。

答えて

2

Azure Web Jobs(via the Web Jobs SDK)は、BLOBを監視して処理することができます。スケジュールされたジョブを作成する必要はありません。 SDKは新しいBLOBを監視し、作成されたBLOBを処理します。小さなファイルに処理を分割し、作成時にそれらをロードすることができます。

Azure Stream Analyticsも同様の機能を備えています。

+0

ok - 私は間違っていない限り、ストリームアナリティクスは本質的にバッチインポートをSqlAzureに行うのは難しいようです。 –

関連する問題