获取 gcp 云运行作业的作者

问题描述 投票:0回答:1

有什么方法可以让作者在 python 中执行 gcp cloud run 作业吗?

例如,当我运行

gcloud run jobs executions list
时,我可以看到创建它的作者(
RUN BY
列):

   JOB              EXECUTION              REGION    RUNNING  COMPLETE  CREATED                  RUN BY
✔  my-job           my-job-lj2op           us-west1  0        1 / 1     2024-11-09 12:00:00 UTC  [email protected]

如果我以调试详细程度运行命令,我可以看到使用的 api 是

GET /apis/run.googleapis.com/v1/namespaces/oxa-dev-loc-data-connector/executions?alt=json&limit=100 HTTP/1.1
,但是如果我使用 python sdk
run_v2.ListExecutionsRequest
调用,则不存在作者字段。有没有其他方法可以通过 python sdk 获取它?

google-cloud-platform google-cloud-run google-cloud-run-jobs
1个回答
0
投票

--verbosity=debug
的替代方案是
--log-http
,它显示底层 REST 调用、请求和响应。然后,您可以使用 Google 的 APIs Explorer 查找文档,例如云跑.

gcloud run jobs execution list
调用
namespaces.executions.list
,返回 Response,它是
Execution
的列表,并包含各种
metadata.annotations

例如:

metadata:
  annotations:
    run.googleapis.com/client-name: gcloud
    run.googleapis.com/client-version: 499.0.0
    run.googleapis.com/creator: {USER}
    run.googleapis.com/execution-environment: gen2
    run.googleapis.com/lastModifier: {USER}
    run.googleapis.com/operation-id: 12345678-1234-1234-1234-1234567890ab

我不确定“RUN BY”是否映射到

creator
lastModifier
但是...

gcloud run jobs executions list \
--project=${PROJECT} \
--region=${REGION} \
--format='yaml(metadata.annotations["run.googleapis.com/creator"])'
metadata:
  annotations:
    run.googleapis.com/creator: [email protected]

或者,如果您更喜欢更通用的 (JSON) 解决方案:

gcloud run jobs executions list \
--project=${PROJECT} \
--region=${REGION} \
--format=json \
| jq -r '.[].metadata.annotations["run.googleapis.com/creator"]'
© www.soinside.com 2019 - 2024. All rights reserved.