如何创建 Powershell 脚本来创建 Azure API 管理资源

How to Create a Powershell Script to Create Azure API Management Resource

我正在尝试找出如何从脚本创建 API 管理资源和 API 管理 API。我相信有两种选择:

.

  1. 使用 AzureRm.ApiManagement

    中的 powershell 管理 api

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

    新 AzureRmApiManagement

    New-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 资源的名称和开发实验室的名称以在其下创建它并创建它,然后在其下创建一个 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