通过多个过滤器选项

pka*_*mol 6 google-cloud-platform gcloud

我正在尝试根据区域和名称条件列出我的计算磁盘。

\n\n

但是,以下命令:

\n\n
\xe2\x96\xb6 gcloud compute disks list --filter="zone=europe-west4-a AND name=redash-postgres-data"\nWARNING: --filter : operator evaluation is changing for consistency across Google APIs.  zone=europe-west4-a currently does not match but will match in the near future.  Run `gcloud topic filters` for details.\nListed 0 items.\n
Run Code Online (Sandbox Code Playgroud)\n\n

a ) 不返回任何结果,尽管存在这样的磁盘

\n\n
\xe2\x96\xb6 gcloud compute disks list\nNAME                                                LOCATION        LOCATION_SCOPE  SIZE_GB  TYPE         STATUS\nredash-postgres-data                                us-east4-b      zone            50       pd-standard  READY\ngke-redash-test-cluster-redash-pool1-4db01a9f-1986  europe-west4-a  zone            100      pd-standard  READY\ngke-redash-test-cluster-redash-pool1-4db01a9f-t34m  europe-west4-a  zone            100      pd-standard  READY\nredash-postgres-data                                europe-west4-a  zone            60       pd-standard  READY\n
Run Code Online (Sandbox Code Playgroud)\n\n

b)我们应该如何制定查询,以便根据上述警告我们能够面向未来?我正在使用的示例来自帮助返回,gcloud topic filters按照上述警告消息的建议运行

\n

Lun*_*ast 8

编辑: Kolban@ 链接的文档实际上还提到了一种与简单模式匹配并允许使用短区域名称的替代语法:

--filter="zone:( us-east4-a )"
Run Code Online (Sandbox Code Playgroud)

所以你的 gcloud 命令实际上看起来像这样:

gcloud compute disks list --filter="zone:( us-east4-a) AND name=redash-postgres-data"
Run Code Online (Sandbox Code Playgroud)

通过 检查磁盘资源时gcloud compute disks describe disk_name,您会看到在其他信息旁边,该区域被描述为完全限定的 URL:

https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/us-east4-a
Run Code Online (Sandbox Code Playgroud)

使用此完整 URL过滤list命令将起作用:

gcloud compute disks list --filter="zone=https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/us-east4-a AND name=redash-postgres-data"
Run Code Online (Sandbox Code Playgroud)