python - 在 GCP 上哪里托管 pub sub 发布商?

标签 python google-cloud-platform google-cloud-pubsub

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

然后,这些推文将被云数据流摄取,然后加载到 Big Query 数据库中。

如下article他们执行类似的操作,将发布者托管在 Google Compute Engine 实例上的 Docker 镜像上。

谁能推荐替代的 Google Cloud 资源,可以更简单地托管发布商代码,从而避免创建 docker 文件等? 发布者需要不断运行。云会运行吗?是一个合适的选择吗?

最佳答案

我能想到一些解决方法:

  1. 避免容器架构的一种快速方法是在循环中使用 on_data 方法,例如,通过使用 while(true) 之类的方法或启动一个像 Create your Python script 中解释的那样进行流式传输并使用 nohup python -u myscript.py 在后台计算引擎中运行代码。或者按照 Script on GCE to capture tweets 中描述的步骤操作使用 tweepy.Stream 启动流式传输。

  2. 您可能需要重新考虑 Dockerfile 选项,因为它的配置可能并不那么困难,请参阅 Tweets & pipelines其中有一个读取数据并发布到 PubSub 的脚本,您将看到 Docker 文件使用了 9 行,并且使用 Cloud Build 将其部署在 App Engine 中。另一种需要更多步骤的 Docker 文件实现是 twitter-for-bigquery ,如果有帮助的话,您会看到有更具体的步骤和更多的配置。

  3. 云函数也是另一个选项,在本指南中 Serverless Twitter with Google Cloud您可以检查设计部分以了解它是否适​​合您的用例。

  4. Airflow with Twitter Scraper可以为您工作,因为 Cloud Composer 是 Airflow 的托管服务,您可以快速创建 Airflow 环境。它使用 Twint 库,请查看链接中的技术部分以了解更多详细信息。

  5. Stream Twitter Data into BigQuery with Cloud Dataprep是一种抛开复杂配置的解决方法。在这种情况下,作业不会持续运行,但可以安排在几分钟内运行。

关于python - 在 GCP 上哪里托管 pub sub 发布商?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63309727/

相关文章:

java - Cloud PubSub Java 并行致谢

docker - 如果 Google PUBSUB 中没有来自发布者的消息,如何让订阅者休眠

python - 基于系列输入复制值

python - 了解 python 中的免费 OPC/UA 代码

google-cloud-platform - 有没有办法通过存储在 Google Cloud Storage 中的文本文档进行 grep?

google-cloud-platform - 将数据流从 Google Cloud Storage 流式传输到 Bigquery

google-cloud-dataflow - 取消作业而不会丢失 DataFlow 上的数据

python - Django 分页中的 EmptyPage 错误

python - python中类似向量计算的并行乘法

windows - 基于Windows的GKE中的ContainerD节点