Snowpark Container Services 教程的通用设置

简介

本主题说明本文档中提供的所有 Snowpark Container Services 教程所需的通用设置。

配置先决条件

查看以下先决条件,以确保您可以完成教程:

  • Snowflake 账户: 请注意,不支持试用账户。

  • SnowSQL,用于执行 SQL 命令的命令行客户端(可选): 您可以使用任何支持执行 SQL 命令并将文件上传到 Snowflake 暂存区的 Snowflake 客户端。使用 SnowSQL 和 Snowsight Web 界面对教程进行测试。有关安装此命令行客户端的说明,请参阅 安装 SnowSQL

  • Docker 桌面: 这些教程提供关于使用 Docker 桌面的说明。有关安装说明,请参阅 ` <https://docs.docker.com/get-docker/ (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 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

    请注意:

    • 之所以创建仓库,是因为服务(包括作业服务)可以运行 SQL DML 语句(例如 SELECT 和 INSERT)。Snowflake 在仓库中执行这些语句。

    • 在教程 1 中,您将创建一项服务,该服务将端点公开为公共端点,以允许用户从公共 Web(入口)访问服务。要创建此服务,请执行以下步骤:

      • 角色 test_role 必须对账户拥有 BIND SERVICE ENDPOINT 权限。

      • 当前的实施需要由脚本创建的安全集成。

    • 计算池 是一个或多个虚拟机 (VM) 节点的集合,Snowflake 会在这些节点上运行您的服务。

  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. 要验证您是否拥有账户信息(组织和账户名称),请使用以下方法之一:

    • 在 Home 页面左下角的 Snowsight Web 界面上查找信息。

    • 在 SnowSQL CLI 中,执行 SHOW IMAGE REPOSITORIES。该命令返回仓库 URL,包括组织和账户名称。

      示例

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

下一步是什么?

您现在可以浏览 教程 1

语言: 中文