2

我可以创建一个带有自动缩放公式的池。代码如下。

var pool = client.PoolOperations.CreatePool(poolName, vmsize, new CloudServiceConfiguration(osFamily, osVersion));
pool.TaskSchedulingPolicy = new TaskSchedulingPolicy(ComputeNodeFillType.Pack);
pool.AutoScaleFormula = autoscaleFormula;
pool.AutoScaleEnabled = true;
pool.AutoScaleEvaluationInterval = new TimeSpan(0, 0, 5, 0);
pool.Commit();

但是,如果池存在,我尝试更新 AutoScale 公式,我得到一个错误。错误是

{“当对象处于绑定状态时,无法修改属性 AutoScaleFormula。”}

代码是

var client = BatchClient.Open(GetCloudSharedKeyCredentials(primary));
var pool = client.PoolOperations.GetPool(poolName);      
pool.AutoScaleFormula = formula;
pool.AutoScaleEnabled = true;
pool.AutoScaleEvaluationInterval = new TimeSpan(0, 0, 5, 0);
pool.Commit();

在我更新到最新版本的 Azure Batch 库之前,这曾经有效。有没有人有任何 Azure Batch 的经验,可以告诉我为什么会收到这个错误?

4

1 回答 1

2

您可以直接使用 PoolOperations.EnableAutoScale 方法。对于您的示例,您可以使用以下内容:

var client = BatchClient.Open(GetCloudSharedKeyCredentials(primary));
client.Pooloperations.EnableAutoScale(poolName, formula, TimeSpan.FromMinutes(5));
于 2016-07-04T22:41:37.247 回答