我正在尝试使用 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
我尝试过以下示例:
- 传递了 base64、base64 ascii 解码以及纯脚本上下文。
- 在
os_profile
中提供自定义数据
以及单独的 block 。
当尝试使用 az cli
启动虚拟机时,cloud-init 脚本工作正常。
你有什么想法如何让它与 python sdk 一起工作吗?也许我在创建虚拟机参数时将其添加到了错误的部分?
最佳答案
由于没有人回答,所以我的同事解决了。
将 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,
关于python - Azure Python SDK-带有 cloud-init 的 Spinup VM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52856792/