我正在查看WASABi文档,我对这个库的一个特定方面感到困惑。
我需要创建一个自定义的反应规则。比方说,这个规则每分钟运行一次,这个规则的“缩放”动作应该是将"x“的值放大。似乎我可以将"scale“操作设置为一个特定的数字(例如1或2),但不能传入由我的自定义操作数计算出来的变量。
我理解我可以创建一个自定义操作数来检查我的条件,但是我希望自定义操作数计算出" scale“操作应该缩放目标工作者角色的大小,然后将这个值传递给"scale”操作。
是否有办法在XML之外定义这些规则来实现这一点?
任何帮助都将不胜感激!
发布于 2016-02-20 19:47:54
动作可以使计数增加或减少一个数字或比例。因此,如果您想要动态增量或递减,我认为您将需要创建自定义操作。我想你可以从IRuleEvaluationContext中提取出你需要的信息。
要更改实例计数,您需要更改部署配置。有关一些讨论,请参见https://social.msdn.microsoft.com/forums/azure/en-US/dbbf14d1-fd40-4aa3-8c65-a2424702816b/few-question-regarding-changing-instance-count-programmatically?forum=windowsazuredevelopment&prof=required。
您应该能够使用用于.NET和ComputeManagementClient的Azure管理库来实现这一点。类似于:
using (ComputeManagementClient client = new ComputeManagementClient(credentials))
{
var response = await client.Deployments.GetBySlotAsync(serviceName, slot);
XDocument config = XDocument.Parse(response.Configuration);
// Change the config
StringBuilder builder = new StringBuilder();
using (TextWriter writer = new StringWriter(builder))
{
config.Save(writer);
}
string newConfig = builder.ToString();
await client.Deployments.BeginChangingConfigurationBySlotAsync(serviceName, slot, new DeploymentChangeConfigurationParameters(newConfig));
}https://stackoverflow.com/questions/35500177
复制相似问题