Snowflake Native App Framework 워크플로

이 항목에서는 Snowflake Native App 을 개발, 게시, 설치하기 위한 워크플로에 대해 설명합니다.

개발 워크플로

다음 워크플로에서는 Snowflake Native App 을 개발하고 테스트하기 위한 일반적인 작업을 간략하게 설명합니다.

참고

앱 개발은 반복적인 프로세스입니다. 앱과 환경의 요구 사항에 따라 이러한 작업 중 다수를 여러 번 수행하거나 다른 순서로 수행할 수 있습니다.

  1. 개발 환경을 설정합니다.

    Snowflake Native App 을 개발하려면 개발 환경을 설정해야 합니다. 여기에는 다음이 포함됩니다.

    • Snowflake CLI 을 설치합니다. Snowflake CLI 를 설정하여 앱 개발하기 섹션을 참조하십시오.

    • 애플리케이션 파일을 업로드할 스테이지를 만듭니다.

      참고

      Snowflake CLI 를 사용하는 경우 Snowflake CLI 는 개발 중에 애플리케이션 파일을 업로드하기 위한 임시 스테이지를 자동으로 생성하므로 스테이지를 수동으로 생성할 필요가 없습니다.

      SQL을 사용하여 스테이지를 만드는 방법에 대한 자세한 내용은 CREATE STAGE 섹션을 참조하세요. Snowsight 를 사용하여 스테이지를 만드는 방법에 대한 자세한 내용은 Snowsight를 사용하여 파일 스테이징하기 섹션을 참조하세요.

  2. 애플리케이션 패키지를 만듭니다.

    애플리케이션 패키지는 앱에서 필요한 데이터 콘텐츠, 애플리케이션 논리, 메타데이터, 설정 스크립트를 캡슐화하는 컨테이너입니다.

  3. 앱에 대한 :doc:`설정 스크립트를 생성</developer-guide/native-apps/creating-setup-script>`합니다.

    설정 스크립트에는 컨슈머가 앱을 설치할 때 생성되는 구성 요소를 정의하는 SQL 문이 포함됩니다.

  4. 앱에 대한 :doc:`매니페스트 파일</developer-guide/native-apps/manifest-overview>`을 만듭니다.

    매니페스트 파일은 설정 스크립트의 위치와 버전을 포함하여 앱에서 필요한 구성 및 설정 속성을 정의합니다.

  5. 애플리케이션 파일을 스테이지에 업로드합니다.

    설정 스크립트, 매니페스트 파일 및 앱에 필요한 기타 리소스는 앱 개발 시 이러한 파일을 사용할 수 있도록 명명된 스테이지에 업로드해야 합니다.

  6. 앱의 버전과 패치를 추가합니다.

    자세한 내용은 릴리스 채널, 버전 및 패치 정보 섹션을 참조하십시오.

  7. 앱에 공유 데이터 콘텐츠를 추가합니다.

    앱의 일부로 데이터 콘텐츠를 컨슈머와 안전하게 공유할 수 있습니다. 자세한 내용은 Snowflake Native App 에서 데이터 내용 공유 섹션을 참조하세요.

  8. 앱에 기능을 추가합니다.

    앱에 다양한 기능을 추가하여 다음 기능을 포함한 추가 기능을 제공할 수 있습니다.

  9. Set up logging and event handling to troubleshoot your app.

    앱 문제를 해결하기 위해 로깅 및 이벤트 처리를 설정할 수 있습니다. 컨슈머는 자신의 계정에서 로깅 및 이벤트 처리를 설정하고 공급자와 공유할 수 있습니다.

  10. 앱의 릴리스 지시문을 설정합니다.

    릴리스 지시문에 따라 컨슈머가 사용할 수 있는 버전과 패치 수준이 결정됩니다. 애플리케이션 패키지의 각 릴리스 채널에 대해 릴리스 지시문을 설정할 수 있습니다. 자세한 내용은 릴리스 채널을 사용하여 릴리스 지시문 설정하기 섹션을 참조하십시오.

  11. 앱을 테스트합니다.

    자신의 계정에서 앱을 테스트한 후 컨슈머에게 게시할 수 있습니다. 자세한 내용은 로컬에서 앱 설치 및 테스트하기 섹션을 참조하십시오.

    Snowflake는 앱의 다양한 측면을 테스트하기 위해 개발 모드 및 :ref:`디버그 모드<label-native_apps_testing_debug_mode>`를 제공합니다.

  12. 자동 보안 검사를 실행합니다.

    조직 외부의 컨슈머와 앱을 공유하려면 먼저 앱이 안전하고 안정적으로 작동하는지 확인하기 위한 자동 보안 검사를 통과해야 합니다.

