如何设置一个云运行的应用程序来接收python中的pub/sub消息



我对谷歌云平台还很陌生,我正在尝试设置一个python脚本,以从外部API进行每日数据提取,并将数据存储在BigQuery中。我已经有了脚本设置,经过大量的研究&在StackOverflow上提问时,我设法将其部署在谷歌云上,作为一个烧瓶应用程序运行。

本质上,这意味着我创建了两个文件——main.py&CCD_ 2。main.py文件如下所示:

# Global libraries
import os
from flask import Flask
# Local libraries
import data_push
app = Flask(__name__)
@app.route('/')
def data():
return data_push.daily_data_push()
if __name__ == "__main__":
app.run(debug=True,host='0.0.0.0',port=int(os.environ.get('PORT', 8080)))

Dockerfile看起来像这样:

# Use the official lightweight Python image.
# https://hub.docker.com/_/python
FROM python:3.6-slim
# Copy local code to the container image.
ENV APP_HOME /app
WORKDIR $APP_HOME
COPY . ./
# Install production dependencies.
RUN pip install Flask gunicorn
# Run the web service on container startup. Here we use the gunicorn
# webserver, with one worker process and 8 threads.
# For environments with multiple CPU cores, increase the number of workers
# to be equal to the cores available.
CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 --timeout 0 app:app

其中data_push.daily_data_push()是我需要调度的函数,以便从API中提取数据并将其存储在BigQuery中。现在,根据我所读到的内容,我需要首先设置应用程序,以便它可以与酒吧/酒吧对话,然后我可以使用云调度器设置每日时间表来提取数据。

我有点不知道如何设置与pub/sub对话的脚本。我正在浏览谷歌的文档,但我仍然没有弄清楚。问题是,我是一名数据分析师;就专业知识而言,酒吧/酒吧是我的强项。

我很感激你的帮助,告诉我应该如何设置脚本来与酒吧/酒吧交谈,或者给我指一个有答案的来源。

您可以设置一个调用HTTP URL的Cloud Scheduler。将您的Cloud Run url放入Cloud Scheduler中,并输入正确的频率。PubSub在这里没用!

  • 0 1***例如,每天凌晨1点
  • 0 1**1-5,例如每个工作日(周一至周五(凌晨1点

如果您的云运行部署为私有模式(不允许未经身份验证的模式(,请告诉我,这需要额外的配置。

最新更新