0

我们将需要每小时收集一次update数据,Google Fusion Table并正在研究是否可能使用一个SSIS包来完成此任务。

有没有人有过自动更新Google Fusion Tables的经验?有什么方法比其他方法效果更好?

4

1 回答 1

3

我会将您的问题分解为较小的问题,直到您找到可以解决的问题为止。

如何以 X 间隔执行任务

在纯 Windows 世界中,我会使用本机Task Scheduler。它是免费的,并且适用于您的“每小时”场景。

由于 SSIS 混合在一起,这意味着您还可以访问SQL Agent。它也非常适合您的场景,此时,我将检查您的组织并确定主要使用哪种调度工具。它可能是“两者都不是”。

如何以编程方式更新 Google Fusion Tables

已发布完整的Fusion API。它们甚至具有用于处理表中数据的DML 语法。但是,请注意有关对超过 500 行/10k 个单元格/1MB 使用查询语法的警告。

注意:您可以在一个请求中列出最多 500 条 INSERT 语句,用分号分隔,只要数据的总大小不超过 1 MB 并且要添加的表格单元格总数不超过 10,000 个单元格。如果要插入大量行,请改用import方法,这将比使用许多 SQL INSERT 语句更快、更可靠。

如何使用 SSIS 更新 Google Fusion Tables

对于任何不是 SSIS 开箱即用的东西,我通常会重新提出“我如何在 .NET 中执行 X”这样的问题,因为这将归结为。由于它是一个 Web 目标,而 SSIS 有一个 Web 服务任务,它不如编写自己的 .NET 调用程序有用。

我会设想一个 SSIS 包,其中至少有一个Data Flow Task.取决于您的数据来自哪里,它有一个源(OLE DB、平面文件等),以及您在它和目标之间需要的任何转换。您的目的地将被Script Component配置为目的地。在那里,您将使用 C# 或 VB.NET 将插入/更新命令发送到 Web 服务器。我发现这个C# 示例听起来合乎逻辑。我从来没有真正使用过 GFT API,所以我无法评论是否有更好的方法来做这件事。

在这里复制三亚的评论

警告:附加的示例 c# 脚本使用客户端登录来针对 Google 进行身份验证。自 2012 年 4 月 20 日起,此身份验证方法已被弃用。支持使用 OAuth2。

于 2013-03-21T18:18:26.810 回答