我正在尝试使用 Google Java API 创建实例,但出现错误:
{ “代码”:400, “错误”:[{ “域”:“全局”, “消息”:“字段‘resource.machineType’的值无效:‘https://www.googleapis.com/compute/v1/projects/...snip.../zones/europe-west1-a/machineTypes/n1-standard-1’。不允许跨项目引用此资源类型。”, “原因”:“无效” } ], “消息”:“字段‘resource.machineType’的值无效:‘https://www.googleapis.com/compute/v1/projects/...snip.../zones/europe-west1-a/machineTypes/n1-standard-1’。不允许跨项目引用此资源类型。”
我使用的代码:
Compute compute = getComputeService();
// uri reveals: https://www.googleapis.com/compute/v1/projects/...projectid.../zones/europe-west1-a/machineTypes/n1-standard-1
String uri = GOOGLE_BASE + this.project + "/zones/" + zone + INSTANCETYPES + type;
Instance instance = new Instance();
instance.setName(name);
instance.setZone(zone);
instance.setMachineType(uri);
List<AttachedDisk> disks = new ArrayList<AttachedDisk>();
AttachedDisk boot = new AttachedDisk();
boot.setAutoDelete(false);
boot.setType(disk.getType());
boot.setBoot(true);
boot.setDeviceName(disk.getName());
disks.add(boot);
List<NetworkInterface> interfaces = new ArrayList<NetworkInterface>();
NetworkInterface nat = new NetworkInterface();
nat.setName("External NAT");
nat.setNetwork("ONE_TO_ONE_NAT");
instance.setNetworkInterfaces(interfaces);
instance.setDisks(disks);
Instances.Insert request = compute.instances().insert(name, zone, instance);
Operation result = request.execute();
最佳答案
根据 this link ,我相信您的请求应该如下所示:
Instances.Insert request = compute.instances().insert(this.project, zone, instance);
关于java - Google API 创建实例 - 字段 'resource.machineType' 的值无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25267769/