Azure 资源组管理 API 参考
用于查询、注册/修改、删除项目(CSN)与 Azure 资源组(RG)映射的 API 详细规范。这些 API 与页面功能 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. 查询映射列表 — AzureRgList → pApiAzureRgListbyAK
查询当前用户可访问 CSN 的 RG 映射列表。
- text:
AzureRgList csn - jsondata:
{ "csn": <CSN> }(省略则为用户所属的全部 CSN) - 返回:
carSn, cSn, carResourceGroup, carSubscriptionId, carSubscriptionName, carLSsn, carNote, carStatus, carRegdt的行列表,无权限时为Proc_MSG='403|...'
2. 注册/修改映射 — AzureRgPut → pApiAzureRgPutbyAK
注册新映射或修改已有映射(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_MSG200|OK/400|.../403|.../404|Not found
3. 删除映射 — AzureRgDel → pApiAzureRgDelbyAK
按 carSn 删除一条映射。
- text:
AzureRgDel carSn - jsondata:
{ "carSn": <carSn> } - 返回:
Proc_MSG200|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) | 务必包含 csn 与 carResourceGroup |
| 意外更新了已有映射 | 未带 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
相关文档: