sql-server - 用于接收 XML 数据并导入 SQL 数据库的 Azure 服务

标签 sql-server xml azure azure-sql-database azure-webjobs

我需要在我的 Azure 帐户上设置一项服务,该服务将接收 XML 数据并将其导入 Azure SQL 数据库。我希望能够从远程服务器(将在其中创建 XML 数据)连接到 Azure 并上传数据,数据将自动解析并插入到 SQL 数据库中。 XML 数据都将采用相同的列设置和数据类型进行格式化,因此解析应该不难。我陷入困境的地方只是想弄清楚如何建立一个接收和解析数据的简单服务。我不想通过导入/导出向导、网站前端或类似的东西来完成此操作。它需要自动化,以便在收到数据时开始工作。

请注意,我并不是真的要求代码来解决我的问题。我可以自己学习如何做到这一点,但如果不学习至少 3 种新语言,我似乎无法开始...有关搜索的任何帮助,或者从哪里开始?

编辑:这是迄今为止我能找到的最接近的东西。 http://www.freshconsulting.com/building-data-import-tool-azure-webjobs/唯一的问题是我可能无法访问 SMTP 中继来发送文件,因此我需要能够仅发送 POST 数据(或 REST 数据...?)并将数据重新构造为 XML或 CSV 文件到达 Azure 时,或者实时动态读取。第一个选项似乎最合理。有人有建议吗?

最佳答案

实现这种解决方案的一种方法是使用 webjob 并在 azure 存储(队列或 Blob)上的每条 xml 新消息上触发 xml 更新到 sql。

使用 WebJob SDK,您可以使用 QueueTrigger 属性

public static void HandleXMLdataFromQueueStorage([QueueTrigger("logqueue")] string logMessage, TextWriter logger)
{
    logger.WriteLine(logMessage);
}

https://azure.microsoft.com/en-gb/documentation/articles/websites-dotnet-webjobs-sdk-storage-queues-how-to/

这是推荐的方法(速度、可靠性)。

您还可以将 WebJob SDK 与 BlobTrigger 属性结合使用

public static void HandleXMLdataFromBlobStorage([BlobTrigger("input/{name}")] TextReader input)
{
// update SQL
}

https://azure.microsoft.com/en-gb/documentation/articles/websites-dotnet-webjobs-sdk-storage-blobs-how-to/

WebJobs SDK 扫描日志文件以监视新的或更改的 blob。这个过程不是实时的;创建 blob 后几分钟或更长时间可能不会触发函数。此外,存储日志是在“尽力而为”的基础上创建的;不保证所有事件都会被捕获

希望这有帮助 此致 史蒂芬

关于sql-server - 用于接收 XML 数据并导入 SQL 数据库的 Azure 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36159988/

相关文章:

sql-server - 在 PowerShell 中将字符串拆分为单独的字符串

sql - SQL Server 2012 中的手动全文索引填充时间

sql-server - 如何根据 ssrs 中的特定值将数据集中的数据拆分为 2 个表

c# - 使用 java xml api 将 xml 文档保存到文件

c# - Azure AD Graph api 返回禁止

sql-server - 将导出/导入从 SQL Server 迁移到 Oracle 的最佳方法

c# - 如何使用 streamreader 提取 xml 文件编码?

android - 无法使用 styles.xml 设置按钮背景颜色

c# - 尝试替换 connectionStrings 元素以在 Visual Studio Team Services 中进行持续部署

tomcat - Azure 端点不工作