python - 如何使用 python API 列出所有数据流作业
问题描述
我的用例涉及获取我的项目中存在的所有流式数据流作业的作业 ID 并取消它。更新我的数据流作业的源并重新运行它。
我正在尝试使用 python 来实现这一点。直到现在我还没有遇到任何有用的文档。我想使用 python 的库子进程来执行 gcloud 命令作为一种解决方法。但是我再次无法存储结果并使用它。
有人可以指导我做这件事的最佳方法是什么。
解决方案
您可以像这样直接使用Dataflow rest api
from google.auth.transport.requests import AuthorizedSession
import google.auth
base_url = 'https://dataflow.googleapis.com/v1b3/projects/'
credentials, project_id = google.auth.default(scopes=['https://www.googleapis.com/auth/cloud-platform'])
project_id = 'PROJECT_ID'
location = 'europe-west1'
authed_session = AuthorizedSession(credentials)
response = authed_session.request('GET', f'{base_url}{project_id}/locations/{location}/jobs')
print(response.json())
您必须导入 google-auth 依赖项。
您还可以添加查询参数?filter=ACTIVE
以仅获取可与您的流作业匹配的活动数据流。
推荐阅读
- wordpress - 根据年月自定义帖子类型
- javascript - 如何在字符串中添加动画
- halide - 带有 CUDA 目标的卤化物不起作用
- python - 使用 scipy.optimize.curve_fit 拟合分段函数
- entity-framework - HasData 的数据播种在 Visual Studio for Mac 上不起作用
- php - PHP Symfony 树枝视图
- scala - 为什么scala WrappedArray[Int](null,null)在应用时返回0,发生了什么?
- python - pandas dataframe 到 vertica table 插入更快的方式
- javascript - DatePicker:尝试设置日期时出错
- javascript - 比较 JavaScript 表单中的两个数字