我们可以从 Google Cloud Dataflow 访问 gsutil 吗?如果是,那么有人可以举例说明吗?

Posted

技术标签:

【中文标题】我们可以从 Google Cloud Dataflow 访问 gsutil 吗?如果是,那么有人可以举例说明吗?【英文标题】:Can we access gsutil from Google Cloud Dataflow? if yes, then could someone please explain with example? 【发布时间】:2017-12-26 05:52:59 【问题描述】:

我是谷歌云数据流的新手,我需要将 GCS(谷歌云存储)中的文件从一个存储桶复制到另一个存储桶并重命名。以示例回答将不胜感激。

【问题讨论】:

【参考方案1】:

技术上是的,您可以这样做,但如果您使用 Dataflow 来获取文件并将它们移动到新存储桶而不是作为 gustil 的包装器,那会更好。

你需要的类应该是 beam.io.gcsio.GcsIO() 并且应该能够在你需要的地方拾取和放下文件。

【讨论】:

这可以用来下载到本地工作人员,而不仅仅是在桶之间移动吗?我尝试了 google-cloud-storage python 模块,与 gsutil 对于大型(3gb)对象相比,它效果不佳。 是的,它可以,该方法调用会将传递给它的对象从存储中加载到正在执行的数据流工作者的本地实例中。我对较大对象的建议,比如说 >20MB ,将把那个东西分成可工作的包,并序列化那个对象,因为这样你会得到更好的性能。这是假设您正在处理的对象可以被分解。 是的,正在处理分块,虽然它有点循环。要制作块,必须下载文件,然后重新上传并在块上运行数据流。能否给一行本地下载语法的示例代码,我看到的只是略显简洁:beam.apache.org/documentation/sdks/pydoc/0.6.0/_modules/…

以上是关于我们可以从 Google Cloud Dataflow 访问 gsutil 吗?如果是,那么有人可以举例说明吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何从Java脚本安全地调用Google Cloud Run服务?

从 Kubernetes pod 直接将数据写入 Google Cloud Storage

Google Cloud 上使用 Pub/Sub 的主/从模式

从 Google Cloud Datastore 到 BigQuery 的增量数据传输

Google Cloud Dataflow 服务帐户未传播给工作人员?

是否可以从 Google Cloud 服务请求跟踪?