以编程方式在azure VM中执行脚本

时间:2018-01-22 08:32:19

标签: python azure azure-virtual-machine

如何使用Python SDK并执行存储在 VM中的Blob 中的脚本?

是否有可能在创作时这样做?

我看过this,但我无法让它发挥作用。 This是我现有的模板。我哪里错了?

1 个答案:

答案 0 :(得分:2)

首先应创建VM,然后使用Azure自定义脚本扩展来执行VM内的脚本。

compute_client = ComputeManagementClient(credentials, subscription_id)
###Your python code to create VM
.......
compute_client.virtual_machines.create_or_update( 'DEV-Central', computer_name, param_dict )

##Using Azure Custom Script to execute script inside VM
GROUP_NAME = 'shuicli'
vmname = 'shui'
ext_type_name = 'CustomScriptForLinux'
ext_name = 'shuitest'
params_create = {
    'location': 'eastus',
    'publisher': 'Microsoft.OSTCExtensions',
    'virtual_machine_extension_type': ext_type_name,
    'type_handler_version': '1.5',
    'auto_upgrade_minor_version': True,
    'settings': {
        'fileUris': ["https://shuilinuxdiag336.blob.core.windows.net/customscriptfiles/test.sh"],
        'commandToExecute': "sh test.sh"
    }, 
    'protected_settings' : {
        'storageAccountName': 'shuilinuxdiag336',
        'storageAccountKey': '<your storage account key>'
    },
}
ext_poller = compute_client.virtual_machine_extensions.create_or_update(
    GROUP_NAME,
    vmname,
    ext_name,
    params_create,
)
ext = ext_poller.result()