Grundlegende Einrichtung für Snowpark Container Services-Tutorials

Einführung

Unter diesem Thema finden Sie eine Anleitung für die grundlegende Einrichtung, die für alle Snowpark Container Services-Tutorials in dieser Dokumentation erforderlich ist.

Voraussetzungen konfigurieren

Überprüfen Sie die folgenden Voraussetzungen, um sicherzustellen, dass Sie die Tutorials durchführen können:

  • Snowflake-Konto: Beachten Sie, dass Testkonten nicht unterstützt werden.

  • SnowSQL, der Befehlszeilenclient zur Ausführung von SQL-Befehlen (optional): Sie können jeden Snowflake-Client verwenden, der das Ausführen von SQL-Befehlen und das Hochladen von Dateien in einen Snowflake-Stagingbereich unterstützt. Die Tutorials werden mit der SnowSQL- und der Snowsight-Weboberfläche getestet. Eine Anleitung zum Installieren dieses Befehlszeilenclients finden Sie unter Installieren von SnowSQL.

  • Docker Desktop: Diese Tutorials enthalten Anweisungen zur Verwendung von Docker Desktop. Eine Installationsanleitung finden Sie unter https://docs.docker.com/get-docker/. Beachten Sie, dass Sie zum Erstellen von Images jeden OCI-kompatiblen Client verwenden können, z. B. Docker, Podman oder Nerdctl.

Snowflake-Objekte erstellen

Führen Sie die angegebenen SQL-Befehle entweder mit SnowSQL oder Snowsight aus.

  1. Melden Sie sich bei Snowflake als ein Benutzer mit der Rolle ACCOUNTADMIN an.

  2. Führen Sie mit der Rolle ACCOUNTADMIN das folgende Skript aus, und ersetzen Sie dabei user_name durch den Namen des Snowflake-Benutzers, der die Tutorials testen wird. Für diese Tutorials können Sie denselben Benutzer wählen, der dieses Skript ausführt, oder einen anderen Benutzer in Ihrem Snowflake-Konto. Das Skript führt Folgendes aus:

    • Es erstellt eine Rolle (test_role) und andere Snowflake-Objekte. Um die Rolle und die Objekte erstellen zu können, müssen Sie die ACCOUNTADMIN-Rolle verwenden. (Diese Einschränkung trägt dazu bei, die Kosten zu kontrollieren und die Risiken für Geschäftsinformationen zu steuern). Das Skript erteilt auch der Rolle test_role die erforderlichen Berechtigungen, um die neu erstellten Objekte zu verwalten.

    • Es weist die Rolle dem angegebenen Snowflake-Benutzer zu, der dann die Rolle verwendet, um die Tutorials auszuführen.

    USE ROLE ACCOUNTADMIN;
    
    CREATE ROLE test_role;
    
    CREATE DATABASE IF NOT EXISTS tutorial_db;
    GRANT OWNERSHIP ON DATABASE tutorial_db TO ROLE test_role COPY CURRENT GRANTS;
    
    CREATE OR REPLACE WAREHOUSE tutorial_warehouse WITH
      WAREHOUSE_SIZE='X-SMALL';
    GRANT USAGE ON WAREHOUSE tutorial_warehouse TO ROLE test_role;
    
    CREATE SECURITY INTEGRATION IF NOT EXISTS snowservices_ingress_oauth
      TYPE=oauth
      OAUTH_CLIENT=snowservices_ingress
      ENABLED=true;
    
    GRANT BIND SERVICE ENDPOINT ON ACCOUNT TO ROLE test_role;
    
    CREATE COMPUTE POOL tutorial_compute_pool
      MIN_NODES = 1
      MAX_NODES = 1
      INSTANCE_FAMILY = CPU_X64_XS;
    GRANT USAGE, MONITOR ON COMPUTE POOL tutorial_compute_pool TO ROLE test_role;
    
    GRANT ROLE test_role TO USER <user_name>
    
    Copy

    Beachten Sie Folgendes:

    • Sie erstellen ein Warehouse, weil die Dienste und Jobs SQL-DML-Anweisungen (wie SELECT und INSERT) ausführen können. Snowflake führt diese Anweisungen im Warehouse aus.

    • In Tutorial 1 erstellen Sie einen Dienst, der einen Endpunkt als öffentlich ausweist, damit Benutzer über das öffentliche Web auf den Dienst zugreifen können (eingehende Daten). Um diesen Dienst erstellen zu können, müssen folgende Voraussetzungen erfüllt sein:

      • Die Rolle test_role muss über die Berechtigung BIND SERVICE ENDPOINT für das Konto verfügen.

      • Die aktuelle Implementierung erfordert eine Sicherheitsintegration, die vom Skript erstellt wird.

    • Ein Computepool ist eine Sammlung von einem oder mehreren virtuellen VM-Knoten (virtuelle Maschinen), auf denen Snowflake Ihre Jobs und Dienste ausführt.

  3. Vergewissern Sie sich, dass Sie bei Snowflake als der im vorherigen Skript angegebene Benutzer angemeldet sind.

  4. Führen Sie mit der Rolle test_role das folgende Skript aus, um Objekte im Geltungsbereich der Datenbank zu erstellen, die allen Tutorials gemeinsam sind.

    USE ROLE test_role;
    USE DATABASE tutorial_db;
    USE WAREHOUSE tutorial_warehouse;
    
    CREATE SCHEMA IF NOT EXISTS data_schema;
    CREATE IMAGE REPOSITORY IF NOT EXISTS tutorial_repository;
    CREATE STAGE IF NOT EXISTS tutorial_stage
      DIRECTORY = ( ENABLE = true );
    
    Copy

    Beachten Sie Folgendes:

    • Sie erstellen ein Image-Repository zum Speichern Ihres Dienstcodes (Containerimages).

    • Sie erstellen einen Snowflake-Stagingbereich, um Ihre Dienstspezifikationsdateien in Tutorial 2 und 3 zu speichern.

Überprüfen, ob alle Voraussetzungen erfüllt sind

  1. Führen Sie die folgenden Befehle aus, um zu überprüfen, ob Sie über die für die Tutorials benötigten Objekte verfügen:

    SHOW COMPUTE POOLS; --or DESCRIBE COMPUTE POOL tutorial_compute_pool;
    
    Copy
    SHOW WAREHOUSES;
    
    Copy
    SHOW IMAGE REPOSITORIES;
    
    Copy
    SHOW STAGES;
    
    Copy
  2. Um zu überprüfen, ob Sie Ihre Kontoinformationen (Organisations- und Kontonamen) haben, verwenden Sie eine der folgenden Methoden:

    • Diese Informationen finden Sie auf der Snowsight-Weboberfläche in der linken unteren Ecke der Startseite.

    • Führen Sie über die Azure-SnowSQL-CLI den Befehl SHOW IMAGE REPOSITORIES aus. Der Befehl gibt die Repository-URL zurück, einschließlich Organisations- und Kontoname.

      Beispiel

      <orgname>-<acctname>.registry.snowflakecomputing.com/tutorial_db/data_schema/tutorial_repository
      
      Copy

Nächste Schritte

Sie können nun Tutorial 1 ausführen.