API ํƒ์ƒ‰๊ธฐ ์‚ฌ์šฉ

์ด ํŽ˜์ด์ง€์—์„œ๋Š” API ํƒ์ƒ‰๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Dataproc Metastore API ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. API ํƒ์ƒ‰๊ธฐ๋Š” ๋ฉ”์„œ๋“œ์˜ REST API ์ฐธ์กฐ ํŽ˜์ด์ง€์— ์—ฐ๊ฒฐ๋œ ์œ„์ ฏ์ž…๋‹ˆ๋‹ค. API ์‚ฌ์šฉํ•ด ๋ณด๊ธฐ๋ผ๋Š” ์ œ๋ชฉ์˜ ํŒจ๋„๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

API ํƒ์ƒ‰๊ธฐ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ํ•„์š” ์—†์ด Dataproc Metastore API์—์„œ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์œ„์ ฏ์€ ๊ฐ ๋ฉ”์„œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์–‘์‹์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์–‘์‹์„ ์ž‘์„ฑํ•˜๊ณ  ์‹คํ–‰์„ ํด๋ฆญํ•œ ๋‹ค์Œ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

ํŒจ๋„ ์œ„์—์„œ ๋‹ซ๊ธฐ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์œ„์ ฏ์„ ์ˆจ๊ธฐ๊ฑฐ๋‚˜ ์ „์ฒด ํ™”๋ฉด ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์ „์ฒด ํ™”๋ฉด์œผ๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Enable the Dataproc Metastore API.

    Enable the API

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Enable the Dataproc Metastore API.

    Enable the API

  6. API ํƒ์ƒ‰๊ธฐ์— ์•ก์„ธ์Šค

    API ํƒ์ƒ‰๊ธฐ๋Š” ๊ฐ REST API ๋ฉ”์„œ๋“œ์˜ ์ฐธ์กฐ ํŽ˜์ด์ง€์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์œ„์ ฏ์„ ์ฐพ์œผ๋ ค๋ฉด Dataproc Metastore projects.locations.services.create ์ฐธ์กฐ ํŽ˜์ด์ง€์™€ ๊ฐ™์€ ๋ฉ”์„œ๋“œ์˜ ์ฐธ์กฐ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์ตœ์†Œ ์š”์ฒญ ์‹คํ–‰

    ๋Œ€๋ถ€๋ถ„์˜ ๋ฉ”์„œ๋“œ์—๋Š” ํ•„์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์ผ๋ถ€ ์„ ํƒ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์ฑ„์›Œ์งˆ ๋•Œ๊นŒ์ง€ ๋นจ๊ฐ„์ƒ‰ ๋ง‰๋Œ€๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํ•„์ˆ˜ ์ธ์ˆ˜๋งŒ ์ œ๊ณตํ•˜์—ฌ ์ตœ์†Œ ์š”์ฒญ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    services.create ๋ฉ”์„œ๋“œ๋Š” ์„ ํƒํ•œ ํ”„๋กœ์ ํŠธ ๋ฐ ์œ„์น˜์— Dataproc Metastore ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํ•„์ˆ˜ ํ•„๋“œ๋Š” parent ๋ฐ serviceId ํ•„๋“œ์ž…๋‹ˆ๋‹ค. ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด projects/{projectNumber}/locations/{locationId} ์–‘์‹์„ ์‚ฌ์šฉํ•ด์„œ parent์— ๋Œ€ํ•ด ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ๋ฒˆํ˜ธ ๋ฐ ์œ„์น˜ ID๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. serviceId์— ๋Œ€ํ•ด ์„œ๋น„์Šค ID๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

    ์‚ฌ์šฉํ•ด ๋ณด๊ธฐ

    ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ๊ฒฐ๊ณผ๋Š” ์‹คํ–‰ ๋ฒ„ํŠผ ์•„๋ž˜์˜ ์ƒ์ž์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ์ž์—๋Š” HTTP ์ƒํƒœ ์ฝ”๋“œ 200์ด ์žˆ๋Š” ๋…น์ƒ‰ ํ—ค๋”๊ฐ€ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์š”์ฒญ์ด ์„ฑ๊ณตํ–ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

    ํ—ค๋”๊ฐ€ ๋นจ๊ฐ„์ƒ‰์ด๊ณ  ํ—ค๋”์— HTTP ์‹คํŒจ ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ ๊ฒฝ์šฐ ์ƒ์ž์— ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ํ•ด๊ฒฐ์— ๋Œ€ํ•œ ๋„์›€๋ง์€ ๋„์›€๋ง์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    ์ถ”๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ œ๊ณต

    ํ‘œ์‹œ๋˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก์€ API ํƒ์ƒ‰๊ธฐ ์œ„์ ฏ์ด ์—ฐ๊ฒฐ๋œ ๋ฉ”์„œ๋“œ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. services.create ๋ฉ”์„œ๋“œ์— ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋” ์žˆ์ง€๋งŒ ํ•„์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” parent ๋ฐ serviceId๋ฟ์ž…๋‹ˆ๋‹ค.

    ์„œ๋ฒ„์—์„œ ์™„๋ฃŒ๋œ ์š”์ฒญ์ด ๋ฌด์‹œ๋˜๋„๋ก ์„ ํƒ์‚ฌํ•ญ์ธ requestId ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ ์œ ํ•œ ์š”์ฒญ ID๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ ์ถœ๋ ฅ ์ œํ•œ

    ๊ธฐ๋ณธ์ ์œผ๋กœ API ํƒ์ƒ‰๊ธฐ์— ํ‘œ์‹œ๋˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜ ์ง‘ํ•ฉ์€ ์—ฐ๊ฒฐ๋œ ๋ฉ”์„œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ API ํƒ์ƒ‰๊ธฐ ์œ„์ ฏ์—๋Š” ๋ฉ”์„œ๋“œ ์ž์ฒด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ์ถ”๊ฐ€ ํ•„๋“œ ์ง‘ํ•ฉ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ด๋Ÿฌํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ‘œ์ค€ ๋งค๊ฐœ๋ณ€์ˆ˜ ํ‘œ์‹œ ์ „ํ™˜์— ์ˆจ๊ฒจ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ด ์ „ํ™˜์„ ํด๋ฆญํ•˜์—ฌ ์ถ”๊ฐ€ ์œ„์ ฏ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋…ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์ค€ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ˆจ๊ธฐ๊ธฐ๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋ณด๊ธฐ์—์„œ ์ˆจ๊น๋‹ˆ๋‹ค.

    ์ด๋Ÿฌํ•œ ํ‘œ์ค€ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐ€์žฅ ์œ ์šฉํ•œ ๋ฐฉ๋ฒ•์€ fields ๋งค๊ฐœ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. ์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ˜ํ™˜๋œ ์ถœ๋ ฅ์˜ ํ•„๋“œ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ƒ์ž์— ์ถœ๋ ฅ์ด ํ‘œ์‹œ๋˜๋Š” API ํƒ์ƒ‰๊ธฐ ํŒจ๋„์—์„œ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋กคํ•ด์•ผ ํ•  ์ถœ๋ ฅ์€ ์ข…์ข… ๋งŽ์Šต๋‹ˆ๋‹ค.

    ํŒ

    ๋‹ค์Œ ์„น์…˜์—๋Š” API ํƒ์ƒ‰๊ธฐ ๋„์›€๋ง์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

    {projectNumber} and {locationId} ๋ฐ˜๋“œ์‹œ ๋ณ€๊ฒฝ

    {projectNumber} and {locationId}๋ฅผ ํ”„๋กœ์ ํŠธ ๋ฒˆํ˜ธ ๋ฐ ์œ„์น˜ ID๋กœ ๋ฐ”๊ฟ”์•ผ ํ•ฉ๋‹ˆ๋‹ค. API์—์„œ ๋ฒˆํ˜ธ ๋Œ€์‹  ํ”„๋กœ์ ํŠธ ID๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๊ฐ’ ๊ด€๋ จ ๋ฌธ์ œ

    ๋‹ค์Œ์€ API ํƒ์ƒ‰๊ธฐ ์–‘์‹์„ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹ค์ˆ˜๋กœ ์ธํ•ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ์ˆ˜๋ฝ๋  ์ˆ˜ ์žˆ์ง€๋งŒ API ๋ฉ”์„œ๋“œ์—์„œ ์ฒ ์ž ์˜ค๋ฅ˜๋กœ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์–ด๋– ํ•œ ์œ ํ˜•์˜ ํ•„๋“œ ๊ฐ’๋„ ๋”ฐ์˜ดํ‘œ๋กœ ๋ฌถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    • ํ•„ํ„ฐ ์•ˆ์— ํ‘œ์‹œ๋˜๋Š” ๋ฌธ์ž์—ด์„ ๋”ฐ์˜ดํ‘œ๋กœ ๋ฌถ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•„ํฌ์ŠคํŠธ๋กœํ”ผ(') ๋Œ€์‹  ํฐ ๋”ฐ์˜ดํ‘œ(")๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • ์–‘์‹ ํ•„๋“œ์— ๋ฐฑ์Šฌ๋ž˜์‹œ ๋˜๋Š” URL ์ธ์ฝ”๋”ฉ์„ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ํ•„๋“œ ๊ฐ’์— ๋Œ€ํ•ด URL ์ธ์ฝ”๋”ฉ์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.
    • ํ˜ธ์ถœ์„ ์‹คํ–‰ํ•œ ํ›„ ๊ฒฐ๊ณผ ์ƒ์ž์˜ ๊ฐ’์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • pageSize ํ•„๋“œ์˜ ๊ฐ’(์˜ˆ: 2)์„ ์ œ๊ณตํ•˜์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด API ํ˜ธ์ถœ์„ ๋””๋ฒ„๊ทธํ•  ๋•Œ ๋ฐ˜ํ™˜๋˜๋Š” ๋ฐ์ดํ„ฐ ์–‘์ด ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.

    ๋””๋ฒ„๊น…์„ ์œ„ํ•œ URL ๋ถ๋งˆํฌ

    ์›ํ•˜๋Š” ์ถœ๋ ฅ์„ ์–ป์œผ๋ฉด API ํƒ์ƒ‰๊ธฐ URL์„ ๋ถ๋งˆํฌ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๋ธŒ๋ผ์šฐ์ €์— ์ด URL์„ ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค. ๊ฐ’์ด ์ด๋ฏธ ์ฑ„์›Œ์ง„ ์–‘์‹์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ•„์š”ํ•œ ๋Œ€๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹คํ–‰์„ ํด๋ฆญํ•˜์—ฌ ๋ฉ”์„œ๋“œ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    ์ธ์ฆ

    API ํƒ์ƒ‰๊ธฐ ํŽ˜์ด์ง€์˜ ์‹คํ–‰ ๋ฒ„ํŠผ ์œ„์— ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์„น์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์—ฌ๊ธฐ์—์„œ ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

    ๊ธฐ๋ณธ ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ Google OAuth 2.0์ž…๋‹ˆ๋‹ค.

    ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์„น์…˜์— ๋ฒ”์œ„ ํ‘œ์‹œ ์ „ํ™˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ Compute Engine ๋ฒ”์œ„๊ฐ€ ํ‘œ์‹œ๋˜๋ฉฐ, ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ฒ”์œ„๊ฐ€ ์‚ฌ์šฉ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

    ๋‹ค์Œ ๋‹จ๊ณ„