Richtlinien für das Einreichen einer App für Snowflake Marketplace

Unter diesem Thema werden die Kriterien für das Einreichen einer Snowflake Native App für Snowflake Marketplace beschrieben.

Einreichen einer Snowflake Native App vorbereiten

Wenn Ihr Anwendungspaket zur Veröffentlichung auf Snowflake Marketplace bereit ist, müssen Sie es zur Genehmigung bei Snowflake einreichen.

Bemerkung

Der Genehmigungsprozess, der für die Veröffentlichung einer App auf Snowflake Marketplace erforderlich ist, unterscheidet sich vom automatischen Sicherheitsscan, der durchgeführt wird, wenn die Eigenschaft DISTRIBUTION eines Anwendungspakets auf EXTERNAL gesetzt wird.

Vergewissern Sie sich vor dem Erstellen eines Freigabeangebots, dass Sie die erzwungenen Anforderungen verstanden haben, und stellen Sie sicher, dass Ihr Anwendungspaket jede Anforderung erfüllt. Wenn ein Anwendungspaket diese Anforderungen nicht erfüllt, kann Ihr Antrag abgelehnt werden.

Wenn Sie einen Ablehnungsbenachichtigung für Ihr eingereichtes Anwendungspaket erhalten, nehmen Sie die empfohlenen Änderungen vor und reichen Sie Ihr Anwendungspaket erneut zur Genehmigung ein.

Erzwungene Anforderungen

Die folgenden Anforderungen werden überprüft, wenn Sie ein Anwendungspaket zur Genehmigung für die Veröffentlichung auf Snowflake Marketplace einreichen:

  • Alle Berechtigungen und Referenzen auf Kontoebene, die die Snowflake Native App benötigt, müssen in der Manifest-Datei des Anwendungspakets aufgeführt sein.

  • Wenn ein Freigabeangebot im Abschnitt security der Manifest-Datei eine Berechtigung oder eine Referenz auf Kontoebene enthält und das Anwendungspaket eine Streamlit-App enthält, müssen Sie mit dem Python Permission SDK eine Benutzeroberfläche erstellen, um Berechtigungen und Referenzen vom Verbraucher anzufordern.

  • Wenn ein Anwendungspaket keine Streamlit-App als Benutzeroberfläche für die Anwendung bereitstellt, muss die readme-Datei des Anwendungspakets die folgenden Informationen enthalten:

    • Eine Beschreibung, was die App macht.

    • Die Schritte, die der Verbraucher ausführen muss, um die Anwendung nach der Installation zu konfigurieren.

    • Die gespeicherten Prozeduren und benutzerdefinierten Funktionen, die die Anwendung verwendet.

    • Die Berechtigungen, die die App benötigt.

    • SQL-Beispielbefehle, die den Verbrauchern zeigen, wie sie die App verwenden können.

  • Wenn die readme-Datei SQL-Anweisungen oder Codebeispiele enthält, müssen Sie Codeblocks verwenden.

  • Verwenden Sie nach Möglichkeit eine einzige, mehrseitige Streamlit-App anstelle mehrerer separater Streamlit-Apps. Dazu gehören Mehrbenutzer-Streamlit-Apps usw.

  • Wenn die App Beispieldaten bereitstellt, müssen Sie Verfahren zur Verwendung der Beispieldaten bereitstellen, einschließlich des erforderlichen Codes zum Erstellen der Datenbank, falls erforderlich.

Best Practices für das Veröffentlichen einer Snowflake Native App

Zusätzlich zu den Anforderungen für das Einreichen eines Anwendungspakets für Snowflake Marketplace empfiehlt Snowflake die folgenden Best Practices für das Veröffentlichen einer Snowflake Native App:

  • Stellen Sie sicher, dass alle erforderlichen Dateien für die Version der App, die Sie einreichen möchten, in den benannte Stagingbereich hochgeladen wurden, einschließlich:

    • Datei manifest.yml

    • Setup-Skript

    • Datei readme.md

    • Alle externen gespeicherten Prozeduren oder benutzerdefinierten Funktionen, die für das Anwendungspaket erforderlich sind

    • Alle Streamlit-Dateien, die für das Anwendungspaket erforderlich sind

    • Der gesamte externe Quellcode, einschließlich Python, Java usw.

  • Stellen Sie sicher, dass die Version der von Ihnen entwickelten App den automatisierten Sicherheitsscan besteht.

  • Testen Sie die neue Version Ihres Anwendungspakets, indem Sie das Anwendungsobjekt lokal mit dem Befehl CREATE APPLICATION erstellen.

    • Fügen Sie während Entwicklung und Test einer App keine neue Version zu Ihrem Anwendungspaket hinzu und setzen Sie die Eigenschaft DISTRIBUTION nicht auf EXTERNAL. Diese Aktionen lösen den automatischen Sicherheitsscan aus, der den Entwicklungszyklus verzögert.

      Erstellen Sie stattdessen das Anwendungsobjekt mit Dateien in einem benannten Stagingbereich.

    • Wenn Ihre Anwendung eine Streamlit-App enthält, testen Sie die Anwendung in Snowsight, um sicherzustellen, dass die Streamlit-App wie erwartet funktioniert.

    • Überprüfen Sie, ob die Interaktionen zwischen der Streamlit-App und Snowflake-Arbeitsblättern nahtlos sind und der Verbraucher nicht übermäßig zwischen den beiden Anwendungen navigieren muss.

  • Überprüfen Sie alle Teile des Freigabeangebots, bevor Sie es zur Genehmigung einreichen.

  • Stellen Sie sicher, dass das Freigabeangebot, die readme-Datei und die Streamlit-App keine Rechtschreibfehler oder andere Textfehler enthalten.