我需要互联网来列出和获取Google Cloud Storage上的存储桶对象吗

时间:2018-12-16 02:13:13

标签: google-cloud-platform google-cloud-storage google-cloud-dataflow

我编写了一个非常简单的Nifi模板,该模板首先列出,然后从Google Cloud Storage上的存储桶中获取对象。显然,在获取对象时,Nifi会尝试使用Internet从存储桶中下载对象。我的问题是,如果要将此类对象提取到其他Google Cloud服务(例如Pub / Sub或Cloud Datastore)中,是否需要将该文件下载到单独的节点上?

为什么我不应该在Google Cloud中没有另一个节点,该节点可以与Google Cloud Storage中的IP组相同?因此,不是从Internet下载,而是在网络之间传输对象?

我还有另一个问题:用于将存储桶的文件和对象传输到其他服务(例如Pub / Sub)的数据流default templates是否遵循类似的原则?我的意思是说,如果他们使用Internet连接将对象从存储桶转移到Pub / Sub还是在网络节点之间转移对象?

1 个答案:

答案 0 :(得分:0)

Google Cloud Platform服务之间的转移是在专用网络内进行的。因此,只要您设置了适当的Firewall rules,这些服务就可以直接通过专用网络进行通信,因此无需下载文件。

例如,如果您有一项工作,其中将一个对象从外部源下载到Cloud Storage,然后从Cloud Storage转移到Cloud Datastore,它将使用互联网将文件下载到Cloud Storage,然后使用内部专用网络将其传输到Cloud Datastore。

因此,关于第二个问题,文件和对象在网络节点之间传输以进行数据流作业。

Dataflow Documentation - Regional endpoints中所述:

  

通过从与源和/或接收器相同的区域运行Cloud Dataflow作业,可以最大程度地减少网络延迟和网络传输成本。


  

有关常见Cloud Dataflow作业来源的说明:

     

Cloud Storage存储桶可以是区域性资源或多区域性资源:   将Cloud Storage区域存储桶用作源时,Google   建议您在同一区域执行读取操作。