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 使用gsutil自动将本地存储的文件上载到云存储_Google Cloud Platform_Google Bigquery_Google Cloud Storage_Gsutil - Fatal编程技术网

Google cloud platform 使用gsutil自动将本地存储的文件上载到云存储

Google cloud platform 使用gsutil自动将本地存储的文件上载到云存储,google-cloud-platform,google-bigquery,google-cloud-storage,gsutil,Google Cloud Platform,Google Bigquery,Google Cloud Storage,Gsutil,我是GCP新手,我正在尝试构建一个ETL流,将数据从文件上传到BigQuery。在我看来,最好的解决方案是使用gsutil。我今天看到的步骤是: 已完成将.zip文件从SFTP服务器下载到虚拟机 文件解包完毕 将文件从VM上载到云存储 自动将文件从云存储上传到BigQuery 步骤1和2将根据时间表执行,但我希望步骤3是事件驱动的。因此,当文件复制到特定文件夹时,gsutil会将它们发送到云存储中的指定存储桶。有什么办法可以做到这一点吗?假设您在Linux虚拟机上运行,您可能想查看inotify

我是GCP新手,我正在尝试构建一个ETL流,将数据从文件上传到BigQuery。在我看来,最好的解决方案是使用gsutil。我今天看到的步骤是:

已完成将.zip文件从SFTP服务器下载到虚拟机 文件解包完毕 将文件从VM上载到云存储 自动将文件从云存储上传到BigQuery
步骤1和2将根据时间表执行,但我希望步骤3是事件驱动的。因此,当文件复制到特定文件夹时,gsutil会将它们发送到云存储中的指定存储桶。有什么办法可以做到这一点吗?

假设您在Linux虚拟机上运行,您可能想查看inotifywait,-您可以将其作为后台进程来运行,以进行尝试,例如bash/path/to/my/inotify/script.sh&,然后,一旦您测试了它并得到了您喜欢的东西,就将其设置为守护进程。

如果步骤1和2在计划中,为什么需要步骤3是事件驱动的?您是如何执行步骤4的?我不确定复制文件需要多长时间—有时是1 GB,有时是10 GB。第4步是使用云函数中的脚本执行的。这是Windows Server上的一台机器,因此只有Powershell或命令行脚本保留。要了解某种等效性,请检查此项,以及可能的替代检查。