2017-09-26 15 views
0

私はdevtestラボにアップロードしたVHDからカスタムイメージを作成しようとしています。DevTestLabsのPython Azure SDKを使用してカスタムイメージを作成する

私はそれを行うには、次のコードを使用しています:

from azure.mgmt.storage import StorageManagementClient 
.... 
credentials = ServicePrincipalCredentials(client_id = '##', tenant = '##', secret = "##") 
resource_client = DevTestLabsClient(credentials, subscriptID) 

.... 
custom_image_properties = CustomImagePropertiesCustom(CustomImageOsType.windows, config.CustomImage.Name, True) 
custom_image = CustomImage(vhd = custom_image_properties) 
resource_client.custom_images.create_or_update(rgName,labName, imageName, custom_image) 

それは私に次のエラーがスローされます。 は、URIを解析できませんでしたが「## customImageName ##」の値とimagenameのを命名しました。

私が間違っていることを教えてください。そして、APIのVHDへのパスを入力するように勧められました。私はパスを取る引数を見つけることができません!

+0

進捗状況?私の答えはあなたを助けますか? –

答えて

0

これは、次のエラーをスローします。ImageNameという名前のURIを '## customImageName ##'という値で構文解析できませんでした。

エラーメッセージによると、imagenameの値はURIであるようです。

イメージ名は文字列である必要があります。

create_or_update(resource_group_name, lab_name, name, custom_image, custom_headers=None, raw=False, **operation_config) 


Parameters: 
resource_group_name (str) – The name of the resource group. 
lab_name (str) – The name of the lab. 
name (str) – The name of the custom image. 

さらに詳しい情報はlinkを参照してください。

ところで

、この問題にもっと効率のトラブルシューティングを行うために、あなたはあなたの全体のスクリプトを投稿してください可能性:)

0

私はあなたが提供するコードでcustom imageを作成しようとしました。

from azure.common.credentials import ServicePrincipalCredentials 
from azure.mgmt.devtestlabs import DevTestLabsClient 
from azure.mgmt.devtestlabs.models.custom_image_properties_custom import CustomImagePropertiesCustom 
from azure.mgmt.devtestlabs.models.custom_image import CustomImage 
from azure.mgmt.devtestlabs.models.dev_test_labs_client_enums import CustomImageOsType 

client_id = <your client id> 
tenant = <your tenant id> 
secret = <your secret id> 
subscriptID = <your subcript id> 
imageName='jaygong.vhd' 
name=<your custom image name as you want> 
rgName = <your resource name> 
labName = <your lab name> 

credentials = ServicePrincipalCredentials(client_id=client_id, tenant=tenant , secret=secret) 
resource_client = DevTestLabsClient(credentials, subscriptID) 
custom_image_properties = CustomImagePropertiesCustom(CustomImageOsType.windows, imageName, True) 
custom_image = CustomImage(vhd = custom_image_properties) 
resource_client.custom_images.create_or_update(rgName,labName, name, custom_image) 

次に私はあなたの問題を再現します。

E:\Python27\python.exe E:/PythonWorkSpace/CreateVM/Create.py 
Traceback (most recent call last): 
    File "E:/PythonWorkSpace/CreateVM/Create.py", line 19, in <module> 
    resource_client.custom_images.create_or_update(rgName,labName, imageName, custom_image) 
    File "E:\Python27\lib\site-packages\azure\mgmt\devtestlabs\operations\custom_images_operations.py", line 293, in create_or_update 
    get_long_running_status, long_running_operation_timeout) 
    File "E:\Python27\lib\site-packages\msrestazure\azure_operation.py", line 350, in __init__ 
    raise CloudError(self._response) 
msrestazure.azure_exceptions.CloudError: Azure Error: InvalidUrlProvided 
Message: Failed to parse URI named ImageName with value of 'aaa'. 

Process finished with exit code 1 

は研究の後、私だけではなく、あなたのVHD名以上imageNameパラメータは、それはあなたのストレージ名でごVHDファイルのcomplete urlことになっていることがわかりました。 それは次のようになります。

https://<your storage account>.blob.core.windows.net/<your container name>/<your vhd file name> 

私は正常imageNameその後、作成したカスタムイメージの値を変更しました。

enter image description here

はそれがyou.Any懸念は、私がkown聞かせくださいお気軽にお役に立てば幸いです。

関連する問題