Diretrizes para enviar um aplicativo ao Snowflake Marketplace

Este tópico descreve os critérios para enviar um Snowflake Native App ao Snowflake Marketplace.

Preparação para enviar um Snowflake Native App

Quando seu pacote de aplicativo estiver pronto para ser publicado no Snowflake Marketplace, você deverá enviá-lo ao Snowflake para aprovação.

Nota

O processo de aprovação necessário para publicar um aplicativo no Snowflake Marketplace é diferente da verificação de segurança automatizada executada quando a propriedade DISTRIBUTION de um pacote de aplicativos é definida como EXTERNAL.

Antes de criar uma listagem, verifique se você entende os requisitos aplicados e certifique-se de que seu pacote de aplicativos siga cada requisito. Se um pacote de aplicativo não atender a esses requisitos, seu envio poderá ser rejeitado.

Se você receber uma notificação de rejeição do pacote de aplicativos enviado, faça as alterações recomendadas e reenvie o pacote de aplicativos para aprovação.

Requisitos aplicados

Os seguintes requisitos são verificados quando você envia um pacote de aplicativos para aprovação para ser publicado no Snowflake Marketplace:

  • Todos os privilégios e referências no nível da conta exigidos por Snowflake Native App devem ser listados no arquivo de manifesto do pacote de aplicativos.

  • Se uma listagem incluir um privilégio ou referência no nível da conta na seção security do arquivo de manifesto e o pacote do aplicativo contiver um aplicativo Streamlit, você deverá usar o Python Permission SDK para criar uma interface de usuário para solicitar privilégios e referências do consumidor.

  • Se um pacote de aplicativos não fornecer um aplicativo Streamlit como interface do usuário para o aplicativo, o arquivo readme do pacote de aplicativos deverá conter as seguintes informações:

    • Uma descrição do que o aplicativo faz.

    • As etapas que o consumidor deve realizar para configurar o aplicativo após sua instalação.

    • Os procedimentos armazenados e funções definidas pelo usuário que o aplicativo usa.

    • Os privilégios que o aplicativo exige.

    • Exemplo de comandos SQL que mostram aos consumidores como usar o aplicativo.

  • Se o arquivo readme incluir instruções SQL ou exemplos de código, você deverá usar bloqueios de código.

  • Use um aplicativo Streamlit único e de várias páginas em vez de vários aplicativos Streamlit separados, quando possível. Isso inclui aplicativos Streamlit multiusuário etc.

  • Se o aplicativo fornecer dados de amostra, você deverá incluir procedimentos sobre como usar os dados de amostra, incluindo o código necessário para criar o banco de dados, se necessário.

Práticas recomendadas ao publicar um Snowflake Native App

Além dos requisitos para enviar um pacote de aplicativos para Snowflake Marketplace, a Snowflake também recomenda as seguintes práticas recomendadas ao publicar um Snowflake Native App:

  • Certifique-se de que todos os arquivos necessários sejam carregados no estágio nomeado para a versão do aplicativo que você está enviando, incluindo:

    • O arquivo manifest.yml.

    • O script de configuração.

    • O arquivo readme.md.

    • Quaisquer procedimentos armazenados externos ou funções definidas pelo usuário exigidas pelo pacote de aplicativos.

    • Quaisquer arquivos Streamlit exigidos pelo pacote de aplicativos.

    • Qualquer código-fonte externo, incluindo Python, Java etc.

  • Certifique-se de que a versão do aplicativo que você está desenvolvendo passe na verificação de segurança automatizada.

  • Teste a nova versão do seu pacote de aplicativos criando o objeto do aplicativo localmente usando o comando CREATE APPLICATION.

    • Não adicione uma nova versão ao pacote do aplicativo nem defina a propriedade DISTRIBUTION como EXTERNAL enquanto estiver desenvolvendo e testando um aplicativo. Essas ações acionarão a verificação de segurança automatizada que atrasa o ciclo de desenvolvimento.

      Em vez disso, crie o objeto do aplicativo usando arquivos em um estágio nomeado.

    • Se seu aplicativo incluir um aplicativo Streamlit, teste-o em Snowsight para garantir que ele funcione conforme o esperado.

    • Verifique se as interações entre o aplicativo Streamlit e as planilhas Snowflake são perfeitas e se o consumidor não precisa navegar excessivamente entre os dois.

  • Revise todas as partes de uma listagem antes de enviá-la para aprovação.

  • Certifique-se de que não haja erros de digitação ou outros erros textuais na listagem, no arquivo readme e no aplicativo Streamlit.