Snowpark Container Services 자습서의 공통 설정

소개

이 항목에서는 이 설명서에서 제공되는 모든 Snowpark Container Services 자습서에 필요한 공통 설정에 대한 지침을 제공합니다.

필수 구성 요소 구성하기

자습서를 완료할 수 있는지 확인하려면 다음 필수 구성 요소를 검토하십시오.

  • Snowflake 계정: 평가판 계정은 지원되지 않습니다.

  • SQL 명령 실행을 위한 명령줄 클라이언트 SnowSQL(선택 사항): SQL 명령 실행과 Snowflake 스테이지로의 파일 업로드를 지원하는 모든 Snowflake 클라이언트를 사용할 수 있습니다. SnowSQL 및 Snowsight 웹 인터페이스를 사용하여 자습서를 테스트했습니다. 이 명령줄 클라이언트 설치 지침은 SnowSQL 설치하기 섹션을 참조하십시오.

  • Docker Desktop: 이 자습서에서는 Docker Desktop 사용 지침을 제공합니다. 설치 지침은 https://docs.docker.com/get-docker/ 섹션을 참조하십시오. OCI 호환 클라이언트를 사용하여 Docker, Podman 또는 Nerdctl과 같은 이미지를 생성할 수 있습니다.

Snowflake 오브젝트 만들기

SnowSQL 또는 Snowsight 를 사용하여 제공된 SQL을 실행합니다.

  1. ACCOUNTADMIN 역할을 가진 사용자로 Snowflake에 로그인합니다.

  2. ACCOUNTADMIN 역할을 사용해 다음 스크립트를 실행하여 user_name 을 자습서를 테스트할 Snowflake 사용자의 이름으로 바꿉니다. 이러한 자습서에서는 이 스크립트를 실행하는 동일한 사용자를 선택하거나 Snowflake 계정의 다른 사용자를 선택할 수 있습니다. 이 스크립트는 다음을 수행합니다.

    • 역할(test_role) 및 기타 Snowflake 오브젝트를 생성합니다. 역할과 오브젝트를 생성하려면 ACCOUNTADMIN 역할을 사용해야 합니다. (이 제한은 비용을 통제하고 비즈니스 정보 위험을 관리하는 데 도움이 됩니다.) 또한 이 스크립트는 새로 생성된 오브젝트를 관리하는 데 필요한 권한을 test_role 역할에 부여합니다.

    • 지정된 Snowflake 사용자에게 역할을 부여하면 해당 사용자는 부여된 역할을 사용하여 자습서를 살펴볼 수 있습니다.

    USE ROLE ACCOUNTADMIN;
    
    CREATE ROLE test_role;
    
    CREATE DATABASE IF NOT EXISTS tutorial_db;
    GRANT OWNERSHIP ON DATABASE tutorial_db TO ROLE test_role;
    
    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

    참고:

    • 서비스와 작업이 SQL DML 문(예: SELECT 및 INSERT)을 실행할 수 있으므로 웨어하우스를 만듭니다. Snowflake는 웨어하우스에서 이러한 문을 실행합니다.

    • 자습서 1에서는 사용자가 공용 웹(수신)에서 서비스에 액세스할 수 있도록 엔드포인트를 공개로 노출하는 서비스를 만듭니다. 이 서비스를 만들려면 다음을 수행하십시오.

      • 역할 test_role 에는 계정에 대한 BIND SERVICE ENDPOINT 권한이 있어야 합니다.

      • 현재 구현에는 스크립트가 생성하는 보안 통합이 필요합니다.

    • 컴퓨팅 풀 은 Snowflake가 작업과 서비스를 실행하는 하나 이상의 가상 머신(VM) 노드 모음입니다.

  3. 이전 스크립트에 지정된 사용자로 Snowflake에 로그인했는지 확인하십시오.

  4. test_role 역할을 사용하여 다음 스크립트를 실행하여 모든 자습서에 공통된 데이터베이스 범위가 지정된 오브젝트를 실행합니다.

    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

    참고:

    • 서비스 코드(컨테이너 이미지)를 저장할 이미지 리포지토리를 만듭니다.

    • 자습서 2 및 3에서 서비스 사양 파일을 저장하는 Snowflake 스테이지를 만듭니다.

계속할 준비가 되었는지 확인합니다.

  1. 자습서에 필요한 오브젝트가 있는지 확인하려면 다음 명령을 실행하십시오.

    SHOW COMPUTE POOLS; --or DESCRIBE COMPUTE POOL tutorial_compute_pool;
    
    Copy
    SHOW WAREHOUSES;
    
    Copy
    SHOW IMAGE REPOSITORIES;
    
    Copy
    SHOW STAGES;
    
    Copy
  2. 계정 정보(조직 및 계정 이름)가 있는지 확인하려면 다음 방법 중 하나를 사용하십시오.

    • 홈 페이지 왼쪽 하단에 있는 Snowsight 웹 인터페이스에서 정보를 찾으십시오.

    • SnowSQL CLI에서 SHOW IMAGE REPOSITORIES를 실행합니다. 이 명령은 조직 및 계정 이름을 포함하여 리포지토리 URL을 반환합니다.

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

다음에는 무엇을 해야 합니까?

이제 자습서 1 을 살펴볼 수 있습니다.