首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么新镜像可以从门户网站获得,但不能从SDK列表中获得?

为什么新镜像可以从门户网站获得,但不能从SDK列表中获得?
EN

Stack Overflow用户
提问于 2014-05-15 05:42:32
回答 1查看 130关注 0票数 0

我有两个Windows镜像:

图A-创建于几个月前

图B-创建于今天

这里描述了我用来创建图像B的步骤:http://blogs.technet.com/b/keithmayer/archive/2013/01/17/step-by-step-templating-vms-in-the-cloud-with-windows-azure-and-powershell-31-days-of-servers-in-the-cloud-part-17-of-31.aspx

我使用这些镜像通过Ruby SDK库创建新的VM。对于来自Portal和SDK的图像A,一切都如预期的那样工作。在图像B的情况下,它只能从Portal工作,而不能从SDK工作。SDK抛出“虚拟机映像源无效”。消息。

SDK调用的进一步调试显示图像B不在列表中,但它在门户上的列表中...

我注意到镜像A和镜像B之间唯一的区别是,在镜像选项卡上,镜像A的Source设置为"-“,而镜像B指向用于镜像定制的VM所在的云服务。删除云服务B不会将镜像B的源信息更改为"-“。

有人能说出为什么新图像可以从门户网站获得,但不能从SDK列表中获得吗?

EN

回答 1

Stack Overflow用户

发布于 2014-08-22 08:01:11

遗憾的是,ruby sdk缺少该功能……您必须使用RESTful应用程序接口来获取它们。

有关详细信息,请参考HERE,但可以这么说,这里有一段粗略的代码片段,可以帮助您进行操作:

代码语言:javascript
复制
def get(uri)
  uri = URI.parse(uri)
  pem = File.read('/path/to/management_cert')
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.cert = OpenSSL::X509::Certificate.new(pem)
  http.key = OpenSSL::PKey::RSA.new(pem)
  http.verify_mode = OpenSSL::SSL::VERIFY_PEER

  request = Net::HTTP::Get.new(uri.request_uri)
  request['x-ms-version'] = '2014-06-01'
  request['Content-Length'] = 0

  http.request(request)
end

下面是如何调用上面的方法(特定于列出图像)...

代码语言:javascript
复制
get 'https://management.core.windows.net/<subscription-id>/services/vmimages'

请务必将您的订阅id放在上述url中指定的位置。

此外,这(谢天谢地)将给你一个只有你的图片的列表……您仍然使用sdk来获取其余部分。请参阅上面的链接,查看响应的xml模式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23665650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档