Set-AzApiManagement
更新 Azure Api 管理服務
語法
Set-AzApiManagement
-InputObject <PsApiManagement>
[-SystemAssignedIdentity]
[-UserAssignedIdentity <String[]>]
[-AsJob]
[-PassThru]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Set-AzApiManagement Cmdlet 會更新 Azure API 管理 服務。
範例
範例 1:取得 API 管理 服務,並將其調整為 Premium 並新增區域
$apim = Get-AzApiManagement -ResourceGroupName "ContosoGroup" -Name "ContosoApi"
$apim.Sku = "Premium"
$apim.Capacity = 5
$apim.AddRegion("Central US", "Premium", 3)
Set-AzApiManagement -InputObject $apim
此範例會取得 Api 管理實例、將其調整為五個進階單位,然後將額外的三個單位新增至進階區域。
範例 2:更新部署 (外部 VNET)
$virtualNetwork = New-AzApiManagementVirtualNetwork -SubnetResourceId "/subscriptions/a8ff56dc-3bc7-4174-a1e8-3726ab15d0e2/resourceGroups/Api-Default-WestUS/providers/Microsoft.Network/virtualNetworks/dfVirtualNetwork/subnets/backendSubnet"
$apim = Get-AzApiManagement -ResourceGroupName "ContosoGroup" -Name "ContosoApi"
$apim.VpnType = "External"
$apim.VirtualNetwork = $virtualNetwork
Set-AzApiManagement -InputObject $apim
此命令會更新現有的 API 管理 部署,並加入外部 VpnType。
範例 3:使用 KeyVault 資源的秘密建立和初始化 PsApiManagementCustomHostNameConfiguration 實例
$portal = New-AzApiManagementCustomHostnameConfiguration -Hostname "portal.contoso.com" -HostnameType Portal -KeyVaultId "https://apim-test-keyvault.vault.azure.net/secrets/api-portal-custom-ssl.pfx"
$proxy1 = New-AzApiManagementCustomHostnameConfiguration -Hostname "gatewayl.contoso.com" -HostnameType Proxy -KeyVaultId "https://apim-test-keyvault.vault.azure.net/secrets/contoso-proxy-custom-ssl.pfx"
$proxy2 = New-AzApiManagementCustomHostnameConfiguration -Hostname "gatewayl.foobar.com" -HostnameType Proxy -KeyVaultId "https://apim-test-keyvault.vault.azure.net/secrets/foobar-proxy-custom-ssl.pfx"
$proxyCustomConfig = @($proxy1,$proxy2)
$apim = Get-AzApiManagement -ResourceGroupName "ContosoGroup" -Name "ContosoApi"
$apim.PortalCustomHostnameConfiguration = $portal
$apim.ProxyCustomHostnameConfiguration = $proxyCustomConfig
Set-AzApiManagement -InputObject $apim -SystemAssignedIdentity
範例 4:更新發行者電子郵件、NotificationSender 電子郵件和組織名稱
$apim = Get-AzApiManagement -ResourceGroupName "api-Default-West-US" -Name "Contoso"
$apim.PublisherEmail = "foobar@contoso.com"
$apim.NotificationSenderEmail = "notification@contoso.com"
$apim.OrganizationName = "Contoso"
Set-AzApiManagement -InputObject $apim -PassThru
範例 5:將受控憑證新增至 APIM 服務
$gateway=New-AzApiManagementCustomHostnameConfiguration -Hostname freecertCanary.contoso.api -HostnameType Proxy -ManagedCertificate
$customConfig= @($gateway)
$apim=Get-AzApiManagement -ResourceGroupName contosogroup -Name contosoapim
$apim.ProxyCustomHostnameConfiguration = $customConfig
Set-AzApiManagement -InputObject $apim -PassThru
PublicIPAddresses : {20.45.236.81}
PrivateIPAddresses :
Id : /subscriptions/a200340d-6b82-494d-9dbf-687ba6e33f9e/resourceGroups/Api-Default-
Central-US-EUAP/providers/Microsoft.ApiManagement/service/contosoapim
Name : contosoapim
Location : Central US EUAP
Sku : Developer
Capacity : 1
CreatedTimeUtc : 8/24/2021 10:40:21 PM
ProvisioningState : Succeeded
RuntimeUrl : https://contosoapim.azure-api.net
RuntimeRegionalUrl : https://contosoapim-centraluseuap-01.regional.azure-api.net
PortalUrl : https://contosoapim.portal.azure-api.net
DeveloperPortalUrl : https://contosoapim.developer.azure-api.net
ManagementApiUrl : https://contosoapim.management.azure-api.net
ScmUrl : https://contosoapim.scm.azure-api.net
PublisherEmail : zhonren@microsoft.com
OrganizationName : Microsoft
NotificationSenderEmail : apimgmt-noreply@mail.windowsazure.com
VirtualNetwork :
VpnType : None
PortalCustomHostnameConfiguration :
ProxyCustomHostnameConfiguration : {contosoapim.azure-api.net, freecertCanary..contoso.api}
ManagementCustomHostnameConfiguration :
ScmCustomHostnameConfiguration :
DeveloperPortalHostnameConfiguration :
SystemCertificates :
Tags : {}
AdditionalRegions : {}
SslSetting : Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementSslSetting
Identity : Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementServiceIdentity
EnableClientCertificate :
Zone :
DisableGateway : False
MinimalControlPlaneApiVersion :
PublicIpAddressId :
PlatformVersion : stv2
PublicNetworkAccess : Enabled
PrivateEndpointConnections :
ResourceGroupName : contosogroup
$apim.ProxyCustomHostnameConfiguration
CertificateInformation :
EncodedCertificate :
HostnameType : Proxy
CertificatePassword :
Hostname : contosoapim.azure-api.net
KeyVaultId :
DefaultSslBinding : False
NegotiateClientCertificate : False
IdentityClientId :
CertificateStatus :
CertificateSource : BuiltIn
CertificateInformation : Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementCertificateInformation
EncodedCertificate :
HostnameType : Proxy
CertificatePassword :
Hostname : freecertCanary.contoso.api
KeyVaultId :
DefaultSslBinding : True
NegotiateClientCertificate : False
IdentityClientId :
CertificateStatus :
CertificateSource : Managed
此範例會將受控憑證新增至 API 管理 服務。
參數
-AsJob
在背景執行 Cmdlet
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Confirm
執行 Cmdlet 之前先提示您確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DefaultProfile
用於與 Azure 通訊的認證、帳戶、租用戶和訂用帳戶。
類型: | IAzureContextContainer |
別名: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-InputObject
ApiManagement 實例。
類型: | PsApiManagement |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-PassThru
如果作業成功,將更新的 PsApiManagement 傳送至管線。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SystemAssignedIdentity
產生並指派此伺服器的 Azure Active Directory 身分識別,以搭配 Azure KeyVault 等密鑰管理服務使用。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-UserAssignedIdentity
將使用者身分識別指派給此伺服器,以便與 Azure KeyVault 等金鑰管理服務搭配使用。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |