gcloud cli 过滤器格式和限制行为

gcloud cli filter format and limit behaviour

我在使用 --filter --format--limit 标志时遇到了一个非常奇怪的行为。

我有以下命令:

gcloud run revisions list --sort-by=~creationTimestamp --service "api-gateway" --platform managed --format="value(metadata.name)" --filter="spec.containers.env.name=ENDPOINTS_SERVICE_NAME"

命令 returns 我这个列表共有 177 个项目:

api-gateway-00295-xeb  2020-07-21T06:46:14.991421Z
api-gateway-00283-wug   2020-07-20T14:41:02.108809Z
api-gateway-00281-yix   2020-07-20T14:32:17.325634Z
api-gateway-00278-ham   2020-07-20T12:50:13.385984Z
api-gateway-00276-mol   2020-07-17T12:21:36.897245Z
api-gateway-00274-nih   2020-07-16T07:50:18.544546Z
api-gateway-00272-kol   2020-07-13T12:55:35.485589Z
api-gateway-00270-vis   2020-07-13T08:38:52.352422Z
api-gateway-00263-zaf   2020-07-10T14:08:36.502972Z
...

首先,由于一个奇怪的原因返回了时间戳。 (我实际上说明了我想用 --format 得到什么,当我删除 --sort-by 标志时,时间戳消失了。)

其次,当我添加--limit 1时根本没有返回任何结果!

gcloud run revisions list --sort-by=~creationTimestamp --service "api-gateway" --platform managed --format="value(metadata.name)" --filter="spec.containers.env.name=ENDPOINTS_SERVICE_NAME" --limit 1

--limit 5 只返回两个,因此在过滤之前应用限制是模糊的,尽管文档说这应该是相反的方式。 然而,“最新”条目是 api-gateway-00295-xeb 并且应该以 1 的限制返回。

我不明白这里 gcloud CLI 的行为。

有人对这两件事有解释吗?

正如@DazWilkin 所建议的,我在 public google 问题跟踪器中创建了一个问题: https://issuetracker.google.com/issues/161833506

Cloud SDK 工程团队正在调查此问题,但尚无预计到达时间。