Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.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

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
Python GCP上的pub sub publisher的宿主位置?_Python_Google Cloud Platform_Google Cloud Pubsub - Fatal编程技术网

Python GCP上的pub sub publisher的宿主位置?

Python GCP上的pub sub publisher的宿主位置?,python,google-cloud-platform,google-cloud-pubsub,Python,Google Cloud Platform,Google Cloud Pubsub,我希望创建一个发布者,将包含特定标签的推文流式传输并发送到发布/订阅主题 tweet随后将被云数据流接收,然后加载到一个大型查询数据库中 在下面的例子中,他们做了一些类似的事情,发布者被托管在谷歌计算引擎实例上的docker图像上 有人能推荐其他谷歌云资源吗?这些资源可以更简单地承载发布者代码,避免创建docker文件等? 出版商需要不断地运行。例如,云计算是否是一个合适的替代方案?我可以想出一些解决办法: 避免容器体系结构的一个快速方法是在循环中使用on_data方法,例如,使用while(t

我希望创建一个发布者,将包含特定标签的推文流式传输并发送到发布/订阅主题

tweet随后将被云数据流接收,然后加载到一个大型查询数据库中

在下面的例子中,他们做了一些类似的事情,发布者被托管在谷歌计算引擎实例上的docker图像上

有人能推荐其他谷歌云资源吗?这些资源可以更简单地承载发布者代码,避免创建docker文件等?
出版商需要不断地运行。例如,云计算是否是一个合适的替代方案?

我可以想出一些解决办法:

  • 避免容器体系结构的一个快速方法是在循环中使用
    on_data
    方法,例如,使用
    while(true)
    之类的方法,或者启动一个如中所述的流,并在后台使用
    nohup python-u myscript.py在计算引擎中运行代码。或者按照中描述的步骤使用
    tweepy.Stream
    启动流媒体

  • 您可能需要重新考虑
    Dockerfile
    选项,因为它的配置可能没有那么困难,请查看哪里有读取数据并发布到PubSub的脚本,您将看到Docker文件使用了9行,并且它使用Cloud Build部署在App Engine中。另一个需要更多步骤的Docker文件实现是,如果有帮助,您将看到有更多具体步骤和更多配置

  • 云功能也是另一个选项,在本指南中,您可以查看设计部分,了解它是否适合您的用例

  • 因为Cloud Composer是气流的托管服务,您可以快速创建气流环境,所以它可能适合您。它使用Twint库,有关更多详细信息,请查看链接中的技术部分

  • 是一种将复杂配置放在一边的解决方法。在这种情况下,作业不会持续运行,但可以计划在几分钟内运行


  • 你能更准确地描述你的上一个州吗?出版商需要经常处于活动状态?使用无服务器组件的一大优势是,它不一定需要持续运行,而是可以根据需要生成和扩展。是否还有其他参与者会触发该组件,或者该组件是否应该抓取一些数据,例如,并决定何时向某个主题发布消息?谢谢Neo,我的意思是它需要不断运行(即24/7收听)。我的想法是,一旦发现相关tweet,就应该将它们传递到pub子主题。如果您的模块必须在侦听,那么它可以是一个事件驱动的模块(云函数最容易实现)。如果它必须发现一些东西——这是一个不同的故事,还有一些其他的选择。我希望现在我以更好的方式提问。请注意,使用Cloud Run还需要打包和部署一个容器,所以您需要创建一个Docker文件来使用它。正如Neo所说,如果您有一些事件驱动的方式来触发您的函数运行,那么使用云函数发布将是一个不错的选择。否则,您可能会使用云调度器触发函数定期运行: