我有几个Google Compute Engine实例,并且已经在每个实例上设置了实例元数据,假设它们在实例本身可用作环境变量,但它们不会显示。然后我阅读here我需要向元数据服务器查询此数据,但是当从实例本身运行时,它只返回403未授权。有没有办法将元数据作为环境变量来访问?
答案 0 :(得分:20)
可能值得更多地研究Metadata querying,但我的猜测是您试图获取自定义元数据,这导致无法找到它。确保使用attributes
目录访问任何自定义元数据。
例如,这将获得内置的tags
元数据:
curl "http://metadata.google.internal/computeMetadata/v1/instance/tags" \
-H "Metadata-Flavor: Google"
虽然这会获得属性foo
的自定义元数据:
curl "http://metadata.google.internal/computeMetadata/v1/<instance|project>/attributes/foo" \
-H "Metadata-Flavor: Google"