你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Update-AzCloudService

创建或更新云服务。 请注意,某些属性只能在创建云服务期间设置。

语法

Update-AzCloudService
      -InputObject <ICloudServiceIdentity>
      -Parameter <ICloudService>
      [-DefaultProfile <PSObject>]
      [-AsJob]
      [-NoWait]
      [-Confirm]
      [-WhatIf]
      [<CommonParameters>]

说明

创建或更新云服务。 请注意,某些属性只能在创建云服务期间设置。

示例

示例 1:向现有云服务添加 RDP 扩展

# Create RDP extension object
$rdpExtension = New-AzCloudServiceRemoteDesktopExtensionObject -Name "RDPExtension" -Credential $credential -Expiration $expiration -TypeHandlerVersion "1.2.1"
# Get existing cloud service
$cloudService = Get-AzCloudService -ResourceGroupName "ContosOrg" -CloudServiceName "ContosoCS"
# Add RDP extension to existing cloud service extension object
$cloudService.ExtensionProfile.Extension = $cloudService.ExtensionProfile.Extension + $rdpExtension
# Update cloud service
$cloudService | Update-AzCloudService

上述命令集将 RDP 扩展添加到已命名为 ContosoCS 的现有云服务,该云服务属于名为 ContosOrg 的资源组。

示例 2:从云服务中删除所有扩展

# Get existing cloud service
$cloudService = Get-AzCloudService -ResourceGroupName "ContosOrg" -CloudServiceName "ContosoCS"
# Set extension to empty list
$cloudService.ExtensionProfile.Extension = @()
# Update cloud service
$cloudService | Update-AzCloudService

上述命令集从属于名为 ContosOrg 的资源组的现有云服务中删除所有扩展。

示例 3:从云服务中删除 RDP 扩展

# Get existing cloud service
$cloudService = Get-AzCloudService -ResourceGroupName "ContosOrg" -CloudServiceName "ContosoCS"
# Remove extension by name RDPExtension
$cloudService.ExtensionProfile.Extension = $cloudService.ExtensionProfile.Extension | Where-Object { $_.Name -ne "RDPExtension" }
# Update cloud service
$cloudService | Update-AzCloudService

上述命令集从属于名为 ContosOrg 的资源组的现有云服务中删除 RDP 扩展。

示例 4:横向扩展/横向扩展角色实例

# Get existing cloud service
$cloudService = Get-AzCloudService -ResourceGroupName "ContosOrg" -CloudServiceName "ContosoCS"

# Scale-out all role instance count by 1
$cloudService.RoleProfile.Role | ForEach-Object {$_.SkuCapacity += 1}

# Scale-in ContosoFrontend role instance count by 1
$role = $cloudService.RoleProfile.Role | Where-Object {$_.Name -eq "ContosoFrontend"}
$role.SkuCapacity -= 1

# Update cloud service configuration as per the new role instance count
$cloudService.Configuration = $configuration

# Update cloud service
$cloudService | Update-AzCloudService

上述一组命令演示如何对属于名为 ContosOrg 的资源组的云服务进行横向扩展和横向扩展角色实例计数。

参数

-AsJob

以作业身份运行命令

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

DefaultProfile 参数不起作用。 如果对其他订阅执行 cmdlet,请使用 SubscriptionId 参数。

Type:PSObject
Aliases:AzureRMContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

要构造的标识参数,请参阅 INPUTOBJECT 属性的 NOTES 部分并创建哈希表。

Type:ICloudServiceIdentity
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NoWait

异步运行命令

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Parameter

描述云服务。 若要构造,请参阅 PARAMETER 属性的 NOTES 部分并创建哈希表。

Type:ICloudService
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

ICloudService

ICloudServiceIdentity

输出

ICloudService

备注

别名

复杂参数属性

若要创建下面所述的参数,请构造一个包含相应属性的哈希表。 有关哈希表的信息,请运行 Get-Help about_Hash_Tables。

