我在Google App Engine上部署了一个python Web应用程序。
我需要获取存储在Amazon S3上的日志文件并将其加载到Google Cloud Storage中。进入Google云端存储后,我可能需要执行一些转换,最终将数据导入BigQuery进行分析。
我尝试使用gsutil作为某种概念证明,因为boto是在gsutil的引擎盖下,我想在我的项目中使用boto。这没用。
我想知道是否有人设法直接在2个云之间传输文件。如果可能的话,我想看一个简单的例子。最后,这个任务必须通过在GAE上执行的代码来完成。
答案 0 :(得分:8)
根据此thread,您可以使用gsutil将数据从S3流式传输到Google云端存储,但每个字节仍需要两次跳转:S3到您的本地计算机,然后是您的计算机到GCS。但是,由于您正在使用App Engine,因此您应该可以从S3中提取并存入GCS。除了App Engine是中介之外,它与上述相同,即每个字节从S3传输到您的应用程序然后传输到GCS。您可以使用boto作为拉出侧,使用Google Cloud Storage API作为推送侧。
答案 1 :(得分:2)
Google允许您将整个存储桶从S3导入存储服务:
https://cloud.google.com/storage/transfer/getting-started
您可以在源存储桶上设置文件过滤器,只导入您想要的文件,或者#34;目录" (即任何具有特定前缀的东西)。
答案 2 :(得分:0)
我不知道有任何云提供商提供用于将数据传输到竞争云提供商的API。云提供商没有动力帮助您将数据转移到竞争对手。您几乎肯定必须将数据读取到中间计算机,然后将其写入Google。