다음을 통해 공유


Set-AzApiManagement

Azure Api Management 서비스 업데이트

Syntax

Set-AzApiManagement
   -InputObject <PsApiManagement>
   [-SystemAssignedIdentity]
   [-UserAssignedIdentity <String[]>]
   [-AsJob]
   [-PassThru]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Set-AzApiManagement cmdlet은 Azure API Management 서비스를 업데이트합니다.

예제

예제 1: API Management 서비스 가져오기 및 프리미엄으로 확장 및 지역 추가

$apim = Get-AzApiManagement -ResourceGroupName "ContosoGroup" -Name "ContosoApi"
$apim.Sku = "Premium"
$apim.Capacity = 5
$apim.AddRegion("Central US", "Premium", 3)
Set-AzApiManagement -InputObject $apim

이 예제에서는 Api Management 인스턴스를 가져오고, 5개의 프리미엄 단위로 확장한 다음, 프리미엄 지역에 3개 단위를 더 추가합니다.

예제 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 Management 배포를 업데이트하고 외부 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 Management 서비스에 관리되는 인증서를 추가합니다.

매개 변수

-AsJob

백그라운드에서 cmdlet 실행

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

Azure와의 통신에 사용되는 자격 증명, 계정, 테넌트 및 구독입니다.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

ApiManagement 인스턴스입니다.

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

-PassThru

작업이 성공하면 업데이트된 PsApiManagement를 파이프라인으로 보냅니다.

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

-SystemAssignedIdentity

Azure KeyVault와 같은 키 관리 서비스에 사용할 이 서버에 대한 Azure Active Directory ID를 생성하고 할당합니다.

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

-UserAssignedIdentity

Azure KeyVault와 같은 키 관리 서비스에서 사용할 사용자 ID를 이 서버에 할당합니다.

Type:String[]
Position:Named
Default value:None
Required:False
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

입력

PsApiManagement

출력

PsApiManagement