Création du fichier manifeste d’un paquet d’application¶
Cette rubrique explique comment créer le fichier manifeste d’un paquet d’application.
À propos du fichier manifeste¶
L”Snowflake Native App Framework exige que chaque paquet d’application contienne un fichier manifeste. Ce fichier définit les propriétés requises par le paquet d’application, y compris l’emplacement du script d’installation et les définitions de la version.
Le fichier manifeste doit remplir les conditions suivantes :
Le nom du fichier manifeste doit être
manifest.yml
.Le fichier en zone de préparation doit être téléchargé dans une zone de préparation nommée afin qu’il soit accessible lors de la création d’un paquet d’application ou d’une Snowflake Native App.
Le fichier manifeste doit exister à la racine de la structure de répertoire sur la zone de préparation nommée.
Référence du fichier manifeste¶
Vous trouverez ci-dessous les propriétés valides que le fichier manifest.yml
peut contenir :
- manifest_version :
Spécifie la version du fichier manifeste.
Obligatoire
- version :
Définit un bloc contenant des paramètres relatifs à une version.
Facultatif
- name :
Spécifie le nom logique de la version. Ce nom est utilisé dans les commandes SQL qui gèrent les versions.
- label :
Spécifie un nom pour la version affichée aux consommateurs.
- comment :
Spécifie un commentaire pour l’utilisateur. Ce commentaire n’est visible que lorsque le fournisseur exécute la commande SHOW VERSIONS.
- artifacts :
Définit un bloc relatif aux ressources qui sont distribuées à partir de cette version du paquet.
Obligatoire
- readme :
Spécifie le chemin à un fichier Lisez-moi qui fournit une vue d’ensemble de l”Snowflake Native App au format markdown. Dans le cas d’une application Streamlit, si aucune valeur n’est spécifiée pour la propriété
default_streamlit
, le contenu de ce fichier est affiché aux consommateurs lors de l’affichage de l”Snowflake Native App installée.L’emplacement de ce fichier est spécifié par rapport à l’emplacement du fichier
manifest.yml
.Obligatoire
- setup_script :
Spécifie le chemin et le nom de fichier du script SQL qui est exécuté lors de l’installation de l”Snowflake Native App. Si vous ne spécifiez pas de valeur, la valeur par défaut est
setup.sql
dans le même répertoire que le fichiermanifest.yml
.Facultatif
- default_streamlit :
Si l”Snowflake Native App installe une application Streamlit, cette propriété spécifie le schéma et le nom de l’application Streamlit par défaut disponible pour les consommateurs.
Requis si l”Snowflake Native App inclut une application Streamlit. Facultatif, sinon.
- extension_code :
Indique si l”Snowflake Native App peut exécuter des UDFs et des procédures stockées. La valeur par défaut de cette propriété est
false
.Facultatif
- configuration :
Spécifie un bloc contenant les propriétés de configuration de l”Snowflake Native App.
Facultatif
- log_level :
Spécifie le niveau de journalisation à utiliser pour la version installée de l”Snowflake Native App. Reportez-vous à Réglage du niveau de journalisation pour obtenir des informations sur les valeurs prises en charge pour cette propriété.
Facultatif
Par défaut : Off
- trace_level :
Spécifie le niveau d’événement de trace à utiliser pour l”Snowflake Native App. Lorsqu’un fournisseur active le traçage, une Snowflake Native App capture automatiquement les heures de début et de fin de toutes les requêtes et de tous les appels de procédures stockées.
Note
La publication d’une Snowflake Native App dont la propriété
trace_level
est définie sur une valeur autre queOFF
peut exposer les appels à des procédures stockées cachées à tout utilisateur du compte du consommateur qui peut voir la table des événements.Voir Réglage du niveau de trace pour les valeurs prises en charge par la propriété
trace_level
.Facultatif
Par défaut : Off
- privileges :
Définit un bloc contenant les privilèges que le consommateur doit attribuer lors de l’installation de l”Snowflake Native App.
Facultatif
Par défaut : une liste vide
- <nom du privilège> :
Spécifie le nom du privilège.
- description :
Fournit une description du privilège demandé. Le texte spécifié dans
description
est affiché au consommateur lorsque le privilège est affiché dans Snowsight à l’aide du Python Permission SDK.Vous devez fournir autant d’informations que possible sur la raison pour laquelle l”Snowflake Native App a besoin de ce privilège et si le privilège est requis ou facultatif.
Requis si
privileges
est spécifié.
- references :
Définit un bloc contenant les références définies par le fournisseur. Le consommateur doit lier ces références aux objets de son compte.
- - <nom référence> :
Spécifie le nom de la référence.
- label :
Fournit une description de la référence que le consommateur peut voir lorsque l”Snowflake Native App est installée.
Requis si
references
est spécifié.- privileges :
Spécifie les privilèges requis par la référence.
Requis si
references
est spécifié.- object_type :
Spécifie le type d’objet associé à la référence, par exemple un schéma et une table, ou une intégration API.
Requis si
references
est spécifié.- multi_valued :
Spécifie que plusieurs objets sont associés à la référence.
En option.
Par défaut : false
- register_callback :
Spécifie le nom de la fonction de rappel utilisée pour appeler la référence.
Requis si
references
est spécifié.
Exemple de fichier manifeste¶
L’exemple suivant montre un fichier manifeste typique avec des valeurs spécifiées pour toutes les propriétés prises en charge :
manifest_version: 1 # required
version:
name: hello_snowflake
label: "v1.0"
comment: "The first version of a Snowflake Native App"
artifacts:
readme: readme.md
setup_script: scripts/setup.sql
default_streamlit: streamlit/ux_schema.homepage_streamlit
extension_code: true
configuration:
log_level: debug
trace_level: always
privileges:
- EXECUTE TASK:
description: "Run ingestion tasks for replicating Redshift data"
- EXECUTE MANAGED TASK:
description: "To run serverless ingestion tasks for replicating Redshift data"
- CREATE WAREHOUSE:
description: "To create warehouses for executing tasks"
- MANAGE WAREHOUSES:
description: "To manage warehouses for optimizing the efficiency of your accounts"
- CREATE DATABASE:
description: "To create sink databases for replicating Redshift data"
- IMPORTED PRIVILEGES ON SNOWFLAKE DB:
description: "To access account_usage views"
references:
- consumer_table:
label: "Consumer table"
description: "A table in the consumer account that exists outside the APPLICATION object."
privileges:
- SELECT
- INSERT
- UPDATE
object_type: Table
multi_valued: true
register_callback: config.register_reference