Google compute engine 谷歌云平台-如何按标签过滤instances.list?

Google compute engine 谷歌云平台-如何按标签过滤instances.list?,google-compute-engine,google-apis-explorer,Google Compute Engine,Google Apis Explorer,我正在尝试按标记名筛选实例列表 什么与gcloud完美配合,例如: gcloud compute instances list --filter 'tags.items=firewall-client-mongodb' 不适用于始终返回400的API: { "error": { "errors": [ { "domain": "global", "reason": "invalid", "message": "Invalid value for field

我正在尝试按标记名筛选实例列表

什么与gcloud完美配合,例如:

gcloud compute instances list --filter 'tags.items=firewall-client-mongodb'
不适用于始终返回400的API:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalid",
    "message": "Invalid value for field 'filter': 'tags.items = test'. Invalid list filter expression."
   }
  ],
  "code": 400,
  "message": "Invalid value for field 'filter': 'tags.items = test'. Invalid list filter expression."
 }
}
是否有任何方法可以通过标记或任何用户定义的变量筛选实例?我正在测试

我能够重现问题,并得到与您相同的错误。这似乎是API的一个问题。 我建议您为问题跟踪器使用此命令创建新的计算引擎问题。

今天我自己尝试一下,您的命令现在应该可以工作了

奇怪的是,如果提供了
--zones=…
标志,它似乎无法正常工作。这是另外一个挑战(!?),因为底层API调用需要提供区域,因此如果使用筛选器,则此操作总是失败

gcloud计算实例列表\
--filter=“tags.items=${TAG}”\
--项目=${project}
名称区域机器类型
我的机器us-west1-c f1 micro
gcloud计算实例列表\
--项目=${project}\
--区域=美国西部1-c
名称区域机器类型
我的机器us-west1-c f1 micro
gcloud计算实例列表\
--filter=“tags.items=${TAG}”\
--项目=${project}\
--分区=美国西部1-c
错误:(gcloud.compute.instances.list)某些请求未成功:
-字段“filter”的值无效:“tags.items eq”。*\bfred\b.*”。列表筛选器表达式无效。
存档:
似乎
gcloud
--filter
实现被破坏了。尝试在括号中引用您的搜索模式:

gcloud ... --filter='term=(item-1 item-2)'
破折号(
-
)可能会破坏
--格式的DSL((

官方文件在附件中广泛包含了价值观:

比如:

使用标记my标记或my other标记列出计算引擎实例资源:

gcloud compute instances list  --filter="tags.items=(my-tag,my-other-tag)"

我发现,通配符在API中工作,例如name=web*。总比没有好:-)另外,您可以考虑使用标签。您可以使用API—EX进行标签筛选:谢谢您。我可以确认,这也适用于具有多个标签的容器图像:<代码> GOLL容器图像列表标签U.GCR.IO/MY-Realyy/MyId-过滤器=标签=(671)'--format=json
有效,而
filter='tags.items=671'
无效。