如何获取Google Compute Engine实例的特定元数据值?

时间:2014-03-18 18:28:58

标签: google-compute-engine gcutil

我想知道如何在GCE中获取给定实例的特定元数据的值。

现在我可以使用以下命令查看所有实例属性:

gcutil getinstance instance-test

但它返回所有元数据,我在gcutil文档中找不到“过滤器”选项。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

您可以使用--format标志将gcutil输出转换为JSON格式而不是表格格式(请参阅gcutil --help):

--format: <table|sparse|json|csv|names>: Format for command output. Options include:
  table: formatted table output
  sparse: simpler table output
  json: raw json output (formerly --print_json)
  csv: csv format with header
  names: list of resource names only, no header
  (default: 'table')

例如:

gcutil --format=json getinstance instance-test

将此与jq相结合,以获得简单,强大的命令:

$ gcutil --format=json --service_version=v1 --project="<project>" \
      --zone="<zone>" getinstance "<instance>" | jq '.metadata.kind'
"compute#metadata"