4

こんにちは。

私は現在、かなり複雑な問題に取り組んでおり、アイデアのブレインストーミングを進めたいと思っています。SQL Azure をプライマリ データストアとして使用して、Windows Azure で C# .NET Web アプリケーションを実行しています。

新しいユーザーがアカウントを作成するたびに、提供する必要があるのは、名前、電子メール、およびパスワードだけです。アカウントが作成されると、コア メンバーシップ データが SQL データベースに保存され、すべての二次操作 (メールの送信、ソーシャル リレーションシップの確立、プロファイル アセットの作成など) が Azure キューにプッシュされ、後で取得/処理されます。

これで、システムに作成する必要がある何百もの新しいユーザー (名前と電子メール) を含む CSV ファイルがいくつかあります。これを 2 つの部分に分けて自動化することを考えています。

パート 1: CSV ファイルを取り込み、名前と電子メールを解析し、このデータをストレージ A に保存するサービスを作成する

  • このサービスは、さまざまな形式のファイルを受け入れるのに十分な柔軟性を備えている必要があります
  • このサービスは実際にはユーザー アカウントを作成しないため、アプリケーションのビジネス ロジック レイヤーから分離されます。
  • ストレージの選択は SQL である必要はありません。非リレーショナル データストア (Azure テーブルなど) でもかまいません。
  • このサービスは、当社のアプリケーション プラットフォーム外のサードパーティ ソリューションである可能性があるため、あらゆる提案を受け付けています。

パート 2: ストレージ A を定期的に通過し、そこからユーザー アカウントを作成するプロセスを作成する

  • これは、アプリケーションの「ビジネス ロジック レイヤー」にあります。
  • アカウントが正常に作成されるたびに、ストレージ A 内のその特定のレコードを処理済みとしてマークします
  • これは、ユーザー アカウントの作成に失敗した場合に備えて再試行できる必要があります

誰かがファイルから大量の「ユーザー」をインポートした経験があるかどうか、そして私が提案していることはまともな解決策のように聞こえるかどうか疑問に思っています.

パート 1 は、アプリケーション プラットフォーム以外のサードパーティ ソリューションである可能性があるため、実行する言語/プラットフォームに制限はありません。BULK INSERTまたはMicrosoft SQL Server Integration Services 2008 ( SSIS)を使用して、CSV からデータを取り込んで SQL データストアに読み込みます。誰かがこれらを扱っていて、非常に高く評価されるいくつかの指針を提供できる場合.. 事前にどうもありがとう!

4

1 に答える 1

3

私がこれを正しく理解していれば、キューからメッセージを取得し、そのコア ロジックを実行してユーザー アセットなどを作成するプロセスが既に存在します。では、CSV ファイルの解析とコンテンツのキュー メッセージへのダンプのみを自動化する必要があるように思えますか? それは些細な作業のように聞こえます。

キュー メッセージを介して (別のキューへ)、CSV ファイルの処理プロセスを開始することもできます。メッセージには CSV ファイルの場所が含まれており、Azure で実行されているワーカー ロールがそれを取得します (通常の負荷が高くない場合は、新しいユーザーを処理するワーカー ロールと同じである可能性があります)。

キューを利用しているため、プロセスは再試行可能です

HTH

于 2012-11-29T05:17:18.570 に答える