INPUTOBJECT <ICloudServiceIdentity>:标识参数

  • [CloudServiceName <String>]:云服务的名称。
  • [IPConfigurationName <String>]:IP 配置名称。
  • [Id <String>]:资源标识路径
  • [Location <String>]:OS 版本所涉及的位置的名称。
  • [NetworkInterfaceName <String>]:网络接口的名称。
  • [OSFamilyName <String>]:OS 系列的名称。
  • [OSVersionName <String>]:OS 版本的名称。
  • [PublicIPAddressName <String>]:公共 IP 地址的名称。
  • [ResourceGroupName <String>]:资源组的名称。
  • [RoleInstanceName <String>]:角色实例的名称。
  • [RoleName <String>]:角色的名称。
  • [SubscriptionId <String>]:唯一标识 Microsoft Azure 订阅的订阅凭据。 此订阅 ID 是每个服务调用的 URI 的一部分。
  • [UpdateDomain <Int32?>]:指定标识更新域的整数值。 更新域使用从零开始的索引进行标识:第一个更新域的 ID 为 0,第二个更新域的 ID 为 1,依如此。

PARAMETER <ICloudService>:描述云服务。

  • Location <String>:资源位置。
  • [AllowModelOverride <Boolean?>]:(可选)指示模型/模板中指定的角色 SKU 属性(roleProfile.roles.sku)是否应分别替代 .cscfg 和 .csdef 中指定的角色实例计数和 VM 大小。 默认值为 false
  • [Configuration <String>]:指定云服务的 XML 服务配置(.cscfg)。
  • [ConfigurationUrl <String>]:指定一个 URL,该 URL 引用 Blob 服务中服务配置的位置。 服务包 URL 可以是任何存储帐户中的共享访问签名 (SAS) URI。 这是一个仅写属性,不会在 GET 调用中返回。
  • [ExtensionProfile <ICloudServiceExtensionProfile>]:描述云服务扩展配置文件。
    • [Extension <IExtension[]>]:云服务的扩展列表。
      • [AutoUpgradeMinorVersion <Boolean?>]:显式指定当 typeHandlerVersion 可用时平台是否可以自动将 typeHandlerVersion 升级到更高次要版本。
      • [ForceUpdateTag <String>]:用于强制应用提供的公共和受保护的设置的标记。 更改标记值可以重新运行扩展,而无需更改任何公共或受保护的设置。 如果未更改 forceUpdateTag,则处理程序仍将应用对公共或受保护设置的更新。 如果 forceUpdateTag 和任何公共或受保护的设置都未发生更改,扩展将流向具有相同序列号的角色实例,并且由处理程序实现决定是否重新运行它
      • [Name <String>]:扩展的名称。
      • [ProtectedSetting <String>]:在发送到角色实例之前加密的扩展的受保护设置。
      • [ProtectedSettingFromKeyVaultSecretUrl <String>]:包含扩展的受保护设置的机密 URL
      • [Publisher <String>]:扩展处理程序发布者的名称。
      • [RolesAppliedTo <String[]>]:要应用此扩展的角色的可选列表。 如果未指定属性或指定“*”,则扩展将应用于云服务中的所有角色。
      • [Setting <String>]:扩展的公共设置。 对于 JSON 扩展,这是扩展的 JSON 设置。 对于 XML 扩展(如 RDP),这是扩展的 XML 设置。
      • [SourceVaultId <String>]:资源 ID
      • [Type <String>]:指定扩展的类型。
      • [TypeHandlerVersion <String>]:指定扩展的版本。 指定扩展的版本。 如果未指定此元素或星号 = 用作值,则使用最新版本的扩展。 如果使用主版本号和星号指定值作为次要版本号 (X.),则选择指定主版本的最新次要版本。 如果指定了主版本号和次要版本号(X.Y),则选择特定的扩展版本。 如果指定了版本,则对角色实例执行自动升级。
  • [NetworkProfile <ICloudServiceNetworkProfile>]:云服务的网络配置文件。
    • [LoadBalancerConfiguration <ILoadBalancerConfiguration[]>]:负载均衡器配置列表。 云服务最多可以有两个负载均衡器配置,对应于公共负载均衡器和内部负载均衡器。
      • FrontendIPConfiguration <ILoadBalancerFrontendIPConfiguration[]>:指定要用于负载均衡器的前端 IP。 仅支持 IPv4 前端 IP 地址。 每个负载均衡器配置必须只有一个前端 IP 配置。
        • Name <String>:负载均衡器使用的前端 IP 配置集中唯一的资源的名称。 此名称可用于访问资源。
        • [PrivateIPAddress <String>]:IP 配置的虚拟网络专用 IP 地址。
        • [PublicIPAddressId <String>]:资源 ID
        • [SubnetId <String>]:资源 ID
      • Name <String>:负载均衡器的名称
      • [Id <String>]:资源 ID
    • [SlotType <CloudServiceSlotType?>]:云服务的槽类型。 可能的值为

      生产

      临时过程

      如果未指定,则默认值为“生产”。
    • [SwappableCloudService <ISubResource>]:包含使用者云服务可执行交换的目标 IP 的云服务的 ID 引用。 设置此属性后,无法更新此属性。 此 ID 引用的可交换云服务必须存在,否则将引发错误。
      • [Id <String>]:资源 ID
  • [OSProfile <ICloudServiceOSProfile>]:描述云服务的 OS 配置文件。
    • [Secret <ICloudServiceVaultSecretGroup[]>]:指定应安装在角色实例上的证书集。
      • [SourceVaultId <String>]:资源 ID
      • [VaultCertificate <ICloudServiceVaultCertificate[]>]:SourceVault 中包含证书的密钥保管库引用列表。
        • [CertificateUrl <String>]:这是已作为机密上传到密钥库的证书的 URL。
  • [PackageUrl <String>]:指定引用 Blob 服务中服务包的位置的 URL。 服务包 URL 可以是任何存储帐户中的共享访问签名 (SAS) URI。 这是一个仅写属性,不会在 GET 调用中返回。
  • [RoleProfile <ICloudServiceRoleProfile>]:描述云服务的角色配置文件。
    • [Role <ICloudServiceRoleProfileProperties[]>]:云服务的角色列表。
      • [Name <String>]:资源名称。
      • [SkuCapacity <Int64?>]:指定云服务中的角色实例数。
      • [SkuName <String>]:SKU 名称。 注意:如果云服务当前在硬件上不支持新 SKU,则需要删除并重新创建云服务或移回旧 SKU。
      • [SkuTier <String>]:指定云服务的层。 可能的值为

        标准

        基本
  • [StartCloudService <Boolean?>]:(可选) 指示是否在创建云服务后立即启动云服务。 默认值为 true。 如果为 false,则仍部署服务模型,但代码不会立即运行。 相反,服务是 PoweredOff,直到调用“开始”,此时服务将启动。 即使已部署的服务已关闭,也仍会产生费用。
  • [Tag <ICloudServiceTags>]:资源标记。
    • [(Any) <String>]:这表示可以将任何属性添加到此对象。
  • [UpgradeMode <CloudServiceUpgradeMode?>]:云服务的更新模式。 部署服务时,角色实例将分配给更新域。 汇报可以在每个更新域中手动启动,也可以在所有更新域中自动启动。 可能的值为

    Auto

    手动

    同时

    如果未指定,则默认值为“自动”。如果设置为“手动”,则必须调用 PUT UpdateDomain 才能应用更新。 如果设置为“自动”,则按顺序自动将更新应用到每个更新域。
  • [Zone <String[]>]:资源逻辑可用性区域的列表。 列表应仅包含应预配云服务的 1 个区域。 此字段可选。