Azure Python SDK-带有cloud-init的Spinup VM

时间:2018-10-17 14:02:20

标签: python python-3.x azure virtual-machine azure-sdk

我正在尝试使用Azure SDK通过cloud-init启动VM。 脚本基于以下示例:https://github.com/Azure-Samples/virtual-machines-python-manage/blob/master/example.py我添加了以下内容:

with open(cloudinit, "r") as cl: clcont=cl.read() # CUSTOM_DATA=base64.b64encode(clcont.encode('utf-8')).decode('ascii') CUSTOM_DATA=clcont

函数create_vm_parameters中的下一个添加了: 'custom-data': CUSTOM_DATA

我尝试了以下示例:

  • 通过了base64,解码的base64 ascii以及纯脚本上下文。
  • custom-data中提供os_profile以及分隔的块。

当尝试使用az cli启动vm时,cloud-init脚本可以正常工作。 您有任何想法如何使其与python sdk一起使用吗?也许我在创建vm参数时将其添加到了不正确的部分?

1 个答案:

答案 0 :(得分:0)

由于没有人回答,我的同事解决了。

将cloudinit保存为yaml文件,并且:

clcont== '\n'.join([ '', yaml.dump(cloudinit), ]) CUSTOM_DATA = base64.b64encode(clcont.encode('utf-8')).decode('latin-1')

并将其放在os_profile中:'custom_data': CUSTOM_DATA,