giip
SES Proposal
2 min read

Azure ๋ฆฌ์†Œ์Šค ๊ทธ๋ฃน ๊ด€๋ฆฌ API ๋ ˆํผ๋Ÿฐ์Šค

ํ”„๋กœ์ ํŠธ(CSN)์™€ Azure ๋ฆฌ์†Œ์Šค ๊ทธ๋ฃน(RG)์˜ ๋งคํ•‘์„ ์กฐํšŒยท๋“ฑ๋ก/์ˆ˜์ •ยท์‚ญ์ œํ•˜๋Š” API ์ƒ์„ธ ๋ช…์„ธ์ž…๋‹ˆ๋‹ค. ํ™”๋ฉด ๊ธฐ๋Šฅ Azure ๋ฆฌ์†Œ์Šค ๊ทธ๋ฃน ๊ด€๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ 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_MSG 200|OK / 400|... / 403|... / 404|Not found

3. ๋งคํ•‘ ์‚ญ์ œ โ€” AzureRgDel โ†’ pApiAzureRgDelbyAK

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๋Š” SP 3์ข…(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 ๋”ฐ์˜ดํ‘œ ์ด์Šค์ผ€์ดํ”„ ์˜ค๋ฅ˜jsondata ๊ฐ’์„ ์œ ํšจํ•œ JSON์œผ๋กœ ์ด์Šค์ผ€์ดํ”„ํ•˜์—ฌ ์ „์†กํ•ฉ๋‹ˆ๋‹ค
RstVal/Proc_MSG๊ฐ€ 200์ด ์•„๋‹˜ํŒŒ๋ผ๋ฏธํ„ฐ/๊ถŒํ•œ ๋ฌธ์ œAPI ๊ฒฐ๊ณผ ์ฝ”๋“œ ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ์กฐํ•ด ์›์ธ ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค

๋ฒ„์ „: 1.0 ์ตœ์ข… ์—…๋ฐ์ดํŠธ: 2026-07-24 ์†Œ์Šค ํŒŒ์ผ: giipv3/public/help/api-azure-rg.ko.md


๊ด€๋ จ ๋ฌธ์„œ: