Especifique os recursos necessários para um aplicativo

Este tópico descreve como usar o arquivo marketplace.yml para declarar os requisitos de recursos para um Snowflake Native App.

O marketplace.yml é um arquivo de configuração semelhante ao arquivo manifest.yml de um aplicativo. O Snowflake usa este arquivo nos seguintes contextos:

  • Os objetos especificados nas propriedades required_compute_pools e connections aparecem na listagem em Snowsight. Isso permite que o consumidor veja os recursos que o aplicativo pode exigir.

  • Este arquivo pode ajudar a evitar a criação ou o uso de recursos desnecessários, por exemplo, replicando um pacote de aplicativo para regiões onde ele não pode ser instalado por um consumidor. Antes que o consumidor solicite a listagem em uma região remota, a Snowflake garante que o consumidor atenda aos requisitos de recursos declarados no arquivo marketplace.yml. Isso ajuda a evitar custos de replicação desnecessários.

  • Antes de instalar e atualizar o aplicativo, o Snowsight garante que os requisitos sejam atendidos, para evitar a instalação de um aplicativo quebrado/inutilizável ou a atualização de um aplicativo funcional para um estado inutilizável.

Este arquivo opcional deve estar no diretório raiz de um aplicativo no mesmo nível do arquivo manifest.yml. Se este arquivo não estiver presente, nenhuma ação será tomada.

Especifique os pools de computação necessários para um aplicativo

O exemplo a seguir mostra como especificar os recursos do pool de computação necessários para uma versão específica de um aplicativo:

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

Neste exemplo, o required_compute_pools é um pool de computação denominado HIGH_MEM_POOL_1.

A propriedade compatible_instance_families especifica o tipo de máquina a ser provisionada para o pool de computação. Você deve especificar pelo menos um valor declarado para cada pool de computação. Consulte CREATE COMPUTE POOL para obter mais informações.

Nota

Se a propriedade compatible_instance_families estiver ausente ou os valores forem inválidos, a criação da versão falhará.

Especifique os pontos de extremidade externos necessários para um aplicativo

O exemplo a seguir mostra como declarar os pontos de extremidade externos exigidos por um aplicativo:

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

Neste exemplo, a propriedade connection especifica dois pontos de extremidade externos, LAUNCH_DARKLY e OPEN_AI. A propriedade required indica ao consumidor em Snowsight que a conexão é necessária.

Se você especificar o connection neste arquivo, as propriedades endpoints e required são necessárias. Se essas propriedades não estiverem presentes, a criação da versão falhará. A propriedade endpoints requer pelo menos um URL.