Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 如何在带有GCS源存储桶的数据流中使用watchfornewfiles?_Google Cloud Platform_Google Cloud Dataflow_Apache Beam - Fatal编程技术网

Google cloud platform 如何在带有GCS源存储桶的数据流中使用watchfornewfiles?

Google cloud platform 如何在带有GCS源存储桶的数据流中使用watchfornewfiles?,google-cloud-platform,google-cloud-dataflow,apache-beam,Google Cloud Platform,Google Cloud Dataflow,Apache Beam,关于项目: 你能把它用于简单的用例吗?我的用例是让用户将数据上传到云存储->管道(处理csv到json)->大查询。我知道云存储是有界的集合,所以它代表批量数据流 我想做的是保持管道在流模式下运行,一旦文件上传到云存储,它就会通过管道进行处理。watchfornewfiles是否可以这样做 我编写的代码如下: p.apply(TextIO.read().from("<bucketname>") .watchForNewFiles( // Ch

关于项目:

你能把它用于简单的用例吗?我的用例是让用户将数据上传到云存储->管道(处理csv到json)->大查询。我知道云存储是有界的集合,所以它代表批量数据流

我想做的是保持管道在流模式下运行,一旦文件上传到云存储,它就会通过管道进行处理。watchfornewfiles是否可以这样做

我编写的代码如下:

p.apply(TextIO.read().from("<bucketname>")         
    .watchForNewFiles(
        // Check for new files every 30 seconds         
        Duration.standardSeconds(30),                      
        // Never stop checking for new files
        Watch.Growth.<String>never()));
p.apply(TextIO.read().from(“”)
.watchForNewFiles(
//每30秒检查一次新文件
持续时间。标准秒(30),
//永远不要停止检查新文件
观察。成长。永不;

没有任何内容被转发到Big Query,但管道显示它正在流式传输。

您可以在此处使用谷歌云存储触发器:

这些触发器使用类似于Cloud Pub/Sub的云函数,如果对象是:已创建/已删除/已存档/或元数据更改,则会触发这些云函数

这些事件是使用云存储的发布/订阅通知发送的,但请注意不要在同一个bucket上设置许多函数,因为存在一些通知限制


此外,在文档的末尾还有一个指向示例实现的链接

将链接中的相关内容添加到答案正文中。