如何以编程方式设置Azure计算服务的实例计数

时间:2013-12-12 10:32:59

标签: azure cloud

我读了here,可以使用Rest API方法Change Deployment Configuration以编程方式设置Azure计算服务角色的实例数。

然而,该方法的文档没有提到角色实例,只提到了一些神秘的扩展属性。有谁知道这是如何完成的,也许可以提供一些指针或代码片段?

我感兴趣的不是AutoScaling,而是能够设置确切的实例数量以响应自定义事件。

2 个答案:

答案 0 :(得分:7)

如果您对增加实例计数感兴趣,那么只有这样做才能在服务配置文件中设置新实例计数,然后按照您的提及执行Change Deployment Configuration操作。请查看Windows Azure PowerShell Cmdlet,因为它有一个名为Set-AzureRole的Cmdlet,可以为您完成这项工作。

同样,如果您想减少实例数量,您可以采用相同的方法。通过这种方法,实例从底部到顶部被移除,例如如果您有4个实例正在运行(X_IN_0,X_IN_1,X_IN_2和X_IN_3)并且您想要删除2个实例,那么总是删除X_IN_3和X_IN_2)。因此,如果您不关心是否删除了最后一个实例,那么您可以使用相同的方法。

但是,Windows Azure Service Management API中有一项新操作,可让您删除特定实例:Delete Role Instances。您可以在此处阅读该操作:http://msdn.microsoft.com/en-us/library/windowsazure/dn469418.aspx。如果您希望取出一个行为不规律的特定实例,这非常方便。我写了一篇关于你可以阅读的博客文章:http://gauravmantri.com/2013/10/16/a-new-version-of-windows-azure-service-management-api-is-available-with-delete-specific-role-instances-and-more-goodies/

答案 1 :(得分:2)

有一个Set-AzureRole cmdlet,可让您指定实例数 Set-AzureRole (MSDN reference)

以下是一个例子:

Set-AzureRole -ServiceName $service -Slot $slot -RoleName "your-role-name" -Count 1