À 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.
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 Installer et tester une application localement 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.
À propos des Native Apps de Snowflake avec Snowpark Container Services¶
Une Snowflake Native App with Snowpark Container Services (app avec conteneurs) est une Snowflake Native App qui exécute des charges de travail de conteneurs dans Snowflake. Les applications de conteneurs peuvent exécuter n’importe quel service conteneurisé pris en charge par Snowpark Container Services.
Les applis avec conteneurs tirent parti de toutes les fonctions de Snowflake Native App Framework, notamment la protection des IP du fournisseur, la sécurité et la gouvernance, le partage des données, la monétisation et l’intégration avec les ressources de calcul.
Comme n’importe quelle Snowflake Native App, une application avec des conteneurs est composée d’un paquet d’application et d’un objet d’application. Il existe cependant quelques différences, comme le montre l’image suivante :

- Paquet d’application :
Pour gérer les conteneurs, le paquet d’application doit avoir accès à un fichier de spécification de services en zone de préparation. Dans ce fichier, il y a des références aux images de conteneurs nécessaires à l’application. Ces images doivent être stockées dans un référentiel d’images dans le compte du fournisseur.
- Objet d’application :
Lorsqu’un consommateur installe une application avec des conteneurs, l’objet d’application créé contient un pool de calcul qui stocke les conteneurs requis par l’application.
- Pool de calcul :
Un pool de calcul est une collection d’un ou plusieurs nœuds de machines virtuelles (VM) sur lesquels Snowflake exécute vos tâches et services Snowpark Container Services. Lorsqu’un consommateur installe une appli avec des conteneurs, il peut accorder le privilège CREATE COMPUTE POOL à l’appli ou créer les pools de calcul manuellement.
Protéger la propriété intellectuelle du fournisseur dans une appli avec des conteneurs¶
Lorsqu’une appli avec des conteneurs est installée dans le compte du consommateur, l’historique des requêtes des services est disponible dans le compte du consommateur. Pour protéger les informations confidentielles d’un fournisseur, le Snowflake Native App Framework expurge les informations suivantes :
Le texte de la requête est caché de Vue QUERY_HISTORY.
Toutes les informations contenues dans Vue ACCESS_HISTORY sont cachées.
Le graphique Profil de requête pour la requête du service est réduit à un seul nœud vide au lieu d’afficher l’arborescence complète du profil de la requête.
Exigences multifactorielles pour les utilisateurs d’un compte fournisseur¶
Selon le type d’utilisateur, Snowflake nécessite différents types d’authentification pour les utilisateurs du compte fournisseur.
Utilisateurs hors services¶
Snowflake recommande aux utilisateurs d’un compte fournisseur de s’inscrire à l”authentification multifactorielle (MFA) s’ils n’ont pas la propriété TYPE définie sur SERVICE. Dans une future mise à jour, l’authentification multifactorielle sera obligatoire pour ces types d’utilisateurs. Les utilisateurs hors services qui utilisent l’authentification fédérée et l’authentification unique (SSO) doivent avoir la MFA activée dans le cadre de leur processus d’authentification.
Utilisateurs des services¶
Les utilisateurs qui ont le paramètre TYPE défini sur SERVICE doivent utiliser l’authentification par paire de clés ou OAuth.