1

我正在编写一个小型 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 上的公共图像库。

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

4

1 回答 1

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>

于 2012-07-18T00:20:50.173 回答