使用 SSIS 将本地文件上传到谷歌云存储桶

Posted

技术标签:

【中文标题】使用 SSIS 将本地文件上传到谷歌云存储桶【英文标题】:Upload local files to google cloud storage bucket using SSIS 【发布时间】:2016-08-09 23:48:29 【问题描述】:

我有一个要求,我需要将文件上传到谷歌云存储(他拥有并完全维护它)存储桶。

这个谷歌云存储桶是由我的客户创建的。

我是谷歌云的新手,在 Amazon S3 上有经验。我在服务器上运行 SSIS 以将事务数据加载到平面文件中。

我为 google cloud 创建了一个示例帐户并安装了 Google SDK。我可以通过 gsutil 手动上传文件。

我的问题是

    我应该建议我的客户如何共享凭据?

    如何使用单独提供的凭据连接到谷歌云存储?

    如何通过以上两个步骤将文件推送到谷歌云存储。

感谢任何帮助。

提前致谢。

【问题讨论】:

试试这个:cdata.com/drivers/google/ssis 【参考方案1】:
    我应该建议我的客户如何共享凭据?

向客户提供您现有 Google 帐户的名称(或创建一个新帐户)。要求他们授予该帐户相关权限。如果桶足够,要求成为桶的所有者。或者,要求被添加到项目的所有者列表中。

    如何使用单独提供的凭据连接到谷歌云存储?

您将使用自己帐户的凭据。

    如何通过以上两个步骤将文件推送到谷歌云存储。

使用 gsutil 手动操作非常简单。您只需以自己的身份进行身份验证。如果您想设置一个自动化流程,您需要创建一个代表该工作的“服务帐户”。服务帐户带有一个私钥,它将用来验证自己。如果您想设置 cron 作业,Gsutil 可以充当服务帐户。

我不熟悉 SSIS 的导出功能,所以我无法帮助您。

【讨论】:

【参考方案2】:

如果您能够使用 gsutil 手动上传文件,则可以使用相同的命令,将其放入批处理文件并通过 SSIS 运行。

在 SSIS 中包含“执行流程任务”并提供批处理文件路径作为可执行文件。您应该能够让它在您的系统上运行。

但是,如果您想在生产环境中做同样的事情,最好有一个服务帐户。此帐户将被设置为生产中的默认帐户。

【讨论】:

以上是关于使用 SSIS 将本地文件上传到谷歌云存储桶的主要内容,如果未能解决你的问题,请参考以下文章

使用 ajax 通过签名的 url 将文件上传到谷歌云存储

春季启动图像上传到谷歌云存储桶不起作用

将文件从 AWS s3 (SSE) 存储桶复制到谷歌云

我无法使用 python 脚本将文件上传到谷歌云?

谷歌colaboratory和谷歌云之间的接口

将缓冲区上传到谷歌云存储