Snowflake Python APIs: ์ผ๋ฐ ๊ฐ๋ ยถ
Snowflake Python APIs ์ ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ธ์ ๋ฆฌ์์ค ๊ธฐ๋ฐ์ด๋ฉฐ, ์ด๋ API๊ฐ Snowflake์์ ํด๋น ์ค๋ธ์ ํธ๋ฅผ ๋ํ๋ด๋ ์ค๋ธ์ ํธ ์ธํธ๋ก ๊ตฌ์ฑ๋๋ค๋ ์๋ฏธ์ ๋๋ค. Snowflake ๋ฆฌ์์ค ์ค๋ธ์ ํธ ์ ํ์ ๋ช ๊ฐ์ง ๊ธฐ๋ณธ์ ์ธ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค
์คํค๋ง
ํ ์ด๋ธ
๋ทฐ
๊ฒฝ๊ณ
ํ์ดํ
์คํ ์ด์ง
์ฌ์ฉ์
์จ์ดํ์ฐ์ค
์ง์๋๋ ๊ฐ ๋ฆฌ์์ค์ ๋ํด Python API ์์๋ ์ค๋ธ์ ํธ๋ฅผ ์์ฑํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ธ ๊ฐ์ง ํด๋์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ง์
์ : Root
์ค๋ธ์ ํธยถ
Root
์ค๋ธ์ ํธ๋ Python API์ ์ง์
์ ์
๋๋ค. ์คํ๋ Snowflake ์ปจํ
์คํธ๋ก ๊ตฌ์ฑ๋ Root
์ธ์คํด์ค๋ฅผ ์์ฑํ๋ ค๋ฉด Python Connector Connection
์ค๋ธ์ ํธ ๋๋ Snowpark Session
์ค๋ธ์ ํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ค์ ์ฝ๋๋ ์ด๋ฆ์ด my_connection
์ธ Connection
์ค๋ธ์ ํธ๋ก Root
์ค๋ธ์ ํธ๋ฅผ ์ธ์คํด์คํํฉ๋๋ค.
from snowflake.core import Root
root = Root(my_connection)
Session
์ค๋ธ์ ํธ๋ก Root
์ค๋ธ์ ํธ๋ฅผ ์ธ์คํด์คํํ ์๋ ์์ต๋๋ค. ๋
ธํธ๋ถ ํ๊ฒฝ ๋๋ ์ ์ฅ ํ๋ก์์ ์์๋ ๋ค์๊ณผ ๊ฐ์ด get_active_session()
์ ์ฌ์ฉํ์ฌ ์ธ์
์ ๊ฒ์ํฉ๋๋ค.
from snowflake.core import Root
from snowflake.snowpark.context import get_active_session
session = get_active_session()
root = Root(session)
๊ณ์ , ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ์คํค๋ง ๋ฒ์ยถ
Root
์ค๋ธ์ ํธ๋ฅผ ์ฌ์ฉํ๋ฉด ์จ์ดํ์ฐ์ค(root.warehouses
), ๋ฐ์ดํฐ๋ฒ ์ด์ค(root.databases
), ์ธ๋ถ ๋ณผ๋ฅจ(root.external_volumes
)๊ณผ ๊ฐ์ ๊ณ์ ๋ฒ์ ์ง์ ์ค๋ธ์ ํธ์ ์ปฌ๋ ์
์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
DatabaseResource
์๋์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฒ์ ์ค๋ธ์ ํธ์ ์ก์ธ์คํ ์ ์์ผ๋ฉฐ, Root
์๋์์ DatabaseCollection
์ค๋ธ์ ํธ๋ฅผ ํตํด ๊ฒ์ํ ์ ์์ต๋๋ค. ํ์ฌ, SchemaCollection
์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฒ์์์ ์ฌ์ฉํ ์ ์๋ ์ ์ผํ ์ค๋ธ์ ํธ ์ ํ์
๋๋ค.
ํ
์ด๋ธ, ๋ทฐ, ์คํธ๋ฆผ, ์คํ
์ด์ง์ ๊ฐ์ ์คํค๋ง ๋ฒ์ ์ง์ ์ค๋ธ์ ํธ์ SchemaResource
์ค๋ธ์ ํธ๋ฅผ ํตํด ์ก์ธ์คํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ๋ค์ ์ฝ๋๋ StageCollection
์ ๋จผ์ ์ก์ธ์คํ ๋ค์ StageResource
์ ์ก์ธ์คํฉ๋๋ค.
root = Root(my_connection)
stages = root.databases["my_db"].schemas["my_schema"].stages
my_stage = stages["my_stage"] # Access the "my_stage" StageResource
snowflake.core
ํด๋์ค ๋ค์ด์ด๊ทธ๋จยถ
๋ค์ ๋ค์ด์ด๊ทธ๋จ์ snowflake.core
ํจํค์ง์ ๋ช ๊ฐ์ง ๊ธฐ๋ณธ ํด๋์ค์ ์ด๋ค์ด ์๋ก ์ด๋ป๊ฒ ์ฐ๊ด๋๋์ง Root
์ค๋ธ์ ํธ๋ถํฐ ๋ณด์ฌ์ค๋๋ค.
์ปฌ๋ ์ ํด๋์คยถ
Collection
ํด๋์ค๋ ์ด๋ฆ์ด <SnowflakeObjectType>Collection
์ธ ํด๋์ค์ ํด๋นํฉ๋๋ค.
Collection
ํด๋์ค๋ ์ฃผ์ด์ง ์ปจํ
์คํธ ๋ด์์ ํ์๋๋ ํน์ ์ค๋ธ์ ํธ ์ ํ์ ์งํฉ์ ๋ํ๋
๋๋ค. ์คํค๋ง ๋ฒ์ ์ค๋ธ์ ํธ(์: ํ
์ด๋ธ, ๋ทฐ, ํจ์, ์คํธ๋ฆผ)์ ๊ฒฝ์ฐ ์ปฌ๋ ์
์ ํ์ฌ ์ญํ ์ด๋ ์ฌ์ฉ์์๊ฒ ํ์๋๋ ์ง์ ๋ ์คํค๋ง ๋ด์ ํด๋น ์ ํ์ ๋ชจ๋ ์ค๋ธ์ ํธ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
SchemaCollection
์ค๋ธ์ ํธ์ ๋ฒ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ค์ ๋ฉ๋๋ค. DatabaseCollection
๋ฐ WarehouseCollection
๊ฐ์ ๊ณ์ ๋ฒ์ ์ค๋ธ์ ํธ๋ Root
์ธ์คํด์ค์์ ์ง์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ปฌ๋ ์ ์ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
์คํค๋ง, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ ๊ณ์ ์ ์ค๋ธ์ ํธ๋ฅผ ์์ฑํฉ๋๋ค(์ด์ ์ ์ค๋ช ํ ๋ฒ์ ๋ฐ ์ปจํ ์คํธ์ ๋ฐ๋ผ ๋ค๋ฆ).
ํด๋น ๋ฒ์์์ ๋ณผ ์ ์๋ ์ค๋ธ์ ํธ ์ธํธ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ค์ ์ฝ๋๋ WarehouseCollection
์ค๋ธ์ ํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์จ์ดํ์ฐ์ค๋ฅผ ์์ฑํฉ๋๋ค.
# my_wh is created from scratch
my_wh = Warehouse(name="my_wh", warehouse_size="X-Small")
root.warehouses.create(my_wh)
์ปฌ๋ ์
์์ Resource
์ค๋ธ์ ํธ ๊ฒ์ํ๊ธฐยถ
๋ํ ์ปฌ๋ ์
์ Resource
๊ฐ ์ฐ๊ฒฐ๋ ๊ธฐ๋ณธ Snowflake ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํน์ API ์ค๋ธ์ ํธ๋ฅผ ๊ฒ์ํ ์ ์๋ ์ง์
์ ์ ์ ๊ณตํฉ๋๋ค. ์ปฌ๋ ์
์์ ๋๊ดํธ ์ธ๋ฑ์ค ์ฐ์ฐ์([ ]
)๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น ์ปฌ๋ ์
๋ด์ Snowflake ์ค๋ธ์ ํธ๋ฅผ โ๊ฐ๋ฆฌํค๊ฑฐ๋โ ์ฐธ์กฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ๋ค์ ์ฝ๋๋ Snowflake ๊ณ์ ์ my_wh
๋ผ๋ ๊ธฐ์กด ์จ์ดํ์ฐ์ค์ ๋ํ ์ฐธ์กฐ๋ฅผ ๊ฒ์ํฉ๋๋ค.
# my_wh_ref is retrieved from an existing warehouse
# This returns a WarehouseResource object, which is a reference to a warehouse named "my_wh" in your Snowflake account
my_wh_ref = root.warehouses["my_wh"]
๋ชจ๋ธ ํด๋์คยถ
๋ชจ๋ธ ํด๋์ค์ ์ด๋ฆ์ ๋จ์ํ ์จ์ดํ์ฐ์ค์ ๊ฒฝ์ฐ Warehouse
, ํ
์ด๋ธ์ ๊ฒฝ์ฐ Table
๊ฐ์ด Snowflake์์ ํด๋น ๋ฆฌ์์ค์ ๋์ผํ ์ด๋ฆ์ ๊ฐ์ต๋๋ค.
๋ชจ๋ธ ํด๋์ค๋ ์ด๋ฆ, ํด๋น ์ค๋ธ์ ํธ๊ฐ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ์คํค๋ง(ํด๋น๋๋ ๊ฒฝ์ฐ), ํด๋น ์ค๋ธ์ ํธ ์ ํ์ ํน์ ํ ํน์ฑ ๋ฑ ๊ด๋ จ ์์ฑ๊ณผ ํจ๊ป Snowflake ์ค๋ธ์ ํธ๋ฅผ ๋ํ๋
๋๋ค. ์๋ฅผ ๋ค์ด, ์จ์ดํ์ฐ์ค ๋ชจ๋ธ์ ํน์ ์จ์ดํ์ฐ์ค ์ค๋ธ์ ํธ์ ๋ํ warehouse_size
, type
, auto_resume
์์ฑ์ ๋ํ๋
๋๋ค.
๋ชจ๋ธ ์ค๋ธ์ ํธ์๋ ์ค๋ธ์ ํธ๋ฅผ ์ค๋ช ํ๋ ์์ฑ ๋ฐฑ (์์ฑ ๋ฐ ํด๋น ๊ฐ์ ๋ชจ์)์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ด๋ฌํ ์์ฑ์ ์ฌ์ฉํ์ฌ Snowflake์ ๊ธฐ์กด ์ค๋ธ์ ํธ๋ฅผ ์ค๋ช ํ๊ฑฐ๋ ๊ธฐ์กด ์ค๋ธ์ ํธ๋ฅผ ๋ณ๊ฒฝํ ํด๋น ๋ฆฌ์์ค์ ์ฌ์์ ์ ๊ณตํ ์ ์์ต๋๋ค.
Resource
์์ ๋ชจ๋ธ ์ค๋ธ์ ํธ ๊ฐ์ ธ์ค๊ธฐยถ
ํ์ฌ Snowflake ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์กด์ฌํ๋ ์ค๋ธ์ ํธ์ ์์ฑ ๋ฐฑ์ ๋ฐํํ๋ ค๋ฉด Resource
์ค๋ธ์ ํธ์ ๋ํด fetch()
์์
์ ์คํํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ค์ ์ฝ๋๋ ๋ชจ๋ธ ์ค๋ธ์ ํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ํํ ์ ์๋ ์ผ๋ถ ์์ ์ ๋ณด์ฌ์ค๋๋ค.
# my_wh is fetched from an existing warehouse
my_wh = root.warehouses["my_wh"].fetch()
print(my_wh.name, my_wh.auto_resume)
# my_wh is fetched from an existing warehouse
my_wh = root.warehouses["my_wh"].fetch()
my_wh.warehouse_size = "X-Small"
root.warehouses["my_wh"].create_or_alter(my_wh)
์ฐธ๊ณ
์ด ๊ฐ์ ธ์ค๊ธฐ ์์
์ my_wh
์ค๋ธ์ ํธ๊ฐ Snowflake์ ์กด์ฌํ์ง ์์ผ๋ฉด ์คํจํฉ๋๋ค.
๋ฆฌ์์ค ํด๋์คยถ
Resource
ํด๋์ค๋ ์ด๋ฆ์ด <SnowflakeObjectType>Resource
์ธ ํด๋์ค์ ํด๋นํฉ๋๋ค.
Resource
์ค๋ธ์ ํธ๋ฅผ ๊ธฐ๋ณธ Snowflake ์ค๋ธ์ ํธ์ ๋ํ ํฌ์ธํฐ ๋๋ ์ฐธ์กฐ๋ก ๊ฐ์ฃผํ ์ ์์ต๋๋ค. ๋ชจ๋ธ ํด๋์ค๋ ์ค๋ธ์ ํธ์ ์์ฑ์ด๋ ์ฌ์์ ๋ํ๋ด๋ ๋จ์ํ ์์ฑ ๋ชจ์์ธ ๋ฐ๋ฉด, Resource
ํด๋์ค๋ Snowflake ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค์ ์ค๋ธ์ ํธ์ ๋ํ ์ฐธ์กฐ์
๋๋ค.
Resource
์ค๋ธ์ ํธ๋ฅผ ๊ฐ์ ธ์ค๋ ค๋ฉด ์ผ๋ฐ์ ์ผ๋ก ํด๋น Collection
์์ ์ด๋ฆ์ผ๋ก ์ฐธ์กฐํ๊ณ ๋๊ดํธ ์ธ๋ฑ์ค ์ฐ์ฐ์([ ]
)๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ค์ ์ฝ๋ ์์ ๋ ์จ์ดํ์ฐ์ค ์ปฌ๋ ์
์์ my_wh
๋ผ๋ ์ด๋ฆ์ ๊ธฐ์กด ์จ์ดํ์ฐ์ค๋ฅผ ๊ฒ์ํฉ๋๋ค.
# my_wh_ref is retrieved from an existing warehouse
# This returns a WarehouseResource object, which is a reference to a warehouse named "my_wh" in your Snowflake account
my_wh_ref = root.warehouses["my_wh"]
# Fetch returns the properties of the object (returns a "Model" Warehouse object that represents that warehouse's properties)
wh_properties = my_wh_ref.fetch()
Resource
์ค๋ธ์ ํธ๋ฅผ ํด๋น ๋ชจ๋ธ๋ก ๋ณํํ๋ ค๋ฉด ๋ฆฌ์์ค์์ fetch()
๋ฅผ ์ํํ๋ฉด Snowflake์์ ํด๋น ์ค๋ธ์ ํธ์ ์์ฑ์ ๊ฒ์ํ ์ ์์ต๋๋ค. ์ค๋ธ์ ํธ๊ฐ ์ค์ ๋ก Snowflake์ ์กด์ฌํ์ง ์์ผ๋ฉด ์ด ๊ฐ์ ธ์ค๊ธฐ ์์
์ ์คํจํฉ๋๋ค.
Resource
์ค๋ธ์ ํธ์์ ์ ํ๋ณ ์์
์ํํ๊ธฐยถ
Resource
ํด๋์ค๋ ์ค๋ธ์ ํธ ํ์
์ ํน์ํ API ์์
๋ ๊ตฌํํฉ๋๋ค. ์๋ฅผ ๋ค์ด, WarehouseResource
์ค๋ธ์ ํธ๋ฅผ ์ฌ์ฉํ์ฌ ์จ์ดํ์ฐ์ค๋ฅผ ์ฌ๊ฐํ๊ฑฐ๋ StageResource
์ค๋ธ์ ํธ๋ฅผ ์ฌ์ฉํ์ฌ ์คํ
์ด์ง์ ์๋ ํ์ผ์ ๋์ดํ ์ ์์ต๋๋ค.
๋ค์ ์ฝ๋ ์์ ๋ ๊ฐ๊ฐ์ Resource
์ค๋ธ์ ํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ์ ํ๋ณ ์์
์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
# my_wh_ref is retrieved from an existing warehouse
my_wh_ref = root.warehouses["my_wh"]
# Resume a warehouse using a WarehouseResource object
my_wh_ref.resume()
# my_stage is retrieved from an existing stage
stage_ref = root.databases["my_db"].schemas["my_schema"].stages["my_stage"]
# Print file names and their sizes on a stage using a StageResource object
for file in stage_ref.list_files():
print(file.name, file.size)
create_or_alter
API ์ฌ์ฉํ๊ธฐยถ
Resource
์ค๋ธ์ ํธ๋ ๋ฆฌ์์ค์์ ์ง์ํ๋ ๊ฒฝ์ฐ create_or_alter
API ๋ฉ์๋๋ ๋
ธ์ถํฉ๋๋ค. ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด Snowflake ์ค๋ธ์ ํธ๋ฅผ ์์ฑํ๊ฑฐ๋ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์ฐธ๊ณ
Python API๋ ์ด ์์ฑ-๋๋-๋ณ๊ฒฝ(COA) ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ Snowflake์ ์ค๋ธ์ ํธ๋ฅผ ์์ ํฉ๋๋ค. ์ด ๋ฉ์ปค๋์ฆ์ ๋ชฉ์ ์ ํน์ ์ค๋ธ์ ํธ๊ฐ Snowflake ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด๋ฏธ ์กด์ฌํ๋์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด COA ์์ ์ ๊ฒฐ๊ณผ๊ฐ ๋์ผํ๋๋ก ๋ณด์ฅํ๋ ๊ฒ์ ๋๋ค.
์ฆ, ์ค๋ธ์ ํธ๊ฐ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ COA ์์ ์ ์ ๊ณต๋ ์ฌ์์ผ๋ก ์ค๋ธ์ ํธ๋ฅผ ์์ฑํ๊ณ , ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฝ์ฐ ์์ฒญ๋ ์ฌ์๊ณผ ์ผ์นํ๋๋ก ๊ธฐ์กด ์ค๋ธ์ ํธ๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค. ์ด ๋ ผ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉฑ๋ฑ์ ์ด๊ณ ์์์ ์ธ ๋ฐฉ์์ผ๋ก ๋จ์ผ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค๋ฅผ ์์ฑํ๊ฑฐ๋ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๋ฆฌ์์ค ๊ด๋ฆฌ๋ฅผ ์ํ ์ผ๊ด๋ ๋์์ธ ํจํดยถ
Snowflake Python APIs ์๋ Snowflake์์ ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉํ๋ ์ผ๊ด๋ ๋์์ธ ํจํด์ด ์์ต๋๋ค. ๊ณ์ ์ ๊ธฐ์กด ์จ์ดํ์ฐ์ค ์ค๋ธ์ ํธ๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ ์์ ์๋๋ฆฌ์ค๋ฅผ ์๊ฐํด ๋ณด๊ฒ ์ต๋๋ค. ๋ค์ ๋จ๊ณ๋ ์์ ์ค๋ช ํ ๋๋ก ์ธ ๊ฐ์ง ํด๋์ค ์ ํ์ ๋ชจ๋ ์ฌ์ฉํ์ฌ API์ ๋์์ธ ํจํด์ผ๋ก ์์ ํ๋ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ ๊ฐ๋ตํ๊ฒ ์ค๋ช ํฉ๋๋ค.
1. Root
์์ WarehouseCollection
๊ฐ์ ธ์ค๊ธฐยถ
์จ์ดํ์ฐ์ค๋ Root
์์ ์ง์ ์ก์ธ์คํ ์ ์๋ ๊ณ์ ๋ฒ์์ ์ค๋ธ์ ํธ์
๋๋ค.
my_warehouses = root.warehouses # my_warehouses is a WarehouseCollection
2. WarehouseCollection
์์ WarehouseResource
์ค๋ธ์ ํธ ๊ฐ์ ธ์ค๊ธฐยถ
Resource
์ค๋ธ์ ํธ๋ฅผ ๊ฒ์ํ๋ ค๋ฉด ์ผ๋ฐ์ ์ผ๋ก ํด๋น ์ปฌ๋ ์
๋ถํฐ ์์ํฉ๋๋ค. Collection
์ค๋ธ์ ํธ๋ ๋๊ดํธ ์ธ๋ฑ์ค ์ฐ์ฐ์([ ]
)๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ๋ณธ Snowflake ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํน์ ๋ฆฌ์์ค๋ฅผ ๊ฒ์ํ ์ ์๋ ์ง์
์ ์ ์ ๊ณตํฉ๋๋ค.
my_wh_ref = my_warehouses.warehouses["my_wh"] # my_wh_ref is a WarehouseResource
3. WarehouseResource
์์ Warehouse
๋ชจ๋ธ ๊ฐ์ ธ์ค๊ธฐยถ
WarehouseResource
์ค๋ธ์ ํธ๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น Warehouse
๋ชจ๋ธ๊ณผ ํด๋น ์์ฑ์ Snowflake์์ ๊ฐ์ ธ์ต๋๋ค.
my_wh = my_wh_ref.fetch() # my_wh is a Warehouse model object
4. Warehouse
๋ชจ๋ธ์์ ์์ฑ ์์ ํ๊ธฐยถ
์จ์ดํ์ฐ์ค ๋ชจ๋ธ์์ warehouse_size
์ ๊ฐ์ ์์ฑ์ ์์ ํฉ๋๋ค.
my_wh.warehouse_size = "X-Small"
5. Snowflake์์ ๊ธฐ์กด ์จ์ดํ์ฐ์ค ์ค๋ธ์ ํธ ๋ณ๊ฒฝยถ
๋ง์ง๋ง์ผ๋ก ์์ ๋ ์จ์ดํ์ฐ์ค ๋ชจ๋ธ ์ฌ์์ ์ฌ์ฉํ์ฌ Snowflake์ ๊ธฐ์กด ์จ์ดํ์ฐ์ค ์ค๋ธ์ ํธ๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค(์จ์ดํ์ฐ์ค ์ค๋ธ์ ํธ๊ฐ ์์ผ๋ฉด ์๋ก ์์ฑํฉ๋๋ค).
my_wh_ref.create_or_alter(my_wh) # Use the WarehouseResource to perform create_or_alter
์ด my_wh_ref
์ฐธ์กฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ํ ๊ฒฝ์ฐ Snowflake์ ์ค๋ธ์ ํธ์ ๋ํด ์ญ์ ์ ๊ฐ์ ๋ค๋ฅธ ์์
์ ์ํํ ์๋ ์์ต๋๋ค.
์ ์ฒด ์ฝ๋ ์์ ยถ
๋ค์ ์ฝ๋ ์์ ๋ ์ฒ์๋ถํฐ ๋๊น์ง์ ์ ์ฒด ์จ์ดํ์ฐ์ค ์์ฑ ๋๋ ๋ณ๊ฒฝ ์์ ์ ๋ณด์ฌ์ค๋๋ค.
# my_wh is fetched from an existing warehouse
my_warehouses = root.warehouses # my_warehouses is a WarehouseCollection
my_wh_ref = my_warehouses.warehouses["my_wh"] # my_wh_ref is a WarehouseResource
my_wh = my_wh_ref.fetch() # my_wh is a Warehouse model object
my_wh.warehouse_size = "X-Small"
my_wh_ref.create_or_alter(my_wh) # Use the WarehouseResource perform create_or_alter