如何从 C# 代码更改 azure 门户虚拟机规模集缩放实例计数?

安琪

我想从我的 asp.net MVC 网站或通过 power-shell 命令增加或减少缩放实例数,以便我可以从网站 c# 代码调用 power-shell 命令。

我不知道该怎么做。如果有人能帮助我度过这个难关,那就太好了。

下面附上的快照将让您确切了解我需要增加或减少的内容。 在此处输入图片说明

Tom Sun - MSFT

如何从 C# 代码更改 azure 门户虚拟机规模集缩放实例计数?

我们可以直接使用 Azure Microsoft.Azure.Management.Fluent SDK。

准备:

在 Azure AD 中注册应用程序并创建用于访问资源的服务主体。更详细的请参考文档然后我们可以得到clientId、clientSecret、tenantId。

我也用它做了一个演示。您还可以更改层、SKU 名称。

var clientId = "clientId ";
var clientSecret = "clientSecret";
var tenantId = "tenant Id";
var resoureGroupName = "resource group name";
var vmScalesetName = "vm scale set name";
var subscriptionName = "subscriptionName";
var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal(clientId, clientSecret,
            tenantId, AzureEnvironment.AzureGlobalCloud);
var azure = Azure
            .Configure()
            .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
            .Authenticate(credentials)
            .WithDefaultSubscription();
var vMachineScaleSet = azure.VirtualMachineScaleSets.GetByResourceGroup(resoureGroupName, vmScalesetName);

var computeManagementClient =
            new ComputeManagementClient(credentials) {SubscriptionId = subscriptionName };
var update=  computeManagementClient.VirtualMachineScaleSets.CreateOrUpdateWithHttpMessagesAsync(resoureGroupName, vmScalesetName,
            new VirtualMachineScaleSetInner
            { 
               Location = vMachineScaleSet.RegionName,
               Sku = new Sku
               {
                   Capacity = 2, //set instance count
                   Name = vMachineScaleSet.Sku.Sku.Name,
                   Tier = vMachineScaleSet.Sku.Sku.Tier
               }
            }).Result;

在此处输入图片说明

包.config

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Microsoft.Azure.KeyVault.Core" version="1.0.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.AppService.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.Batch.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.BatchAI.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.Cdn.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.Compute.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.ContainerInstance.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.ContainerRegistry.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.ContainerService.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.CosmosDB.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.Dns.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.Graph.RBAC.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.KeyVault.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.Locks.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.Monitor.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.Msi.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.Network.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.Redis.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.ResourceManager.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.Search.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.ServiceBus.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.Sql.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.Storage.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Azure.Management.TrafficManager.Fluent" version="1.6.0" targetFramework="net471" />
  <package id="Microsoft.Data.Edm" version="5.8.2" targetFramework="net471" />
  <package id="Microsoft.Data.OData" version="5.8.2" targetFramework="net471" />
  <package id="Microsoft.Data.Services.Client" version="5.8.2" targetFramework="net471" />
  <package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="2.28.3" targetFramework="net471" />
  <package id="Microsoft.Rest.ClientRuntime" version="2.3.9" targetFramework="net471" />
  <package id="Microsoft.Rest.ClientRuntime.Azure" version="3.3.10" targetFramework="net471" />
  <package id="Microsoft.Rest.ClientRuntime.Azure.Authentication" version="2.3.2" targetFramework="net471" />
  <package id="Newtonsoft.Json" version="6.0.8" targetFramework="net471" />
  <package id="System.ComponentModel.EventBasedAsync" version="4.0.11" targetFramework="net471" />
  <package id="System.Dynamic.Runtime" version="4.0.0" targetFramework="net471" />
  <package id="System.Linq.Queryable" version="4.0.0" targetFramework="net471" />
  <package id="System.Net.Requests" version="4.0.11" targetFramework="net471" />
  <package id="System.Spatial" version="5.8.2" targetFramework="net471" />
  <package id="WindowsAzure.Storage" version="8.1.4" targetFramework="net471" />
</packages>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Powershell获取Azure虚拟机规模集实例的列表

Azure虚拟机规模集缩放比例提供两个实例

更改Azure虚拟机规模集的Windows注册表

如何在Azure虚拟机中更改时区?

如何更改Azure虚拟机的默认端点?

缩放时 Azure 虚拟机规模集命名不按顺序

使用 Python 监视 Azure 虚拟机规模集 (VMSS) 中的实例

无法 RDP 到 Azure 中 Service Fabric 群集的虚拟机规模集实例

如何将Azure虚拟机规模集部署到现有虚拟网络?

如何通过api创建Azure虚拟机?(不是经典的,在新的Azure管理门户上的那个)

Azure 虚拟机规模集代理公共 IP

如何更改 Azure 门户 VMSS 缩放条件“缩放到特定实例数”?

在Azure门户中更改Azure虚拟机名称

如何在不等待C#的情况下取消分配Azure虚拟机

将azure虚拟机操作系统从Windows更改为ubuntu。如何更改操作系统?

Azure网站如何访问Azure托管的虚拟机?

Azure:为什么建议为虚拟机规模集使用多个存储帐户?

两个Azure虚拟机规模集(VMSS)之间的负载平衡

如何更改虚拟机的凭据

如何从C#代码更改表

如何查看为虚拟机规模集定义的 IP 配置

如何为 terraform kubernetes 部署上的虚拟机规模集启用托管标识

更改Azure虚拟机的启动诊断存储帐户

如何防止代码更改为Azure Function脚本(.csx)

Azure上的Linux虚拟机-如何应用IP限制

如何在虚拟机中挂载Azure数据磁盘

如何在Azure中列出经典的虚拟机

如何找出Azure虚拟机的参考对象ID?

如何知道虚拟机是否在Azure中停止