À 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.
Limites connues¶
La Snowflake Native App Framework a des limites, notamment :
Les comptes Snowflake sur Google Cloud Platform ne sont pas encore pris en charge.
L’exécution automatique inter-Cloud n’est actuellement prise en charge que dans les régions AWS et Azure.
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 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 pour plus de détails.
Le Snowflake Native App Framework ne prend pas en charge le basculement pour la continuité des activités. L’ajout de paquets d’application aux groupes de réplication et aux groupes de basculement n’est pas pris en charge.
Composants de Snowflake Native App Framework¶
Le diagramme suivant présente une vue de haut niveau du Snowflake Native App Framework.
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 d’un paquet d’application 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 d’un script de configuration 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éer un objet d’application pour plus de détails.
Après avoir installé l’application, les consommateurs peuvent effectuer des tâches supplémentaires, notamment :
Activer la journalisation et le partage d’événements pour aider les fournisseurs à dépanner l’application.
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.