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 의 구성 요소

다음 다이어그램은 Snowflake Native App Framework 의 상위 수준 뷰를 보여줍니다.

../../_images/native-apps-overview.png

Snowflake Native App Framework 는 Snowflake CollaborationSecure 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는 애플리케이션을 만들고 설정 스크립트를 실행하여 애플리케이션 내에 필요한 오브젝트를 생성합니다. 자세한 내용은 로컬에서 앱 설치 및 테스트하기 섹션을 참조하십시오.

애플리케이션을 설치하면 컨슈머가 다음을 포함한 추가 작업을 수행할 수 있습니다.

컨슈머가 애플리케이션을 설치하고 관리하는 방법에 대한 자세한 내용은 컨슈머로서 애플리케이션 작업하기 를 참조하십시오.

공급자 계정의 사용자에 대한 다단계 요구 사항

사용자 유형에 따라 Snowflake는 공급자 계정의 사용자에 대해 서로 다른 유형의 인증을 요구합니다.

비서비스 사용자

Snowflake는 공급자 계정의 사용자가 TYPE 속성이 SERVICE로 설정되어 있지 않은 경우 공급자는 다단계 인증(MFA) 을 등록할 것을 권장합니다. 향후 업데이트에서는 이러한 유형의 사용자에 대해 다단계 인증이 의무화될 예정입니다. 페더레이션 인증 및 Single Sign-On(SSO)을 사용하는 비서비스 사용자는 인증 과정의 일부로 MFA를 활성화해야 합니다.

서비스 사용자

TYPE 매개 변수를 SERVICE로 설정한 사용자는 키 쌍 페어 또는 OAuth 를 사용해야 합니다.