À propos de Snowflake Native App Framework

Cette rubrique fournit des informations générales sur le Snowflake Native App Framework.

Présentation de Snowflake Native App Framework

Le Snowflake Native App Framework vous permet de créer des applications de données qui exploitent les fonctionnalités de base de Snowflake. Le Snowflake Native App Framework vous permet :

  • D’étendre les capacités d’autres fonctions de Snowflake en partageant des données et la logique métier associée avec d’autres comptes Snowflake. La logique métier d’une application peut inclure une application Streamlit, des procédures stockées et des fonctions écrites à l’aide de l’APISnowpark, JavaScript et SQL.

  • De partager une application avec les consommateurs par le biais d’annonces. Une annonce peut être gratuite ou payante. Vous pouvez distribuer et monétiser vos applications sur la Snowflake Marketplace ou les distribuer à des consommateurs spécifiques à l’aide d’annonces privées.

  • D’inclure des visualisations riches dans votre application à l’aide de Streamlit.

Le Snowflake Native App Framework prend également en charge une expérience de développement améliorée qui offre :

  • Un environnement de test rationalisé dans lequel vous pouvez tester vos applications à partir d’un compte unique.

  • Un workflow robuste pour les développeurs. Alors que vos données et les objets de base de données associés restent dans Snowflake, vous pouvez gérer les fichiers de code et les ressources dans le contrôle de source en utilisant vos outils de développement préférés.

  • La possibilité de publier des versions et des correctifs pour votre application qui vous permet, en tant que fournisseur, de modifier et de faire évoluer la logique de vos applications et de les versionner de manière incrémentale pour les consommateurs.

  • Prise en charge de l’enregistrement des événements structurés et non structurés afin que vous puissiez dépanner et surveiller vos applications.

Limitations connues dans l’avant-première

La version en avant-première du Snowflake Native App Framework présente les limitations suivantes :

  • Les comptes Snowflake sur Microsoft Azure et Google Cloud Platform ne sont pas pris en charge.

  • L’exécution automatique inter-Cloud pour le Snowflake Native App Framework n’est actuellement prise en charge que dans les régions AWS.

  • Les comptes Snowflake dans les régions gouvernementales ne sont pas pris en charge.

  • Virtual Private Snowflake (VPS) n’est pris en charge qu’au sein d’une seule organisation.

  • Les tables créées à l’aide de AUTOINCREMENT ne sont pas prises en charge. Snowflake recommande d’utiliser plutôt les séquences.

  • Les tables Iceberg ne sont pas prises en charge.

  • Les tables ou les zones de préparation temporaires ne sont pas prises en charge.

  • Certaines fonctions Streamlit ne sont pas prises en charge. Voir Fonctions Streamlit non prises en charge et Limites de l’utilisation de Streamlit dans le Native Apps Framework pour plus de détails.

Composants de Snowflake Native App Framework

Le diagramme suivant présente une vue de haut niveau du Snowflake Native App Framework.

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

Le Snowflake Native App Framework s’articule autour du concept de fournisseur et de consommateur utilisé par d’autres fonctions de Snowflake, notamment la collaboration Snowflake et Secure Data Sharing

Fournisseur

Utilisateur de Snowflake qui souhaite partager du contenu de données et la logique de l’application avec d’autres utilisateurs de Snowflake.

Consommateur

Utilisateur de Snowflake qui souhaite accéder au contenu des données et à la logique d’application partagés par les fournisseurs.

Développer et tester un paquet d’application

Pour partager un contenu de données et la logique d’application avec un consommateur, les fournisseurs créent un paquet d’application.

Paquet d’application

Un paquet d’application encapsule le contenu des données, la logique d’application, les métadonnées et le script d’installation requis par une application. Un paquet d’application contient également des informations sur les versions et les niveaux de correctifs définis pour l’application. Voir Création d’un paquet d’application pour plus de détails.

Un paquet d’application peut inclure des références à des fichiers de contenu de données et à des fichiers de code externes qu’un fournisseur souhaite inclure dans l’application. Un paquet d’application nécessite un fichier manifeste et un script d’installation.

Fichier manifeste

Définit les propriétés de configuration et d’installation requises par l’application, y compris l’emplacement du script d’installation, les versions, etc. Voir Création du fichier manifeste pour plus de détails.

Script d’installation

Contient des instructions SQL qui sont exécutées lorsque le consommateur installe ou met à niveau une application ou lorsqu’un fournisseur installe ou met à niveau une application à des fins de test. L’emplacement du script d’installation est spécifié dans le fichier manifest.yml. Voir Création du script d’installation pour plus de détails.

Publier un paquet d’application

Après avoir développé et testé un paquet d’application, un fournisseur peut partager une application avec des consommateurs en publiant une annonce contenant le paquet d’application en tant que produit de données d’une annonce. L’annonce peut être une annonce Snowflake Marketplace ou une annonce privée.

Annonce Snowflake Marketplace

Permet à des fournisseurs de commercialiser des applications dans le Cloud de données Snowflake. Offrir une annonce sur Snowflake Marketplace permet à des fournisseurs de partager des applications avec de nombreux consommateurs simultanément, plutôt que de maintenir des relations de partage avec chaque consommateur individuel.

Annonce privée

Permet à des fournisseurs de profiter des fonctionnalités des annonces pour partager des applications directement avec un autre compte Snowflake dans n’importe quelle région Snowflake prise en charge par le Snowflake Native App Framework.

Voir À propos des annonces pour plus de détails.

Installer et gérer une application

Après qu’un fournisseur a publié une annonce contenant un paquet d’application, les consommateurs peuvent découvrir l’annonce et installer l’application.

Snowflake Native App

Un Snowflake Native App est l’objet de base de données installé dans le compte consommateur. Lorsqu’un consommateur installe l”Snowflake Native App, Snowflake crée l’application et exécute le script d’installation pour créer les objets requis dans l’application. Voir Création et test d’un objet APPLICATION pour plus de détails.

Après avoir installé l’application, les consommateurs peuvent effectuer des tâches supplémentaires, notamment :

Consultez Utilisation des applications en tant que consommateur pour plus de détails sur l’installation et la gestion d’une application par les consommateurs.