繁体   English   中英

如何转义 gcloud 格式/过滤器命令中的斜线?

[英]How to escape slash in gcloud format / filter command?

我想按其容器映像过滤 Cloud Run 修订版。

当我运行这个 gcloud run revisions 命令时,

gcloud beta run revisions list --service sample-service --region=asia-northeast1 --limit=5 --sort-by="~DEPLOYED" --format="json"

它将跟随 json output

[
  {
    "apiVersion": "serving.knative.dev/v1",
    "kind": "Revision",
    "metadata": {
      "annotations": {
        "autoscaling.knative.dev/maxScale": "1",
        "client.knative.dev/user-image": "asia.gcr.io/sample-gcp-project/sample-app:e88597bcfb346aa1",
        "run.googleapis.com/client-name": "gcloud",
        "run.googleapis.com/client-version": "383.0.1", # 

我试图通过 --filter 选项过滤修订,但它引发了一个错误。

gcloud beta run revisions list --service it-sys-watch --region=asia-northeast1 --limit=1 --sort-by="~DEPLOYED" --filter='metadata.annotations.client.knative.dev/user-image=asia.gcr.io/sample-gcp-project/sample-app:e88597bcfb346aa1'
ERROR: (gcloud.beta.run.revisions.list) Non-empty key name expected [metadata.annotations.client.knative.dev *HERE* /user-image=asia.gcr.io/sample-gcp-project/sample-app:e88597bcfb346aa1].

添加反斜杠和双斜杠都不起作用

gcloud beta run revisions list --service it-sys-watch --region=asia-northeast1 --limit=1 --sort-by="~DEPLOYED" --filter='metadata.annotations.client.knative.dev\/user-image=asia.gcr.io/sample-gcp-project/sample-app:e88597bcfb346aa1'
WARNING: The following filter keys were not present in any resource : metadata.annotations.client.knative.dev\/user-image
Listed 0 items.

gcloud beta run revisions list --service it-sys-watch --region=asia-northeast1 --limit=1 --sort-by="~DEPLOYED" --filter='metadata.annotations.client.knative.dev//user-image=asia.gcr.io/sample-gcp-project/sample-app:e88597bcfb346aa1'
ERROR: (gcloud.beta.run.revisions.list) Non-empty key name expected [metadata.annotations.client.knative.dev *HERE* //user-image=asia.gcr.io/sample-gcp-project/sample-app:e88597bcfb346aa1].

gcloud --format选项也不适用于反斜杠键。

有什么想法可以帮助用斜线过滤密钥吗?

尝试:

gcloud beta run revisions list \
--service=it-sys-watch \
--region=asia-northeast1 \
--sort-by="~DEPLOYED" \
--filter='metadata.annotations["client.knative.dev/user-image"]="asia.gcr.io/sample-gcp-project/sample-app:e88597bcfb346aa1"'

注意您也需要删除--limit=1尽管这与建议limitfilter之后应用的文档冲突

gcloud... --filter=... --limit=1 | jq 'length' gcloud... --filter=... --limit=1 | jq 'length'产生0

gcloud... --filter=... | jq 'length' gcloud... --filter=... | jq 'length'产生 1

看看谷歌工程怎么说: 231192444

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM