【问题标题】:BadRequest using Azure Service Management API to create VMBadRequest 使用 Azure 服务管理 API 创建 VM
【发布时间】:2012-07-17 15:38:00
【问题描述】:

我正在编写一个小型 Java 客户端,它使用 Azure 服务管理 API 在 Azure 上创建新的 VM 部署。 我不断收到这样的错误请求响应:

17/07/2012 18:26:37 com.sun.jersey.api.client.filter.LoggingFilter log
INFO: 1 * Client out-bound request
1 > POST https://management.core.windows.net/my-subscription-id/services/hostedservices/myservice/deployments
1 > x-ms-version: 2012-03-01
1 > Content-Type: application/xml
<Deployment xmlns="http://schemas.microsoft.com/windowsazure">
  <Name>mynametest</Name>
  <DeploymentSlot>Staging</DeploymentSlot>
  <Label>mynamelabel</Label>
  <RoleList>
    <Role>
      <RoleName>mynamerolename</RoleName>
      <RoleType>PersistentVMRole</RoleType>
      <ConfigurationSets>
        <ConfigurationSet>
          <ConfigurationSetType>LinuxProvisioningConfiguration</ConfigurationSetType>
          <HostName>myunamehost</HostName>
          <UserName>myname</UserName>
          <UserPassword>password</UserPassword>
        </ConfigurationSet>
      </ConfigurationSets>
      <OSVirtualHardDisk>
        <SourceImageName>CANONICAL__Canonical-Ubuntu-12-04-amd64-server-20120528.1.3-en-us-30GB.vhd</SourceImageName>
      </OSVirtualHardDisk>
    </Role>
  </RoleList>
</Deployment>

17/07/2012 18:26:38 com.sun.jersey.api.client.filter.LoggingFilter log
INFO: 1 * Client in-bound response
1 < 400
1 < x-ms-request-id: c622e270c5934cb493f76790b7d2c49d
1 < Date: Tue, 17 Jul 2012 15:27:26 GMT
1 < Content-Length: 275
1 < Content-Type: application/xml; charset=utf-8
1 < Server: 6.0.6002.18488 (rd_rdfe_stable.120710-1331) Microsoft-HTTPAPI/2.0
1 < 
<Error xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Code>BadRequest</Code><Message>No   target URI is specified for the image CANONICAL__Canonical-Ubuntu-12-04-amd64-server-20120528.1.3-en-us-30GB.vhd.</Message></Error>

看起来 azure 的文档有问题:http://msdn.microsoft.com/en-us/library/windowsazure/jj157194

有人试过这个吗?我不明白“目标 URI”是什么意思... 图片名称取自 azure 上的公共图片库。

任何帮助,任何帮助,将不胜感激。 谢谢

【问题讨论】:

    标签: java rest azure virtual-machine


    【解决方案1】:

    您的 xml 有一些错误的配置,即 DeploymentSlot 等,我也相信错误即将到来,因为您的 XML 中没有所有必需的设置。以下是适用于 Linux Gallery 的图片:

    <Deployment xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
     <Name>mydeploymentname</Name>
     <Label>mydeploymentlabel</Label>      
     <RoleList>
      <Role>
         <RoleName>mylinuxvm2012</RoleName>
         <RoleType>PersistentVMRole</RoleType>      
         <ConfigurationSets>
            <ConfigurationSet> 
                <ConfigurationSetType>LinuxProvisioningConfiguration<ConfigurationSetType>
                <HostName>host-name-for-the-vm</HostName>
                <UserName>new-user-name</UserName> 
                <UserPassword>password-for-the-new-user</UserPassword> 
                <DisableSshPasswordAuthentication>true|false</DisableSshPasswordAuthentication>           
                <SSH>
                    <PublicKeys>
                       <PublicKey>
                           <FingerPrint>******add_here******</FingerPrint>
                           <Path>****SSH-public-key-storage-location**********</Path>     
                       </PublicKey>
                    </PublicKeys>
                    <KeyPairs>
                       <KeyPair>
                           <FingerPrint>************certificate-fingerprint*************</FinguerPrint>
                           <Path>*************SSH-public-key-storage-location*************</Path>
                       </KeyPair>
                    </KeyPairs>
                </SSH>
            </ConfigurationSet> 
         <OSVirtualHardDisk>
            <HostCaching>ReadWrite</HostCaching>    
            <DiskLabel>myosdisklabel</DiskLabel>
            <DiskName>myazurelinuxvm</DiskName>                    
            <MediaLink>https://_yourstoragename_.blob.core.windows.net/vhds/_your_VHD_NAME_.vhd</MediaLink>
            <SourceImageName>CANONICAL__Canonical-Ubuntu-12-04-amd64-server-20120528.1.3-en-us-30GB.vhd</SourceImageName>
         </OSVirtualHardDisk>      
         <RoleSize>_ExtraSmall|Small|Medium|Large|ExtraLarge_</RoleSize>      
      </Role>
    </RoleList>
    

    【讨论】:

    • 谢谢!,我缺少的元素是 元素。这实际上是我收到错误的这个目标 URI。奇怪的是,天蓝色的文档说这个元素不是必需的......
    • 很高兴您的问题得到解决。如果您将其标记为答案,将不胜感激。
    • 事实上,当SourceImageName 存在时,MediaLink 是必需的。 msdn.microsoft.com/en-us/library/windowsazure/… 请参阅SourceImageName 的文档。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-29
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多