You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure API Management中为Product添加策略

Azure APIM 产品(Product)策略添加操作方案

以下分别提供PowerShell、Azure CLI、Azure DevOps三种场景下的实现方式:

1. PowerShell 实现

前提:已安装Az.ApiManagement模块,操作账号对目标APIM资源有对应操作权限

  • 安装依赖模块:
Install-Module -Name Az.ApiManagement -Force -AllowClobber
  • 登录Azure并获取APIM上下文:
# 登录Azure
Connect-AzAccount
# 替换为实际资源信息获取APIM上下文
$apimContext = New-AzApiManagementContext -ResourceGroupName "<资源组名称>" -ServiceName "<APIM服务名称>"
  • 为指定产品添加策略,支持直接传入策略内容或者读取本地XML文件:
# 方式1:直接传入策略XML内容
Set-AzApiManagementProductPolicy -Context $apimContext -ProductId "<目标产品ID>" -PolicyContent '<?xml version="1.0" encoding="utf-8"?>
<policies>
    <inbound>
        <base />
        <!-- 此处添加你的入站策略,比如限流、IP过滤等 -->
    </inbound>
    <backend>
        <base />
    </backend>
    <outbound>
        <base />
    </outbound>
    <on-error>
        <base />
    </on-error>
</policies>'

# 方式2:读取本地保存的策略XML文件
Set-AzApiManagementProductPolicy -Context $apimContext -ProductId "<目标产品ID>" -PolicyFilePath "C:\path\to\your\policy.xml"

注意:替换所有尖括号包裹的占位符为你的实际资源信息

2. Azure CLI 实现

前提:已安装Azure CLI,操作账号已完成Azure登录

  • 执行产品策略添加命令,支持读取本地文件或者直接传入策略内容:
# 先登录Azure
az login

# 方式1:读取本地策略XML文件,@后面接本地文件路径
az apim product policy create --resource-group <资源组名称> --service-name <APIM服务名称> --product-id <目标产品ID> --value "@/path/to/your/policy.xml"

# 方式2:直接传入策略XML内容
az apim product policy create --resource-group <资源组名称> --service-name <APIM服务名称> --product-id <目标产品ID> --value '<?xml version="1.0" encoding="utf-8"?>
<policies>
    <inbound>
        <rate-limit-by-key calls="100" renewal-period="60" counter-key="@(context.Request.IpAddress)" />
    </inbound>
</policies>'

如果是在非交互环境执行,可通过服务主体登录Azure CLI,无需手动输入账号信息

3. Azure DevOps 实现

推荐使用基础设施即代码的方式管理,操作步骤如下:

  • 提前将APIM产品策略XML文件上传到你的代码仓库中,和流水线定义一起做版本管理
  • 在Azure DevOps项目中配置有权限操作目标APIM资源的Azure服务连接,权限需至少为API管理贡献者
  • 编辑发布/构建流水线,添加「Azure CLI」任务,选择你配置好的服务连接,在脚本框中填入上面Azure CLI的操作命令,所有敏感/可变参数使用DevOps流水线变量管理,避免硬编码
  • 如果你习惯用ARM/Bicep模板部署,可在模板中定义Microsoft.ApiManagement/service/products/policies类型的资源,把策略内容直接写在模板中,流水线添加「ARM模板部署」任务执行发布即可,这种方式更适合多环境批量部署的场景

内容的提问来源于stack exchange,提问作者Madhu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 03:24:03