我可以使用googleapiclient python客户端复制`create-with-container` gcloud sdk命令吗

问题描述

我目前在gcloud容器存储库上有一个docker容器,我想启动它的一个实例以运行计算,保存结果并关闭:

gcloud compute instances create-with-container test-1 \
--machine-type=n1-standard-4 \
--boot-disk-size=20GB \
--container-image=eu.gcr.io/<container-link> \
--container-env=GCLOUD_INPUT_FILENAME=file.txt \
--container-env=GCLOUD_PROJECT=project-name

但是,我希望能够使用Web界面(烧瓶)启动这些实例,这意味着我想使用googleapiclient(python)来创建和管理这些实例:

看起来您可以使用发现api创建实例创建顺序:

compute = googleclientapi.discovery.build('compute','v1')
compute.instances().insert(...).execute()

但是,尽管您可以将“ machineImage”作为创建请求的一部分,但是看起来好像无法模拟create-with-container gcloud sdk命令。

可以不使用subprocess调用gcloud sdk而创建一个“带有容器”的计算实例

OR

我可以将我的create-with-container实例转换为机器映像,然后使用googleapi client吗?

解决方法

仅供参考,我从 log-http 日志中发现的内容(我知道这不是正确答案)

==== request start ====
uri: https://compute.googleapis.com/batch/compute/v1
method: POST
== headers start ==
b'authorization': --- Token Redacted ---
b'content-length': b'479'
b'content-type': b'multipart/mixed; boundary="===============34234234234234=="'
b'user-agent': b'google-cloud-sdk gcloud/329.0.0 command/gcloud.compute.instances.create-with-container invocation-id/0dd6a37ac0624ac4b00e30a44da environment/devshell environment-version/None interactive/False from-script/False python/3.7.3 term/screen (Linux 5.4.89+)'
== headers end ==

“create-with-container”是通过标题传递的,我没有找到相同的正文。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...