如何获取当前正在运行的instanceId以及正在运行的Python应用程序中的区域。
在Go和Java中,它是通过以下方式完成的,Python中的等效项是什么?
去
import metadata "cloud.google.com/go/compute/metadata"
func main(){
println(metadata.InstanceID))
}
Java
String instanceId = com.google.cloud.MetadataConfig.getInstanceId()
答案 0 :(得分:1)
在Python中,将需要更多的编码。您需要执行以下操作,以列出Google Compute Engine中的所有实例。实例的ID和区域。
Create
,List
和Delete
的示例代码。还有整个源代码的GitHub链接。PROJECT_ID
和ZONE
。这意味着您必须首先列出所有可用的ZONES
,然后列出每个ZONE
中的所有实例(如果有)。有关所有可用区域,请参见Regions and Zones文档,有关列出这些区域的Python代码,请参见Method: zones.list。我做了一些自我编码,并且有适合我的代码。您可以找到我的code example here。
注意:由于要在每个可用的ZONE
中寻找所有可能的实例,因此代码将花费一些时间。
答案 1 :(得分:1)
我找到了一个简单的解决方案:
requests.get("http://metadata/computeMetadata/v1/instance/id",
headers={'Metadata-Flavor': 'Google'}).text