애플리케이션 만들기 및 설치하기¶
전제 조건¶
config.toml
파일에 기존 연결이 있어야 합니다.Native App 프로젝트에
snowflake.yml
파일이 있어야 합니다.
애플리케이션 패키지와 애플리케이션 오브젝트를 함께 생성하는 방법¶
snow app run 명령은 모든 다른 코드 파일을 한데 모아 애플리케이션 패키지를 생성하고, 이 애플리케이션 패키지의 Snowflake 스테이지에 코드를 업로드하고, 설정 스크립트 SQL의 유효성을 검사 하고, 이 애플리케이션 패키지에서 동일한 계정의 애플리케이션을 설치하거나 업그레이드합니다. 이 명령은 파일을 업로드할 스테이지, 업로드할 파일, 생성할 오브젝트의 이름을 결정하기 위해 확인된 프로젝트 정의에 지정된 값에 의해 수행됩니다.
애플리케이션 오브젝트를 만들려면 다음을 수행합니다.
필요한 경우, 연결을 만듭니다.
snowflake.yml
,manifest.yml
, 설정 스크립트 및 확장 코드 파일이 포함된 코드 파일을 적절하게 변경합니다.프로젝트 내에서 다음과 유사하게
snow app run
명령을 실행합니다.snow app run --connection="dev"
성공하면 명령은 다음과 유사한 메시지를 표시합니다.
Your application ("my_app_admin") is now live: https://app.snowflake.com/data_org/data_acct/#/apps/application/my_app_admin
snow app run --connection="dev"
명령을 사용하면 Snowflake CLI 에서 자동으로 관리되는 명명된 스테이지의 파일을 사용하는 애플리케이션이 생성됩니다. 애플리케이션 패키지가 이미 있는 경우에도 명령을 사용하여 애플리케이션을 만들거나 업데이트할 수 있습니다. 이 경우 명령은 애플리케이션 오브젝트에 UPGRADE를 실행하여 설정 스크립트를 실행합니다. 설치 스크립트를 다시 실행하지 않는 방법에 대한 자세한 내용은 다음 섹션을 참조하십시오.
기존 애플리케이션 패키지의 버전(및 패치)을 사용하여 애플리케이션을 만들려면 다음을 실행합니다.
snow app run --version v1 --patch 12 --connection="dev"
여기서는 버전 V1
및 패치 12
를 예제로만 사용합니다. Snowflake Native App 오브젝트 생성에 대한 자세한 내용은 snow app run 명령을 참조하십시오.
애플리케이션 패키지 생성 방법¶
snow app deploy
명령은 코드를 Snowflake에 배포하기 위해 snow app run
이 수행하는 단계의 하위 집합을 수행합니다. snow app deploy
명령은 여전히 모든 다른 코드 파일을 가져오고, 애플리케이션 패키지를 생성하고, 이 애플리케이션 패키지의 지정된 스테이지에 코드를 업로드하고, 설정 스크립트 SQL의 유효성을 검사 하지만, 애플리케이션 오브젝트를 생성하거나 업그레이드하지는 않습니다.
snow app deploy
명령은 특히 다음과 같은 상황에서 유용합니다.
애플리케이션 오브젝트가 필요하지 않은 상황(예: Continuous Delivery 파이프라인의 일부)에서는 애플리케이션 패키지와 스테이지 파일만 배포합니다.
애플리케이션 오브젝트에 연결된 스테이지 파일을 업데이트합니다. 예를 들어 Python 코드 파일만 변경한 경우 스테이지 개발 모드를 사용할 때 이를 가리키는 PROCEDURE, FUNCTION, STREAMLIT 오브젝트를 다시 만들지 않아도 됩니다. 이 방법을 사용하면 업데이트된 Python 코드를 사용하기 위해 설치 스크립트를 다시 실행하기 위해 웨어하우스를 사용할 필요가 없으므로 시간을 절약하고 비용을 줄일 수 있습니다.
해당 애플리케이션 오브젝트 없이 애플리케이션 패키지를 만들려면 다음을 수행합니다.
필요한 경우, 연결을 만듭니다.
snowflake.yml
,manifest.yml
, 설정 스크립트 및 확장 코드 파일이 포함된 코드 파일을 적절하게 변경합니다.프로젝트 내에서 다음과 유사하게
snow app deploy
명령을 실행합니다.snow app deploy --connection="dev"
성공하면 명령은 다음과 유사한 메시지를 표시합니다.
Checking if stage exists, or creating a new one if none exists. Performing a diff between the Snowflake stage and your local deploy_root ... Deployed successfully. Application package and stage are up-to-date.
snow app deploy
명령을 사용하여 snow app deploy
명령 다음에 위치 인자로 경로를 지정하여 스테이지에 동기화할 파일을 제한할 수도 있습니다. 이 기능 및 기타 고급 기능에 대한 자세한 내용은 snow app deploy 명령을 참조하십시오.