你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
New-AzCloudService
创建或更新云服务。 请注意,某些属性只能在创建云服务期间设置。
语法
New-AzCloudService
-Name <String>
-ResourceGroupName <String>
-Location <String>
[-SubscriptionId <String>]
[-AllowModelOverride]
[-Configuration <String>]
[-ConfigurationUrl <String>]
[-ExtensionProfile <ICloudServiceExtensionProfile>]
[-NetworkProfile <ICloudServiceNetworkProfile>]
[-OSProfile <ICloudServiceOSProfile>]
[-PackageUrl <String>]
[-RoleProfile <ICloudServiceRoleProfile>]
[-StartCloudService]
[-Tag <Hashtable>]
[-UpgradeMode <CloudServiceUpgradeMode>]
[-Zone <String[]>]
[-DefaultProfile <PSObject>]
[-AsJob]
[-NoWait]
[-Confirm]
[-WhatIf]
[<CommonParameters>]
New-AzCloudService
-Name <String>
-ResourceGroupName <String>
-ConfigurationFile <String>
-DefinitionFile <String>
-Location <String>
-PackageUrl <String>
[-SubscriptionId <String>]
[-DnsName <String>]
[-ExtensionProfile <ICloudServiceExtensionProfile>]
[-KeyVaultName <String>]
[-StartCloudService]
[-Tag <Hashtable>]
[-UpgradeMode <CloudServiceUpgradeMode>]
[-Confirm]
[-WhatIf]
[<CommonParameters>]
New-AzCloudService
-Name <String>
-ResourceGroupName <String>
-ConfigurationFile <String>
-DefinitionFile <String>
-Location <String>
-PackageFile <String>
-StorageAccount <String>
[-SubscriptionId <String>]
[-DnsName <String>]
[-ExtensionProfile <ICloudServiceExtensionProfile>]
[-KeyVaultName <String>]
[-StartCloudService]
[-Tag <Hashtable>]
[-UpgradeMode <CloudServiceUpgradeMode>]
[-Confirm]
[-WhatIf]
[<CommonParameters>]
说明
创建或更新云服务。 请注意,某些属性只能在创建云服务期间设置。
示例
示例 1:使用单个角色创建新的云服务
# Create role profile object
$role = New-AzCloudServiceRoleProfilePropertiesObject -Name 'ContosoFrontend' -SkuName 'Standard_D1_v2' -SkuTier 'Standard' -SkuCapacity 2
$roleProfile = @{role = @($role)}
# Create network profile object
$publicIp = Get-AzPublicIpAddress -ResourceGroupName ContosOrg -Name ContosIp
$feIpConfig = New-AzCloudServiceLoadBalancerFrontendIPConfigurationObject -Name 'ContosoFe' -PublicIPAddressId $publicIp.Id
$loadBalancerConfig = New-AzCloudServiceLoadBalancerConfigurationObject -Name 'ContosoLB' -FrontendIPConfiguration $feIpConfig
$networkProfile = @{loadBalancerConfiguration = $loadBalancerConfig}
# Read Configuration File
$cscfgFile = "<Path to cscfg configuration file>"
$cscfgContent = Get-Content $cscfgFile | Out-String
# Create cloud service
$cloudService = New-AzCloudService `
-Name ContosoCS `
-ResourceGroupName ContosOrg `
-Location EastUS `
-PackageUrl "https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" `
-Configuration $cscfgContent `
-UpgradeMode 'Auto' `
-RoleProfile $roleProfile `
-NetworkProfile $networkProfile
上述命令集创建具有单个角色的云服务
示例 2:使用单角色和 RDP 扩展创建新的云服务
# Create role profile object
$role = New-AzCloudServiceRoleProfilePropertiesObject -Name 'ContosoFrontend' -SkuName 'Standard_D1_v2' -SkuTier 'Standard' -SkuCapacity 2
$roleProfile = @{role = @($role)}
# Create network profile object
$publicIp = Get-AzPublicIpAddress -ResourceGroupName ContosoOrg -Name ContosIp
$feIpConfig = New-AzCloudServiceLoadBalancerFrontendIPConfigurationObject -Name 'ContosoFe' -PublicIPAddressId $publicIp.Id
$loadBalancerConfig = New-AzCloudServiceLoadBalancerConfigurationObject -Name 'ContosoLB' -FrontendIPConfiguration $feIpConfig
$networkProfile = @{loadBalancerConfiguration = $loadBalancerConfig}
# Create RDP extension object
$credential = Get-Credential
$expiration = (Get-Date).AddYears(1)
$extension = New-AzCloudServiceRemoteDesktopExtensionObject -Name 'RDPExtension' -Credential $credential -Expiration $expiration -TypeHandlerVersion '1.2.1'
$extensionProfile = @{extension = @($extension)}
# Read Configuration File
$cscfgFile = "<Path to cscfg configuration file>"
$cscfgContent = Get-Content $cscfgFile | Out-String
# Create cloud service
$cloudService = New-AzCloudService `
-Name ContosoCS `
-ResourceGroupName ContosOrg `
-Location EastUS `
-PackageUrl "https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" `
-Configuration $cscfgContent `
-UpgradeMode 'Auto' `
-RoleProfile $roleProfile `
-NetworkProfile $networkProfile `
-ExtensionProfile $extensionProfile
上述命令集创建具有单个角色和 RDP 扩展的云服务
示例 3:使用密钥保管库中的单个角色和证书创建新的云服务
# Create role profile object
$role = New-AzCloudServiceRoleProfilePropertiesObject -Name 'ContosoFrontend' -SkuName 'Standard_D1_v2' -SkuTier 'Standard' -SkuCapacity 2
$roleProfile = @{role = @($role)}
# Create OS profile object
$keyVault = Get-AzKeyVault -ResourceGroupName ContosOrg -VaultName ContosKeyVault
$certificate=Get-AzKeyVaultCertificate -VaultName ContosKeyVault -Name ContosCert
$secretGroup = New-AzCloudServiceVaultSecretGroupObject -Id $keyVault.ResourceId -CertificateUrl $certificate.SecretId
$osProfile = @{secret = @($secretGroup)}
# Create network profile object
$publicIp = Get-AzPublicIpAddress -ResourceGroupName ContosOrg -Name ContosIp
$feIpConfig = New-AzCloudServiceLoadBalancerFrontendIPConfigurationObject -Name 'ContosoFe' -PublicIPAddressId $publicIp.Id
$loadBalancerConfig = New-AzCloudServiceLoadBalancerConfigurationObject -Name 'ContosoLB' -FrontendIPConfiguration $feIpConfig
$networkProfile = @{loadBalancerConfiguration = $loadBalancerConfig}
# Read Configuration File
$cscfgFile = "<Path to cscfg configuration file>"
$cscfgContent = Get-Content $cscfgFile | Out-String
# Create cloud service
$cloudService = New-AzCloudService `
-Name ContosoCS `
-ResourceGroupName ContosOrg `
-Location EastUS `
-PackageUrl "https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" `
-Configuration $cscfgContent `
-UpgradeMode 'Auto' `
-RoleProfile $roleProfile `
-NetworkProfile $networkProfile `
-OSProfile $osProfile
上述一组命令通过 Key Vault 创建具有单个角色和证书的云服务。
示例 4:使用多个角色和扩展创建新的云服务
# Create role profile object
$role1 = New-AzCloudServiceRoleProfilePropertiesObject -Name 'ContosoFrontend' -SkuName 'Standard_D1_v2' -SkuTier 'Standard' -SkuCapacity 2
$role2 = New-AzCloudServiceRoleProfilePropertiesObject -Name 'ContosoBackend' -SkuName 'Standard_D1_v2' -SkuTier 'Standard' -SkuCapacity 2
$roleProfile = @{role = @($role1, $role2)}
# Create network profile object
$publicIp = Get-AzPublicIpAddress -ResourceGroupName ContosOrg -Name ContosIp
$feIpConfig = New-AzCloudServiceLoadBalancerFrontendIPConfigurationObject -Name 'ContosoFe' -PublicIPAddressId $publicIp.Id
$loadBalancerConfig = New-AzCloudServiceLoadBalancerConfigurationObject -Name 'ContosoLB' -FrontendIPConfiguration $feIpConfig
$networkProfile = @{loadBalancerConfiguration = $loadBalancerConfig}
# Create RDP extension object
$credential = Get-Credential
$expiration = (Get-Date).AddYears(1)
$rdpExtension = New-AzCloudServiceRemoteDesktopExtensionObject -Name 'RDPExtension' -Credential $credential -Expiration $expiration -TypeHandlerVersion '1.2.1'
# Create Geneva extension object
$genevaExtension = New-AzCloudServiceExtensionObject -Name GenevaExtension -Publisher Microsoft.Azure.Geneva -Type GenevaMonitoringPaaS -TypeHandlerVersion "2.14.0.2"
$extensionProfile = @{extension = @($rdpExtension, $genevaExtension)}
# Add tags
$tag=@{"Owner" = "Contoso"}
# Read Configuration File
$cscfgFile = "<Path to cscfg configuration file>"
$cscfgContent = Get-Content $cscfgFile | Out-String
# Create cloud service
$cloudService = New-AzCloudService `
-Name ContosoCS `
-ResourceGroupName ContosOrg `
-Location EastUS `
-PackageUrl "https://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" `
-Configuration $cscfgContent `
-UpgradeMode 'Auto' `
-RoleProfile $roleProfile `
-NetworkProfile $networkProfile `
-ExtensionProfile $extensionProfile `
-Tag $tag
上述一组命令通过 Key Vault 创建具有单个角色和证书的云服务。
示例 5:使用“quickCreateParameterSetWith存储”参数集使用 CsCfg、CsDef 和 Cspkg 文件创建新的云服务。
# Set up a storage account if you have not
$storageAccount = New-AzStorageAccount -ResourceGroupName ContosoOrg -Name ContosoStorAcc -Location "East US" -SkuName "Standard_RAGRS" -Kind "StorageV2"
# Create cloud service
$cloudService = New-AzCloudService `
-Name ContosoCS `
-ResourceGroupName ContosOrg `
-Location EastUS `
-ConfigurationFile C:\files\CS.cscfg `
-DefinitionFile C:\files\CS.csdef `
-PackageFile C:\CS.cspkg `
-StorageAccount ContosoStorAcc `
-KeyVaultName ContosoKV
上述命令集通过从 中提取 NetworkProfile 和 RoleProfile 信息来创建云服务。CsCfg 和 .CsDef 文件。
这些文件还将提供 OSProfile 信息,以及“-KeyVaultName”参数中提供的 keyvault 中的证书。 此参数集还会上传 .CsPkg 文件到提供的 存储Account。
示例 6:使用“quickCreateParameterSetWithout存储”参数集使用 CsCfg、CsDef 和 Cspkg 文件创建新的云服务。
# getting Package URL
$tokenStartTime = Get-Date
$tokenEndTime = $tokenStartTime.AddYears(1)
$storAcc = Get-AzStorageAccount -ResourceGroupName ContosoOrg -Name ContosoStorAcc
$csPkgBlob = Get-AzStorageBlob -Container Contoso-Container -Blob ContosoBlob.cspkg -Context $storAcc.Context
$csPkgToken = New-AzStorageBlobSASToken -Container Contoso-Container -Blob ContosoBlob.cspkg -Permission rwd -StartTime $tokenStartTime -ExpiryTime $tokenEndTime -Context $storAcc.Context
$cspkgUrl = $csPkgBlob.ICloudBlob.Uri.AbsoluteUri + $csPkgToken
# Create cloud service
$cloudService = New-AzCloudService `
-Name ContosoCS `
-ResourceGroupName ContosOrg `
-Location EastUS `
-ConfigurationFile C:\files\CS.cscfg `
-DefinitionFile C:\files\CS.csdef `
-packageUrl $cspkgUrl `
上述命令集通过从 中提取 NetworkProfile 和 RoleProfile 信息来创建云服务。CsCfg 和 .CsDef 文件。
这些文件还将提供 OSProfile 信息,以及“-KeyVaultName”参数中提供的 keyvault 中的证书。
参数
-AllowModelOverride
(可选)指示模型/模板中指定的角色 SKU 属性(roleProfile.roles.sku)是否应分别替代 .cscfg 和 .csdef 中指定的角色实例计数和 VM 大小。默认值为 false
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AsJob
以作业身份运行命令
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Configuration
指定云服务的 XML 服务配置(.cscfg)。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConfigurationFile
指定云服务的 XML 服务配置(.cscfg)。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConfigurationUrl
指定一个 URL,该 URL 引用 Blob 服务中服务配置的位置。 服务包 URL 可以是任何存储帐户中的共享访问签名 (SAS) URI。这是一个仅写属性,不会在 GET 调用中返回。
Type: | String |
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 |
-DefinitionFile
.csdef 文件的路径。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DnsName
要用于 CloudService 资源的 Dns 的名称。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ExtensionProfile
描述云服务扩展配置文件。 若要构造,请参阅 EXTENSIONPROFILE 属性的 NOTES 部分并创建哈希表。
Type: | ICloudServiceExtensionProfile |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-KeyVaultName
要用于 CloudService 资源的 KeyVault 的名称。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Location
资源位置。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
云服务的名称。
Type: | String |
Aliases: | CloudServiceName |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NetworkProfile
云服务的网络配置文件。 若要构造,请参阅 NETWORKPROFILE 属性的 NOTES 部分并创建哈希表。
Type: | ICloudServiceNetworkProfile |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoWait
异步运行命令
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OSProfile
描述云服务的 OS 配置文件。 若要构造,请参阅 OSPROFILE 属性的 NOTES 部分并创建哈希表。
Type: | ICloudServiceOSProfile |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PackageFile
.cspkg 文件的路径。 它将上传到 Blob
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PackageUrl
指定一个 URL,该 URL 引用 Blob 服务中的服务包的位置。 服务包 URL 可以是任何存储帐户中的共享访问签名 (SAS) URI。这是一个仅写属性,不会在 GET 调用中返回。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ResourceGroupName
资源组的名称。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RoleProfile
描述云服务的角色配置文件。 若要构造,请参阅 ROLEPROFILE 属性的 NOTES 部分并创建哈希表。
Type: | ICloudServiceRoleProfile |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StartCloudService
(可选)指示是否在创建云服务后立即启动云服务。
默认值为 true
.如果为 false,则仍部署服务模型,但代码不会立即运行。
相反,服务是 PoweredOff,直到调用“开始”,此时服务将启动。
即使已部署的服务已关闭,也仍会产生费用。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StorageAccount
将存储包文件的存储帐户的名称。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SubscriptionId
唯一标识 Microsoft Azure 订阅的订阅凭据。 此订阅 ID 是每个服务调用的 URI 的一部分。
Type: | String |
Position: | Named |
Default value: | (Get-AzContext).Subscription.Id |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tag
资源标记。
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UpgradeMode
云服务的更新模式。 部署服务时,角色实例将分配给更新域。 汇报可以在每个更新域中手动启动,也可以在所有更新域中自动启动。可能的值为 <br /br /><>Auto<br /><br />Manual<br /br /><br />Simultaneous<br /><>if not specified, the default value is Auto.如果设置为“手动”,则必须调用 PUT UpdateDomain 才能应用更新。 如果设置为“自动”,则按顺序自动将更新应用到每个更新域。
Type: | CloudServiceUpgradeMode |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
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 |
-Zone
资源的逻辑可用性区域列表。 列表应仅包含应预配云服务的 1 个区域。 此字段可选。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
输出
备注
别名
复杂参数属性
若要创建下面所述的参数,请构造一个包含相应属性的哈希表。 有关哈希表的信息,请运行 Get-Help about_Hash_Tables。
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。
ROLEPROFILE <ICloudServiceRoleProfile>
:描述云服务的角色配置文件。
[Role <ICloudServiceRoleProfileProperties[]>]
:云服务的角色列表。[Name <String>]
:资源名称。[SkuCapacity <Int64?>]
:指定云服务中的角色实例数。[SkuName <String>]
:SKU 名称。 注意:如果云服务当前在硬件上不支持新 SKU,则需要删除并重新创建云服务或移回旧 SKU。[SkuTier <String>]
:指定云服务的层。 可能的值为
标准
基本
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