如何创建 Powershell 脚本来创建 Azure API 管理资源
How to Create a Powershell Script to Create Azure API Management Resource
我正在尝试找出如何从脚本创建 API 管理资源和 API 管理 API。我相信有两种选择:
.
使用 AzureRm.ApiManagement
中的 powershell 管理 api
为此,我相信要使用的两个命令是:
新 AzureRmApiManagement
New-AzureRmApiManagementApi
。
使用管理 REST API
为此,我认为要创建资源,您需要使用第一个选项,然后可以使用以下方法和 Invoke-RestMethod powershell 命令:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}?api-version=2019-01-01
.
我只想传递新管理 api 资源的名称和开发实验室的名称以在其下创建它并创建它,然后在其下创建一个 api 不是与产品相关联(或与无限默认产品相关联...以更容易的为准)。
任何人都可以帮助 powershell 脚本来做到这一点吗?
谢谢。
当您运行命令"New-AzureRmApiManagementApi"时,您只是创建了一个api并且api不会被添加到产品中。您需要 运行 命令 "Add-AzureRmApiManagementApiToProduct" 才能将 api 添加到产品中。我的脚本如下
$ResourceGroupName=""
$sku=""
$name=""
$Location=""
$Organization=""
$AdminEmail=""
$apiName=" #the name of the web API."
$url="" #the URL of the web service that exposes the API.
$path="" #the web API path, which is the last part of the API's public URL and corresponds to the Web API URL suffix field in the admin portal.
#login azure
Connect-AzureRmAccount
#create api management instance with required parameters
New-AzureRmApiManagement -ResourceGroupName $ResourceGroupName -Name $name -Sku $sku -Location $Location -Organization $Organization -AdminEmail $AdminEmail
$ApiMgmtContext =New-AzureRmApiManagementContext -ResourceGroupName $ResourceGroupName -ServiceName $name
#create api
$api = New-AzureRmApiManagementApi -Context $ApiMgmtContext -Name $apiName -ServiceUrl $url -Protocols @("http", "https") -Path $path
#run the command if you do not know product id
Get-AzureRmApiManagementProduct -Context $ApiMgmtContext
#add api to product
Add-AzApiManagementApiToProduct -Context $ApiMgmtContext -ProductId "" -ApiId $api.ApiId
有关Azure API 管理powershell 命令的更多详细信息,请参阅document
我正在尝试找出如何从脚本创建 API 管理资源和 API 管理 API。我相信有两种选择:
.
使用 AzureRm.ApiManagement
中的 powershell 管理 api为此,我相信要使用的两个命令是:
新 AzureRmApiManagement
New-AzureRmApiManagementApi
。
使用管理 REST API
为此,我认为要创建资源,您需要使用第一个选项,然后可以使用以下方法和 Invoke-RestMethod powershell 命令:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}?api-version=2019-01-01
.
我只想传递新管理 api 资源的名称和开发实验室的名称以在其下创建它并创建它,然后在其下创建一个 api 不是与产品相关联(或与无限默认产品相关联...以更容易的为准)。
任何人都可以帮助 powershell 脚本来做到这一点吗?
谢谢。
当您运行命令"New-AzureRmApiManagementApi"时,您只是创建了一个api并且api不会被添加到产品中。您需要 运行 命令 "Add-AzureRmApiManagementApiToProduct" 才能将 api 添加到产品中。我的脚本如下
$ResourceGroupName=""
$sku=""
$name=""
$Location=""
$Organization=""
$AdminEmail=""
$apiName=" #the name of the web API."
$url="" #the URL of the web service that exposes the API.
$path="" #the web API path, which is the last part of the API's public URL and corresponds to the Web API URL suffix field in the admin portal.
#login azure
Connect-AzureRmAccount
#create api management instance with required parameters
New-AzureRmApiManagement -ResourceGroupName $ResourceGroupName -Name $name -Sku $sku -Location $Location -Organization $Organization -AdminEmail $AdminEmail
$ApiMgmtContext =New-AzureRmApiManagementContext -ResourceGroupName $ResourceGroupName -ServiceName $name
#create api
$api = New-AzureRmApiManagementApi -Context $ApiMgmtContext -Name $apiName -ServiceUrl $url -Protocols @("http", "https") -Path $path
#run the command if you do not know product id
Get-AzureRmApiManagementProduct -Context $ApiMgmtContext
#add api to product
Add-AzApiManagementApiToProduct -Context $ApiMgmtContext -ProductId "" -ApiId $api.ApiId
有关Azure API 管理powershell 命令的更多详细信息,请参阅document