New-AzApiManagement
語法
Default (預設值)
New-AzApiManagement
-ResourceGroupName <String>
-Name <String>
-Location <String>
-Organization <String>
-AdminEmail <String>
[-Sku <string>]
[-Capacity <Int32>]
[-VpnType <PsApiManagementVpnType>]
[-VirtualNetwork <PsApiManagementVirtualNetwork>]
[-Tag <System.Collections.Generic.Dictionary`2[System.String,System.String]>]
[-AdditionalRegions <PsApiManagementRegion[]>]
[-CustomHostnameConfiguration <PsApiManagementCustomHostNameConfiguration[]>]
[-SystemCertificateConfiguration <PsApiManagementSystemCertificate[]>]
[-SslSetting <PsApiManagementSslSetting>]
[-SystemAssignedIdentity]
[-UserAssignedIdentity <String[]>]
[-EnableClientCertificate]
[-Zone <String[]>]
[-DisableGateway <Boolean>]
[-MinimalControlPlaneApiVersion <String>]
[-PublicNetworkAccess <String>]
[-PublicIpAddressId <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
New-AzApiManagement Cmdlet 會在 Azure API 管理 中建立 API 管理 部署。
範例
範例 1:建立開發人員層 API 管理 服務
New-AzApiManagement -ResourceGroupName "ContosoGroup02" -Name "ContosoApi2" -Location "Central US" -Organization "Contoso" -AdminEmail "admin@contoso.com"
PublicIPAddresses : {104.43.240.65}
PrivateIPAddresses :
Id : /subscriptions/a200340d-6b82-494d-9dbf-687ba6e33f9e/resourceGroups/ContosoGroup02/providers/Microsoft.ApiManagement/service/ContosoApi2
Name : ContosoApi2
Location : Central US
Sku : Developer
Capacity : 1
CreatedTimeUtc : 2/24/2020 10:34:12 PM
ProvisioningState : Succeeded
RuntimeUrl : https://contosoapi2.azure-api.net
RuntimeRegionalUrl : https://contosoapi2-centralus-01.regional.azure-api.net
PortalUrl : https://contosoapi2.portal.azure-api.net
DeveloperPortalUrl : https://contosoapi2.developer.azure-api.net
ManagementApiUrl : https://contosoapi2.management.azure-api.net
ScmUrl : https://contosoapi2.scm.azure-api.net
PublisherEmail : admin@contoso.com
OrganizationName : Contoso
NotificationSenderEmail : apimgmt-noreply@mail.windowsazure.com
VirtualNetwork :
VpnType : None
PortalCustomHostnameConfiguration :
ProxyCustomHostnameConfiguration : {contosoapi2.azure-api.net}
ManagementCustomHostnameConfiguration :
ScmCustomHostnameConfiguration :
DeveloperPortalHostnameConfiguration :
SystemCertificates :
Tags : {}
AdditionalRegions : {}
SslSetting : Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementSslSetting
Identity :
EnableClientCertificate :
ResourceGroupName : ContosoGroup02
此命令會建立開發人員層 API 管理 服務。
此指令會指定組織及管理員位址。
此命令不會指定 SKU 參數。
因此,Cmdlet 會使用 Developer 的預設值。
範例 2:建立具有三個單位的標準層服務
New-AzApiManagement -ResourceGroupName "ContosoGroup02" -Name "ContosoApi" -Location "Central US" -Organization "Contoso" -AdminEmail "admin@contoso.com" -Sku Standard -Capacity 3
此命令會建立具有三個單位的標準層 API 管理 服務。
範例 3:建立取用層服務
New-AzApiManagement -ResourceGroupName Api-Default-North-Europe -Name consumptionskuservice -Location 'West Europe' -Sku Consumption -Organization microsoft -AdminEmail contoso@contoso.com -SystemAssignedIdentity -EnableClientCertificate
PublicIPAddresses :
PrivateIPAddresses :
Id : /subscriptions/subid/resourceGroups/Api-Default-North-Europe/providers/Microsoft.ApiManagement/service/consumptionskuservice
Name : consumptionskuservice
Location : West Europe
Sku : Consumption
Capacity : 0
ProvisioningState : Succeeded
RuntimeUrl : https://consumptionskuservice.azure-api.net
PortalCustomHostnameConfiguration :
ProxyCustomHostnameConfiguration : {consumptionskuservice.azure-api.net}
ManagementCustomHostnameConfiguration :
ScmCustomHostnameConfiguration :
DeveloperPortalHostnameConfiguration :
SystemCertificates :
Tags : {}
AdditionalRegions : {}
SslSetting : Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementSslSetting
Identity : Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementServiceIdentity
EnableClientCertificate : True
ResourceGroupName : Api-Default-North-Europe
此命令會建立在西歐啟用用戶端憑證的取用層 API 管理 服務。
範例 4:建立 API 管理 服務並啟用 TLS 1.0 通訊協定
$enableTls=@{"Tls10" = "True"}
$sslSetting = New-AzApiManagementSslSetting -FrontendProtocol $enableTls -BackendProtocol $enableTls
New-AzApiManagement -ResourceGroupName Api-Default-CentralUS -Name "testtlspowershell" -Sku Standard -Location "CentralUS" -Organization "Microsoft" -AdminEmail "bar@contoso.com" -SslSetting $sslSetting
PublicIPAddresses : {23.99.140.18}
PrivateIPAddresses :
Id : /subscriptions/subid/resourceGroups/Api-Default-CentralUS/providers/Microsoft.ApiManagement/service/testtlspowershell
Name : testtlspowershell
Location : Central US
Sku : Standard
Capacity : 1
ProvisioningState : Succeeded
RuntimeUrl : https://testtlspowershell.azure-api.net
RuntimeRegionalUrl : https://testtlspowershell-centralus-01.regional.azure-api.net
PortalUrl : https://testtlspowershell.portal.azure-api.net
ManagementApiUrl : https://testtlspowershell.management.azure-api.net
ScmUrl : https://testtlspowershell.scm.azure-api.net
PublisherEmail : bar@contoso.com
OrganizationName : Microsoft
NotificationSenderEmail : apimgmt-noreply@mail.windowsazure.com
VirtualNetwork :
VpnType : None
PortalCustomHostnameConfiguration :
ProxyCustomHostnameConfiguration : {testtlspowershell.azure-api.net}
ManagementCustomHostnameConfiguration :
ScmCustomHostnameConfiguration :
DeveloperPortalHostnameConfiguration :
SystemCertificates :
Tags : {}
AdditionalRegions : {}
SslSetting : Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementSslSetting
Identity :
EnableClientCertificate :
ResourceGroupName : Api-Default-CentralUS
此命令會建立標準 SKU Api 管理服務,並在前端用戶端上啟用 TLS 1.0,以在 ApiManagement 閘道和後端之間的 ApiManagement 閘道和後端用戶端。
範例 5:在可用性區域中建立 API 管理 服務
New-AzApiManagement -ResourceGroupName "contoso-rg" -Name "apim-test-pshell-azs" -Location "Central US" -Organization "Contoso" -AdminEmail "admin@contoso.com" -Sku Premium -Capacity 3 -Zone @("1","2","3")
PublicIPAddresses : {52.238.252.170}
PrivateIPAddresses :
Id : /subscriptions/aa7def4e-6bcd-4b28-b8d5-7613a618e753/resourceGroups/contoso-rg/providers/Microsoft.ApiManagement/service/apim-test-pshell-azs
Name : apim-test-pshell-azs
Location : Central US
Sku : Premium
Capacity : 3
CreatedTimeUtc : 7/30/2021 7:47:12 PM
ProvisioningState : Succeeded
RuntimeUrl : https://apim-test-pshell-azs.azure-api.net
RuntimeRegionalUrl : https://apim-test-pshell-azs-centralus-01.regional.azure-api.net
PortalUrl : https://apim-test-pshell-azs.portal.azure-api.net
DeveloperPortalUrl : https://apim-test-pshell-azs.developer.azure-api.net
ManagementApiUrl : https://apim-test-pshell-azs.management.azure-api.net
ScmUrl : https://apim-test-pshell-azs.scm.azure-api.net
PublisherEmail : admin@contoso.com
OrganizationName : Contoso
NotificationSenderEmail : apimgmt-noreply@mail.windowsazure.com
VirtualNetwork :
VpnType : None
PortalCustomHostnameConfiguration :
ProxyCustomHostnameConfiguration : {apim-test-pshell-azs.azure-api.net}
ManagementCustomHostnameConfiguration :
ScmCustomHostnameConfiguration :
DeveloperPortalHostnameConfiguration :
SystemCertificates :
Tags : {}
AdditionalRegions : {}
SslSetting : Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementSslSetting
Identity :
EnableClientCertificate :
Zone : {1, 2, 3}
DisableGateway : False
MinimalControlPlaneApiVersion :
ResourceGroupName : contoso-rg
此命令會在區域中建立進階 SKU API 管理服務
範例 6:使用 Stv2 以內部模式將 API 管理 服務建立至虛擬網路
$virtualNetwork = New-AzApiManagementVirtualNetwork -SubnetResourceId "/subscriptions/4f5285a3-9fd7-40ad-91b1-d8fc3823983d/resourceGroups/contosogroup/providers/Microsoft.Network/virtualNetworks/apimvnet/subnets/ps"
$publicIpAddressId = "/subscriptions/4f5285a3-9fd7-40ad-91b1-d8fc3823983d/resourceGroups/contosogroup/providers/Microsoft.Network/publicIPAddresses/apim-external-vnet-ipv4"
New-AzApiManagement -ResourceGroupName "contosogroup" -Location "West US2" -Name "pstestinternalvnet2" -Organization "Contoso" -AdminEmail "admin@contoso.com" -VirtualNetwork $virtualNetwork -VpnType "Internal" -Sku "Premium" -PublicIpAddressId $publicIpAddressId
PublicIPAddresses : {20.99.249.73}
PrivateIPAddresses : {10.0.2.4}
Id : /subscriptions/4f5285a3-9fd7-40ad-91b1-d8fc3823983d/resourceGroups/contosogroup/providers/Microsoft.ApiManagement/service/pstestinternalvnet2
Name : pstestinternalvnet2
Location : West US 2
Sku : Premium
Capacity : 1
CreatedTimeUtc : 3/24/2022 11:09:57 PM
ProvisioningState : Succeeded
RuntimeUrl : https://pstestinternalvnet2.azure-api.net
RuntimeRegionalUrl : https://pstestinternalvnet2-westus2-01.regional.azure-api.net
PortalUrl : https://pstestinternalvnet2.portal.azure-api.net
DeveloperPortalUrl : https://pstestinternalvnet2.developer.azure-api.net
ManagementApiUrl : https://pstestinternalvnet2.management.azure-api.net
ScmUrl : https://pstestinternalvnet2.scm.azure-api.net
PublisherEmail : admin@contoso.com
OrganizationName : Contoso
NotificationSenderEmail : apimgmt-noreply@mail.windowsazure.com
VirtualNetwork : Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementVirtualNetwork
VpnType : Internal
PortalCustomHostnameConfiguration :
ProxyCustomHostnameConfiguration : {pstestinternalvnet2.azure-api.net}
ManagementCustomHostnameConfiguration :
ScmCustomHostnameConfiguration :
DeveloperPortalHostnameConfiguration :
SystemCertificates :
Tags : {}
AdditionalRegions : {}
SslSetting : Microsoft.Azure.Commands.ApiManagement.Models.PsApiManagementSslSetting
Identity :
EnableClientCertificate :
Zone :
DisableGateway :
MinimalControlPlaneApiVersion :
PublicIpAddressId : /subscriptions/4f5285a3-9fd7-40ad-91b1-d8fc3823983d/resourceGroups/contosogroup/providers/Microsoft.Network/publicIPAddresses/apim-external-vnet-ipv4
PlatformVersion : stv2
PublicNetworkAccess : Enabled
PrivateEndpointConnections :
ResourceGroupName : contosogroup
Cmdlet 會使用 stv2 平台版本將 API 管理 服務部署至虛擬網路。
範例 7:建立 Stv1 外部虛擬網路的 API 管理 服務
$virtualNetwork = New-AzApiManagementVirtualNetwork -SubnetResourceId "/subscriptions/a8ff56dc-3bc7-4174-b1e8-3726ab15d0e2/resourceGroups/ContosoGroup/providers/Microsoft.Network/virtualNetworks/westUsVirtualNetwork/subnets/backendSubnet"
New-AzApiManagement -ResourceGroupName "ContosoGroup" -Location "West US" -Name "ContosoApi" -Organization Contoso -AdminEmail admin@contoso.com -VirtualNetwork $virtualNetwork -VpnType "External" -Sku "Premium"
此命令會在 Azure 虛擬網路子網路中建立進階層 API 管理 服務,該子網路具有對向閘道端點,其主要區域位於 stv1 模型中的美國西部
參數
-AdditionalRegions
Azure API 管理 的其他部署區域。
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-AdminEmail
指定 API 管理 系統傳送之所有通知的原始電子郵件地址。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Capacity
指定 Azure API 管理 服務的 SKU 容量。
預設值為一 (1)。
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-CustomHostnameConfiguration
自訂主機名稱組態。 預設值為 $null。 傳遞$null將設定預設主機名稱。
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-DefaultProfile
用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-DisableGateway
旗標僅適用於進階 SKU ApiManagement 服務和非內部 VNET 部署。 如果我們想要將閘道區域從輪換中移除,這很有用。 這也可用於在被動模式下建立新區域,對其進行測試,然後稍後將其上線。
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-EnableClientCertificate
旗標僅用於取用 SKU ApiManagement 服務。 這會強制在閘道的每個要求上顯示客戶端憑證。 這也可讓您在閘道的原則中驗證憑證。
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Location
指定建立 Api 管理 服務的位置。
若要取得有效位置,請使用 Cmdlet Get-AzResourceProvider -ProviderNamespace 「Microsoft.ApiManagement」 |其中 {$_.ResourceTypes[0] 的 ResourceTypes[0]。ResourceTypeName -eq “service”} |Select-Object 地點
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-MinimalControlPlaneApiVersion
最低控制平面 API 版本,以允許管理 API 管理 服務。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Name
指定 API 管理 部署的名稱。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Organization
指定組織的名稱。
API 管理 會在電子郵件通知的開發人員入口網站中使用此位址。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-PublicIpAddressId
標準 SKU PublicIpAddress ResourceId,用於整合至 stv2 虛擬網路部署
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-PublicNetworkAccess
是否允許此服務使用公用端點存取。可能的值包括:「已啟用」、「已停用」
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-ResourceGroupName
指定此 Cmdlet 建立 API 管理 部署的資源群組名稱。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Sku
Azure API 管理 服務的層。
有效值為 Developer、Basic、Standard、Premium 和 Consumption。
預設值為 Developer。
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-SslSetting
ApiManagement 服務的 ssl 設定。 預設值為 $null
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-SystemAssignedIdentity
產生並指派此伺服器的 Azure Active Directory 身分識別,以搭配 Azure KeyVault 等密鑰管理服務使用。
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-SystemCertificateConfiguration
內部 CA 核發的憑證要安裝在服務上。 預設值為 $null。
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Tag
標籤字典。
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-UserAssignedIdentity
將使用者身分識別指派給此伺服器,以搭配 Azure KeyVault 等金鑰管理服務使用。
參數屬性
| 類型: | String[]
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-VirtualNetwork
主要 Azure API 管理 部署區域的虛擬網路設定。
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-VpnType
ApiManagement 部署的虛擬網路類型。 有效值為
- “None” (預設值。ApiManagement 不是任何虛擬網路的一部分」)
- 「外部」 (ApiManagement 部署是在具有因特網對向端點的虛擬網路內設定)
- 「內部」 (ApiManagement 部署是在具有內部網路對向端點的虛擬網路內設定)
參數屬性
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Zone
可用性區域清單,指出 API 管理服務的部署位置。
參數屬性
| 類型: | String[]
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸出