嗨,所有聪明的头脑,
我目前正在研究一个相当复杂的问题,我很想进行一些头脑风暴。我有一个在 Windows Azure 中运行的 C# .NET Web 应用程序,使用 SQL Azure 作为主数据存储。
每次新用户创建帐户时,他们只需要提供姓名、电子邮件和密码即可。创建帐户后,我们将核心成员数据存储到 SQL 数据库中,所有辅助操作(例如发送电子邮件、建立社交关系、创建个人资料资产等)都被推送到 Azure Queue 并在以后被提取/处理。
现在我有几个 CSV 文件,其中包含需要在系统上创建的数百个新用户(姓名和电子邮件)。我正在考虑通过分成两部分来实现自动化:
第 1 部分:编写一个服务,获取 CSV 文件,解析姓名和电子邮件,并将此数据保存在存储 A 中
- 该服务应该足够灵活以获取不同格式的文件
- 该服务实际上并不创建用户帐户,因此这与我们应用程序的业务逻辑层解耦
- 存储的选择不必是 SQL,也可以是非关系数据存储(例如 Azure Tables)
- 该服务可能是我们应用程序平台之外的第三方解决方案 - 因此它对所有建议开放
第 2 部分:编写一个定期通过存储 A 并从那里创建用户帐户的进程
- 这是在我们应用程序的“业务逻辑层”
- 每当成功创建帐户时,将存储 A 中的特定记录标记为已处理
- 如果用户帐户创建失败,这需要重试
我想知道是否有人有从文件导入批量“用户”的经验,以及我的建议是否听起来像一个不错的解决方案。
请注意,第 1 部分可能是我们应用程序平台之外的第三方解决方案,因此它必须运行的语言/平台没有限制。我们正在考虑使用BULK INSERT或Microsoft SQL Server Integration Services 2008 ( SSIS),它将数据从 CSV 提取并加载到 SQL 数据存储中。如果有人使用过这些并且可以提供一些将不胜感激的指针.. 提前非常感谢!