게시 워크플로

앱을 개발하고 테스트한 후 공급자는 앱을 게시하여 컨슈머와 공유할 수 있습니다.

  1. 공급자가 됩니다.

    공급자가 되면 목록을 만들고 관리하여 애플리케이션을 컨슈머와 공유할 수 있습니다.

  2. 목록 만들기.

    비공개 목록 또는 Snowflake Marketplace 목록을 생성하여 앱을 컨슈머와 공유할 수 있습니다. 자세한 내용은 앱 목록 만들기 섹션을 참조하세요.

  3. 승인을 위해 목록을 제출합니다.

    Snowflake에 목록을 제출해 승인을 받아야 Snowflake Marketplace 에 목록을 게시할 수 있습니다. 자세한 내용은 승인을 위해 목록 제출하기 섹션을 참조하세요.

  4. 목록을 게시합니다.

    목록이 승인되면 컨슈머가 사용할 수 있도록 목록을 게시할 수 있습니다. 자세한 내용은 앱 목록 게시하기 섹션을 참조하세요.

컨슈머 워크플로

컨슈머는 목록에서 앱을 검색하고 설치할 수 있습니다. 앱을 설치한 후 컨슈머는 앱을 구성, 사용, 모니터링할 수 있습니다. `컨슈머로서 앱 작업하기<https://other-docs.snowflake.com/en/native-apps/consumer-about>`_를 참조하세요.

  1. Snowflake 컨슈머가 됩니다.

    Snowflake 컨슈머가 되면 비공개로 공유되거나 Snowflake Marketplace 에 있는 목록에 액세스할 수 있습니다. 더 많은 제한적 데이터 공유 기능을 제공하는 직접 공유 또는 데이터 교환의 일부로서 공유된 데이터에 액세스할 수도 있습니다.

  2. `앱을 설치<https://other-docs.snowflake.com/en/native-apps/consumer-installing>`_합니다.

    컨슈머는 목록에서 앱을 설치할 수 있습니다.

  3. `앱에 필요한 권한을 부여<https://other-docs.snowflake.com/en/native-apps/consumer-granting-privs>`_합니다.

    일부 앱에서는 컨슈머가 앱에 전역 권한과 오브젝트 수준 권한을 부여하도록 요청할 수 있습니다.

  4. `로깅 및 이벤트 공유를 활성화하여 앱 문제를 해결<https://other-docs.snowflake.com/en/native-apps/consumer-enable-logging>`_합니다.

    공급자는 로깅 및 이벤트 데이터를 내보내도록 앱을 설정할 수 있습니다. 컨슈머는 이 데이터를 공급자와 공유하도록 이벤트 테이블을 설정할 수 있습니다. 로그 및 이벤트 데이터는 앱 문제를 해결할 때 유용합니다.

  5. `앱을 관리<https://other-docs.snowflake.com/en/native-apps/consumer-managing-applications>`_합니다.

    앱을 설치하고 구성한 후 컨슈머는 앱을 사용하고 모니터링하기 위한 추가 작업을 수행할 수 있습니다.