如何在私有子网上从 python Google API 客户端库运行数据流
Posted
技术标签:
【中文标题】如何在私有子网上从 python Google API 客户端库运行数据流【英文标题】:How to run Dataflow from python Google API Client Libraries on private subnetwork 【发布时间】:2022-01-09 20:08:59 【问题描述】:我正在尝试使用 python google api 客户端库启动 Dataflow 作业。以前一切正常,直到我们不得不从默认子网迁移到另一个私有子网。以前我使用以下代码启动数据流作业:
request = dataflow.projects().locations().templates().launch(
projectId = PROJECT_ID,
location = REGION,
gcsPath = TEMPLATE_LOCATION,
body =
'jobName': job_name,
'parameters': job_parameters,
)
response = request.execute()
但是现在作业会失败,因为默认子网不再存在,我现在需要指定使用data-subnet
子网。
从this 文档和this 其他问题来看,如果我通过添加标志--subnetwork regions/$REGION/subnetworks/$PRIVATESUBNET
从命令行启动脚本,解决方案将是微不足道的。但是我的情况有所不同,因为我试图从代码中执行此操作,并且在 documentation 中我找不到任何子网参数选项。
【问题讨论】:
【参考方案1】:您可以像这样为您的管道指定一个自定义子网
request = dataflow.projects().locations().templates().launch(
projectId = PROJECT_ID,
location = REGION,
gcsPath = TEMPLATE_LOCATION,
body =
'jobName': job_name,
'parameters': job_parameters,
'environment':
'subnetwork': SUBNETWORK,
)
response = request.execute()
确保 SUBNETWORK 的格式为 "https://www.googleapis.com/compute/v1/projects/<project-id>/regions/<region>/subnetworks/<subnetwork-name>"
【讨论】:
以上是关于如何在私有子网上从 python Google API 客户端库运行数据流的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有授权令牌的情况下从 python 脚本查询 google-bigquery 中的私有表?
如何在pycharm python上从3到6的按钮进行乘法和求和
我在私有子网中有 AWS Postgres 实例,但没有任何 ***,如何通过本地访问它?