1

我试图弄清楚如何从脚本创建 API 管理资源和 API 管理 API。我相信有两种选择:

.

  1. 使用 AzureRm.ApiManagement 中的 powershell Management api

    为此,我相信要使用的两个命令是:

    新AzureRmapiManagement

    新AzureRmapiManagementApi

.

  1. 使用管理 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 资源的名称和 devlab 的名称以在其下创建它并创建它,然后在其下创建一个与产品无关(或与无限制的默认产品关联)的 api。 ..哪个更容易)。

任何人都可以帮助使用 powershell 脚本来执行此操作吗?

谢谢。

4

1 回答 1

2

当您运行命令“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命令的更多细节,请参考文档

于 2019-08-13T23:22:17.567 回答