使用 REST API 并存储到 BigQuery
Consume a REST API and store into BigQuery
我们正在尝试从通过 REST API 公开数据的 Zoho Creator 获取数据。
目前我们正在手动 运行 一个 python 脚本来检索数据并将其转换为 AVRO 文件。然后我们调用 BQ 加载命令将其作为每个请求的大字符串对象加载到 BigQuery 中。
在 GCP 上部署它有哪些选择?寻找最少的 coding/configuration 选项。
我们正在考虑在 Composer 或 Cloud 函数上使用 Python 运算符。
谢谢。
您可以使用 Cloud Functions 或 Cloud 运行 做完全相同的事情。
- 使用 Cloud Functions,您必须将脚本包装在 Cloud Functions function pattern
- 使用 Cloud Run,您必须将脚本包装在一个函数中,然后部署调用该函数的网络服务器。最后,您需要构建一个可以部署在 Cloud 运行 上的容器。它看起来更像样板,但它提供了更多的灵活性和运行时定制。
您想在调度程序上调用它吗?为此,用户 Cloud Scheduler。
编辑 1
如果您使用 Cloud Composer python 运算符,它也可以工作。但我不喜欢这个解决方案:
- 您在工作流编排器 Composer 中执行业务逻辑。在关注点分离方面,不太好
- 不保证运行时隔离。为此,我更喜欢 Cloud Function。
- 如果明天您需要并行执行 100 个请求,Composer 的可扩展性不强,而 Cloud Functions 是。
- Cloud Functions 处理将免费进行很多更改。 Cloud Composer 每月至少花费 400 美元。如果你已经有一个集群,为什么不呢,如果没有....
- Cloud 运行(超过 Cloud Functions)是可移植的。如果您需要将其部署到其他地方,则可以。使用 composer 时,您必须使用 Python 运算符,并且您需要返工才能实现可移植性。
我们正在尝试从通过 REST API 公开数据的 Zoho Creator 获取数据。
目前我们正在手动 运行 一个 python 脚本来检索数据并将其转换为 AVRO 文件。然后我们调用 BQ 加载命令将其作为每个请求的大字符串对象加载到 BigQuery 中。
在 GCP 上部署它有哪些选择?寻找最少的 coding/configuration 选项。 我们正在考虑在 Composer 或 Cloud 函数上使用 Python 运算符。
谢谢。
您可以使用 Cloud Functions 或 Cloud 运行 做完全相同的事情。
- 使用 Cloud Functions,您必须将脚本包装在 Cloud Functions function pattern
- 使用 Cloud Run,您必须将脚本包装在一个函数中,然后部署调用该函数的网络服务器。最后,您需要构建一个可以部署在 Cloud 运行 上的容器。它看起来更像样板,但它提供了更多的灵活性和运行时定制。
您想在调度程序上调用它吗?为此,用户 Cloud Scheduler。
编辑 1
如果您使用 Cloud Composer python 运算符,它也可以工作。但我不喜欢这个解决方案:
- 您在工作流编排器 Composer 中执行业务逻辑。在关注点分离方面,不太好
- 不保证运行时隔离。为此,我更喜欢 Cloud Function。
- 如果明天您需要并行执行 100 个请求,Composer 的可扩展性不强,而 Cloud Functions 是。
- Cloud Functions 处理将免费进行很多更改。 Cloud Composer 每月至少花费 400 美元。如果你已经有一个集群,为什么不呢,如果没有....
- Cloud 运行(超过 Cloud Functions)是可移植的。如果您需要将其部署到其他地方,则可以。使用 composer 时,您必须使用 Python 运算符,并且您需要返工才能实现可移植性。