Snowflake Native App Framework 정보¶
이 항목에서는 Snowflake Native App Framework 에 대한 일반 정보를 제공합니다.
Snowflake Native App Framework 소개¶
Snowflake Native App Framework 를 사용하면 핵심 Snowflake 기능을 활용하는 데이터 애플리케이션을 만들 수 있습니다. Snowflake Native App Framework 를 사용하면 다음을 수행할 수 있습니다.
다른 Snowflake 계정과 데이터 및 관련 비즈니스 논리를 공유하여 다른 Snowflake 특징의 기능을 확장합니다. 애플리케이션의 비즈니스 논리는 Snowpark API, JavaScript, SQL을 사용하여 작성한 Streamlit 앱, 저장 프로시저, 함수를 포함할 수 있습니다.
목록을 통해 컨슈머와 애플리케이션을 공유합니다. 목록은 무료이거나 유료일 수 있습니다. Snowflake Marketplace 에서 앱을 배포하고 수익을 창출하거나 비공개 목록을 사용하여 특정 컨슈머에게 앱을 배포할 수 있습니다.
Streamlit을 사용하여 애플리케이션에 풍부한 시각화를 포함합니다.
Snowflake Native App Framework 는 또한 다음을 제공하는 향상된 개발 환경도 지원합니다.
단일 계정에서 애플리케이션을 테스트할 수 있는 간소화된 테스트 환경.
강력한 개발자 워크플로. 데이터 및 관련 데이터베이스 오브젝트가 Snowflake 내에 그대로 있는 동안 기본 설정한 개발자 도구를 사용하여 원본 관리 범위 내에서 지원 코드 파일과 리소스를 관리할 수 있습니다.
공급자로서 애플리케이션의 논리를 변경 및 발전시켜 컨슈머에게 점진적으로 제공할 수 있게 해주는 애플리케이션용 버전과 패치를 출시하는 기능.
애플리케이션의 문제 해결과 모니터링을 수행할 수 있도록 정형 및 비정형 이벤트 로깅 지원.
알려진 제한 사항¶
Snowflake Native App Framework 에는 다음을 포함한 제한 사항이 있습니다.
Google Cloud Platform에서는 Snowflake 계정이 아직 지원되지 않습니다.
클라우드 간 자동 복제는 현재 AWS 및 Azure 리전에서만 지원됩니다.
정부 리전의 Snowflake 계정은 지원되지 않습니다.
VPS(Virtual Private Snowflake)는 단일 조직 내에서만 지원됩니다.
Iceberg 테이블은 지원되지 않습니다.
임시 테이블 또는 스테이지는 지원되지 않습니다.
일부 Streamlit 기능이 지원되지 않습니다. 자세한 내용은 지원되지 않는 Streamlit 기능 섹션을 참조하십시오.
Snowflake Native App Framework는 비즈니스 연속성을 위한 장애 조치를 지원하지 않습니다. 복제 그룹 및 장애 조치 그룹에 애플리케이션 패키지를 추가할 수 없습니다.
Snowflake Native App Framework 의 구성 요소¶
다음 다이어그램은 Snowflake Native App Framework 의 상위 수준 뷰를 보여줍니다.
Snowflake Native App Framework 는 Snowflake Collaboration 및 Secure Data Sharing 을 비롯한 다른 Snowflake 기능에서 사용하는 공급자와 컨슈머의 개념을 중심으로 개발되었습니다.
- 공급자
다른 Snowflake 사용자와 데이터 콘텐츠 및 애플리케이션 논리를 공유하려는 Snowflake 사용자.
- 컨슈머
공급자가 공유하는 데이터 콘텐츠 및 애플리케이션 논리에 액세스하려는 Snowflake 사용자.
애플리케이션 패키지 개발 및 테스트하기¶
컨슈머와 데이터 콘텐츠 및 애플리케이션 논리를 공유하기 위해 공급자는 애플리케이션 패키지를 생성합니다.
- 애플리케이션 패키지
애플리케이션 패키지는 애플리케이션에서 필요한 데이터 콘텐츠, 애플리케이션 논리, 메타데이터, 설정 스크립트를 캡슐화합니다. 애플리케이션 패키지에는 애플리케이션에 대해 정의된 버전 및 패치 수준에 대한 정보도 포함됩니다. 자세한 내용은 애플리케이션 패키지 만들기 섹션을 참조하십시오.
애플리케이션 패키지는 공급자가 애플리케이션에 포함하려는 데이터 콘텐츠 및 외부 코드 파일에 대한 참조를 포함할 수 있습니다. 애플리케이션 패키지에는 매니페스트 파일과 설정 스크립트가 필요합니다.
- 매니페스트 파일
설정 스크립트의 위치, 버전 등을 포함하여 애플리케이션에서 필요한 구성 및 설정 속성을 정의합니다. 자세한 내용은 애플리케이션 패키지의 매니페스트 파일 만들기 섹션을 참조하십시오.
- 설정 스크립트
컨슈머가 애플리케이션을 설치하거나 업그레이드할 때 또는 공급자가 테스트를 위해 애플리케이션을 설치하거나 업그레이드할 때 실행되는 SQL 문을 포함합니다. 설정 스크립트의 위치는
manifest.yml
파일에 지정됩니다. 자세한 내용은 설정 스크립트 만들기 섹션을 참조하십시오.
애플리케이션 패키지 게시하기¶
애플리케이션 패키지를 개발하고 테스트한 후 공급자는 애플리케이션 패키지를 목록의 데이터 제품으로 포함하는 목록을 게시하여 애플리케이션을 컨슈머와 공유할 수 있습니다. 목록은 Snowflake Marketplace 목록 또는 비공개 목록일 수 있습니다.
- Snowflake Marketplace 목록
공급자가 Snowflake 데이터 클라우드 전체에서 애플리케이션을 마케팅할 수 있습니다. Snowflake Marketplace 에서 목록을 제공하면 공급자가 개별 컨슈머와 공유 관계를 유지하는 대신 애플리케이션을 많은 컨슈머와 동시에 공유할 수 있습니다.
- 비공개 목록
공급자가 목록의 기능을 활용하여 Snowflake Native App Framework 에서 지원되는 어떤 Snowflake 리전에서든 다른 Snowflake 계정과 직접 애플리케이션을 공유할 수 있습니다.
자세한 내용은 목록 정보 를 참조하십시오.
애플리케이션 설치 및 관리하기¶
공급자가 애플리케이션 패키지를 포함한 목록을 게시하면 컨슈머가 목록을 검색하고 애플리케이션을 설치할 수 있습니다.
- Snowflake Native App
Snowflake Native App 은 컨슈머 계정에 설치된 데이터베이스 오브젝트입니다. 컨슈머가 Snowflake Native App 을 설치하면 Snowflake는 애플리케이션을 만들고 설정 스크립트를 실행하여 애플리케이션 내에 필요한 오브젝트를 생성합니다. 자세한 내용은 애플리케이션 오브젝트를 만듭니다. 섹션을 참조하십시오.
애플리케이션을 설치하면 컨슈머가 다음을 포함한 추가 작업을 수행할 수 있습니다.
로깅 및 이벤트 공유를 활성화하여 공급자의 애플리케이션 문제 해결에 도움을 줍니다.
컨슈머가 애플리케이션을 설치하고 관리하는 방법에 대한 자세한 내용은 컨슈머로서 애플리케이션 작업하기 를 참조하십시오.