首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >企业自动应用程序块(WASABi) <scale>以可变数量上升

企业自动应用程序块(WASABi) <scale>以可变数量上升
EN

Stack Overflow用户
提问于 2016-02-19 07:57:42
回答 1查看 47关注 0票数 0

我正在查看WASABi文档,我对这个库的一个特定方面感到困惑。

我需要创建一个自定义的反应规则。比方说,这个规则每分钟运行一次,这个规则的“缩放”动作应该是将"x“的值放大。似乎我可以将"scale“操作设置为一个特定的数字(例如1或2),但不能传入由我的自定义操作数计算出来的变量。

我理解我可以创建一个自定义操作数来检查我的条件,但是我希望自定义操作数计算出" scale“操作应该缩放目标工作者角色的大小,然后将这个值传递给"scale”操作。

是否有办法在XML之外定义这些规则来实现这一点?

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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管理库来实现这一点。类似于:

代码语言:javascript
复制
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));
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35500177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档