谷歌云计算-没有为虚拟机实例设置元数据



我的代码正在为实例设置以下元数据。请求得到了正确处理,但元数据没有显示在云控制台中。我尝试了许多变体来设置元数据。有没有办法在谷歌云控制台中查看我对API的请求?关于如何更好地设置元数据对象,甚至使其发挥作用,您有什么建议吗?

Instance instance = new Instance();
log.debug(gsi.getInstanceId()+" is being created");
instance.setName(gsi.getInstanceId());
instance.setMachineType(MACHINE_TYPE);
Metadata metaData = new Metadata();
metaData = metaData.set("gslt",gsi.getGameServerLoginToken());
metaData = metaData.set("rcon",gsi.getRcon());
instance.setMetadata(metaData);
try {
Compute.Instances.Insert insert = compute
.instances()
.insert(PROJECT_ID,REGION,instance)
.setSourceInstanceTemplate(INSTANCE_TEMPLATE)
.setZone(REGION)
.setProject(PROJECT_ID);
Operation op = insert.execute();
var context = this;
Thread thread = new Thread(() -> {
try {
blockUntilComplete(compute,op,300*1000);
instanceEventPublisher.publishInstanceCreatedEvent(context, instance.getName());
} catch (Exception e) {
e.printStackTrace();
}
});
thread.start();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
e.getLocalizedMessage();
}

如果需要,我会发送更多信息。

这项工作做得很好,可能是一个更好的解决方案。

Metadata metaData = new Metadata();
Metadata.Items gslt = new Metadata.Items();
gslt.setKey("gslt");
gslt.setValue(gsi.getGameServerLoginToken().getToken());
Metadata.Items rcon = new Metadata.Items();
rcon.setKey("rcon");
rcon.setValue(gsi.getRcon());
metaData.setItems(new ArrayList<>());
metaData.getItems().add(gslt);
metaData.getItems().add(rcon);
instance.setMetadata(metaData);

在programmecreek.com 下找到两个例子

最新更新