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-TW.md
相關文件: