我正在尝试以编程方式(如果可能,通过Azure资源管理器)在特定资源组中创建APIM服务。目标是我们可以拥有一个参数化的模板或脚本,并且可以将其检入源代码控制中,以便我们可以复制和重新创建我们的环境。
ARM文档页面中的This table表示是,为APIM启用了资源管理器,但Quickstart Templates link找不到Microsoft.ApiManagement资源类型的示例模板。然而,这可能仅仅意味着没有人为画廊贡献模板,而且我必须自己编写模板。
至于编写我自己的ARM模板,article that walks you through authoring a Resource Manager template说:
要了解有关资源提供者的更多信息,请参阅Resource Manager providers, regions, API versions and schemas
...链接回与我的&#34相同的页面;此表"上面的文字。 "创作模板的相同部分"文章还说:
[属性]资源特定的配置设置。属性的值与您在REST API操作(PUT方法)的请求主体中为创建资源所提供的值完全相同。有关资源架构文档或REST API的链接,请参阅Resource Manager providers, regions, API versions and schemas。
...再次链接回上面的同一页面。
我已经检查了APIM REST API和azure-resource-manager-schemas页面,以获取有关如何创建APIM实例的文档。
是否可以通过编程方式创建API Management服务,如果是,如何创建?
答案 0 :(得分:4)
是的,可以使用Azure Powershell 1.0命令行开关https://azure.microsoft.com/en-us/documentation/articles/powershell-install-configure/以编程方式创建ApiManagement服务。下面是可以帮助您实现它的命令行开关。
PS C:\WINDOWS\system32> get-help New-AzureRmApiManagement -example
NAME
New-AzureRmApiManagement
SYNOPSIS
Creates an API Management deployment.
SYNTAX
New-AzureRmApiManagement [-Capacity [<Int32>]] [-Sku [<PsApiManagementSku>]] [-Tags [<0, Culture=neutral,
PublicKeyToken=b77a5c561934e089>]] -AdminEmail <String> -Location {North Central US | South Central US | Central
US | West Europe | North Europe | West US | East US | East US 2 | Japan East | Japan West | Brazil South |
Southeast Asia | East Asia | Australia East | Australia Southeast} -Name <String> -Organization <String>
-ResourceGroupName <String> [<CommonParameters>]
Example 1: Create at Developer tier API Management service
PS C:\>New-AzureRmApiManagement -ResourceGroupName "ContosoGroup02" -Name "ContosoApi" -Location "Central US"
-Organization "Contoso" -AdminEmail "admin@contoso.com"
This command creates a Developer tier API Management service. The command specifies the organization and the
administrator address. The command does not specify the SKU parameter. Therefore, the cmdlet uses the default
value of Developer.
Example 2: Create a Standard tier service that has three units
PS C:\>New-AzureRmApiManagement -ResourceGroupName "ContosoGroup02 -Name "ContosoApi" -Location "Central US"
-Organization "Contoso" -AdminEmail "admin@contoso.com" -Sku Standard -Capacity 3
This command creates a Standard tier API Management service that has three units.
您可以使用
找到其他命令行开关 get-Help AzureRmApiManagement
可在此处找到命令行开关的完整文档 https://msdn.microsoft.com/en-us/library/mt619282.aspx
答案 1 :(得分:0)
您现在可以使用GitHub中的quickstart API Management Service ARM template 。
答案 2 :(得分:0)
New-AzureRmApiManagement
可用于创建APIM实例。但是配置APIM实例需要时间,通常需要20到30分钟。如果必须创建多个实例,为了节省时间,最好使用Azure自动化Runbook执行此操作,并并行运行此命令。 Here就是一个例子。