giip
SES 商机登记
2分钟阅读

Azure 资源组管理 API 参考

用于查询、注册/修改、删除项目(CSN)与 Azure 资源组(RG)映射的 API 详细规范。这些 API 与页面功能 Azure 资源组管理 所使用的完全相同。

🔌 前往 Azure 资源组管理 →

📋 概述

CSN↔Azure RG 映射 API 通过 giipApi 端点以 text 命令分发。认证使用 AK(byAK):服务器先以 @ak → dbo.lwGetUSNbyat(@ak) 确定用户,再校验其对目标 CSN 的归属(tCorpUserRel/tCorpUser)。非成员将返回 403

  • 端点: POST https://giipfaw.azurewebsites.net/api/giipApi
  • Content-Type: application/x-www-form-urlencoded
  • 主要表单字段: text(命令与参数名列表)、jsondata(参数值 JSON)、认证密钥
  • 绑定规约: text 中参数名的排列顺序 = SP 参数顺序(positional),值通过 jsondata 的键匹配。

🔍 主要命令

1. 查询映射列表 — AzureRgListpApiAzureRgListbyAK

查询当前用户可访问 CSN 的 RG 映射列表。

  • text: AzureRgList csn
  • jsondata: { "csn": <CSN> }(省略则为用户所属的全部 CSN)
  • 返回: carSn, cSn, carResourceGroup, carSubscriptionId, carSubscriptionName, carLSsn, carNote, carStatus, carRegdt 的行列表,无权限时为 Proc_MSG='403|...'

2. 注册/修改映射 — AzureRgPutpApiAzureRgPutbyAK

注册新映射或修改已有映射(upsert)。

  • text: AzureRgPut csn carResourceGroup carSubscriptionId carSubscriptionName carLSsn carNote carSn
  • jsondata: { "csn":<CSN>, "carResourceGroup":"rg-...", "carSubscriptionId":"...", "carSubscriptionName":"...", "carLSsn":<lssn|null>, "carNote":"...", "carSn":<修改时指定> }
  • 规则: 指定 carSn 为 update,未指定时按 (cSn, carResourceGroup) 唯一键 upsert
  • 返回: Proc_MSG 200|OK / 400|... / 403|... / 404|Not found

3. 删除映射 — AzureRgDelpApiAzureRgDelbyAK

carSn 删除一条映射。

  • text: AzureRgDel carSn
  • jsondata: { "carSn": <carSn> }
  • 返回: Proc_MSG 200|OK / 403|... / 404|Not found

🛠️ 使用示例 (cURL)

# 1) 查询 CSN 47 的 RG 映射列表
curl -X POST "https://giipfaw.azurewebsites.net/api/giipApi" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     --data-urlencode 'text=AzureRgList csn' \
     --data-urlencode 'jsondata={"csn":47}' \
     --data-urlencode 'ak=YOUR_AK'

# 2) 注册新的 RG 映射
curl -X POST "https://giipfaw.azurewebsites.net/api/giipApi" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     --data-urlencode 'text=AzureRgPut csn carResourceGroup carSubscriptionId carSubscriptionName carLSsn carNote carSn' \
     --data-urlencode 'jsondata={"csn":47,"carResourceGroup":"rg-example-prod","carSubscriptionName":"prod-sub","carNote":"生产 RG"}' \
     --data-urlencode 'ak=YOUR_AK'

💡 注意事项

  • run.ps1 不修改原则: 上述 API 仅通过新增 3 个 SP(pApiAzureRgListbyAK/pApiAzureRgPutbyAK/pApiAzureRgDelbyAK)即可工作。受保护的 run.ps1 不做修改。
  • 同一 CSN 内 RG 名称唯一(UNIQUE(cSn, carResourceGroup))。以相同名称且不带 carSn 调用 AzureRgPut 会更新已有行。
  • carLSsn 是费用来源提示,用于 Azure 费用联动扩展(本版本提供基于映射的过滤/小计)。

故障排除

现象原因解决
返回 `Proc_MSG='403...'`调用用户不属于目标 CSN
AzureRgPut 返回 400缺少必填值(csn/carResourceGroup)务必包含 csncarResourceGroup
意外更新了已有映射未带 carSn 重复注册相同 (csn, RG)新建请用新的 RG 名称,修改请指定 carSn
jsondata 解析错误JSON 引号转义错误以有效且正确转义的 JSON 发送 jsondata
RstVal/Proc_MSG 非 200参数/权限问题参考 API 结果代码指南 查看原因代码

版本: 1.0 最后更新: 2026-07-24 源文件: giipv3/public/help/api-azure-rg.zh-CN.md


相关文档: