Spécifier les ressources requises par une application

Cette rubrique décrit comment utiliser le fichier marketplace.yml pour déclarer les exigences en ressources d’une Snowflake Native App.

Le marketplace.yml est un fichier de configuration similaire au fichier manifest.yml d’une appli. Snowflake utilise ce fichier dans les contextes suivants :

  • Les objets spécifiés dans les propriétés required_compute_pools et connections apparaissent dans l’annonce de Snowsight. Cela permet au consommateur de voir les ressources dont l’appli peut avoir besoin.

  • Ce fichier permet d’éviter la création ou l’utilisation de ressources inutiles, par exemple la réplication d’un paquet d’application dans une région où il ne peut pas être installé par un consommateur. Avant que le consommateur ne demande l’annonce dans une région distante, Snowflake s’assure que le consommateur répond aux exigences en matière de ressources déclarées dans le fichier marketplace.yml. Cela permet d’éviter des coûts de réplication inutiles.

  • Avant d’installer et de mettre à jour l’application, Snowsight s’assure que les exigences sont satisfaites, afin d’éviter d’installer une application cassée/inutilisable ou de mettre à jour une application fonctionnelle dans un état inutilisable.

Ce fichier facultatif doit se trouver dans le répertoire racine d’une appli, au même niveau que le fichier manifest.yml. Si ce fichier n’est pas présent, aucune action n’est entreprise.

Spécifier les pools de calcul requis par une appli

L’exemple suivant montre comment spécifier les ressources du pool de calcul requises pour une version spécifique d’une appli :

required_compute_pools:
  - HIGH_MEM_POOL_1:
      label: "High memory pool"
      description: "A compute pool for computational tasks."
      compatible_instance_families:
        - HIGHMEM_X64_M
        - HIGHMEM_X64_L
Copy

Dans cet exemple, le required_compute_pools a créé un pool de calcul nommé HIGH_MEM_POOL_1.

La propriété compatible_instance_families spécifie le type de machine à provisionner pour le pool de calcul. Vous devez spécifier au moins une valeur déclarée pour chaque pool de calcul. Pour plus d’informations, voir CREATE COMPUTE POOL.

Note

Si la propriété compatible_instance_families est manquante ou si les valeurs sont invalides, la création de la version échoue.

Spécifier les points de terminaison externes requis par une appli

L’exemple suivant montre comment déclarer les points de terminaison externes requis par une appli :

connections:
  - LAUNCH_DARKLY:
     label: "Launch Darkly"
     description: "Feature flag and configuration"
     required: true
     endpoints:
       - "mobile.launchdarkly.com"
       - "stream.launchdarkly.com"
  - OPEN_AI:
     label: "OpenAPI"
     description: "LLM Connection"
     required: false
     endpoints:
       - "openai.com"
Copy

Dans cet exemple, la propriété connection spécifie deux points de terminaison externes, LAUNCH_DARKLY et OPEN_AI. La propriété required indique au consommateur dans Snowsight que la connexion est nécessaire.

Si vous spécifiez connection dans ce fichier, les propriétés endpoints et required sont nécessaires. Si ces propriétés ne sont pas présentes, la création de la version échoue. La propriété endpoints nécessite au moins une URL.