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。
以具有 ACCOUNTADMIN 角色的用户身份登录 Snowflake。
使用 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>
请注意:
之所以创建仓库,是因为服务(包括作业服务)可以运行 SQL DML 语句(例如 SELECT 和 INSERT)。Snowflake 在仓库中执行这些语句。
在教程 1 中,您将创建一项服务,该服务将端点公开为公共端点,以允许用户从公共 Web(入口)访问服务。要创建此服务,请执行以下步骤:
角色
test_role
必须对账户拥有 BIND SERVICE ENDPOINT 权限。当前的实施需要由脚本创建的安全集成。
计算池 是一个或多个虚拟机 (VM) 节点的集合,Snowflake 会在这些节点上运行您的服务。
确保您以前面脚本中指定的用户身份登录 Snowflake。
使用
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 );
请注意:
您可以创建一个镜像仓库来存储服务代码(容器镜像)。
在教程 2 和 3 中,您创建 Snowflake 暂存区来存储服务规范文件。
验证您是否已准备好继续¶
要验证您是否拥有教程所需的对象,请执行以下命令:
SHOW COMPUTE POOLS; --or DESCRIBE COMPUTE POOL tutorial_compute_pool;
SHOW WAREHOUSES;
SHOW IMAGE REPOSITORIES;
SHOW STAGES;
要验证您是否拥有账户信息(组织和账户名称),请使用以下方法之一:
在 Home 页面左下角的 Snowsight Web 界面上查找信息。
在 SnowSQL CLI 中,执行 SHOW IMAGE REPOSITORIES。该命令返回仓库 URL,包括组织和账户名称。
示例
<orgname>-<acctname>.registry.snowflakecomputing.com/tutorial_db/data_schema/tutorial_repository
下一步是什么?¶
您现在可以浏览 教程 1。