Snowflake
此页面包含Snowflake的设置指南和参考信息。
将Snowflake设置为目的地涉及在Snowflake控制面板中设置Snowflake实体(仓库、数据库、模式、用户和权限),设置数据加载方法(内部暂存、AWS S3存储、谷歌云存储桶或Azure Blob存储),并在Daspire中配置Snowflake目的地。
此页面描述了将Snowflake设置为目的地 的步骤。
前提条件
-
具有ACCOUNTADMIN权限的Snowflake帐户。如果您没有具有ACCOUNTADMIN权限的帐户,请联系您的Snowflake管理员为您设置一个。
-
(可选)AWS、谷歌云存储或Azure帐户。
网络政策
默认情况下,Snowflake允许用户从任何计算机或设备IP地址连接到该服务。安全管理员(即具有SECURITYADMIN权限的用户)或更高级别的管理员可以创建网络策略以允许或拒绝访问单个IP地址或地址列表。
如果您在连接Daspire时遇到任何问题,请确保IP地址列表在允许列表中。
从命令行操作
要确定是否为您的帐户或特定用户设置了网络政策,请执行SHOW PARAMETERS命令。
账户
SHOW PARAMETERS LIKE 'network_policy' IN ACCOUNT;
用户
SHOW PARAMETERS LIKE 'network_policy' IN USER <username>;
要了解更多信息,请查看官方Snowflake文档
从用户界面操作
在侧边栏菜单中点击Admin -> Security,可查看帐户中现有的网络政策。

如需添加新的网络政策,点击 + Network Policy,添加政策名称及允许和/或阻止的IP地址。

设置指南
第1步:在Snowflake中设置特定于Daspire的实体
要设置Snowflake目标连接器,您首先需要创建特定于Daspire的Snowflake实体(仓库、数据库、架构、用户和权限),并具有OWNERSHIP权限以将数据写入Snowflake、跟踪与Daspire相关的成本并控制权限在粒度级别。
从命令行操作
您可以在新的Snowflake worksheet中使用以下脚本来创建实体:
-
编辑以下脚本,将密码更改为更安全的密码,并根据需要更改其他资源的名称。
**注意:**确保在重命名资源时遵循Snowflake标识符要求。
set variables (these need to be uppercase)
set daspire_role = 'DASPIRE_ROLE';
set daspire_username = 'DASPIRE_USER';
set daspire_warehouse = 'DASPIRE_WAREHOUSE';
set daspire_database = 'DASPIRE_DATABASE';
set daspire_schema = 'DASPIRE_SCHEMA';
-- set user password
set daspire_password = 'password';
begin;
-- create Daspire role
use role securityadmin;
create role if not exists identifier($daspire_role);
grant role identifier($daspire_role) to role SYSADMIN;
-- create Daspire user
create user if not exists identifier($daspire_username)
password = $daspire_password
default_role = $daspire_role
default_warehouse = $daspire_warehouse;
grant role identifier($daspire_role) to user identifier($daspire_username);
-- change role to sysadmin for warehouse / database steps
use role sysadmin;
-- create Daspire warehouse
create warehouse if not exists identifier($daspire_warehouse)
warehouse_size = xsmall
warehouse_type = standard
auto_suspend = 60
auto_resume = true
initially_suspended = true;
-- create Daspire database
create database if not exists identifier($daspire_database);
-- grant Daspire warehouse access
grant USAGE
on warehouse identifier($daspire_warehouse)
to role identifier($daspire_role);
-- grant Daspire database access
grant OWNERSHIP
on database identifier($daspire_database)
to role identifier($daspire_role);
commit;
begin;
USE DATABASE identifier($daspire_database);
-- create schema for Daspire data
CREATE SCHEMA IF NOT EXISTS identifier($daspire_schema);
commit;
begin;
-- grant Daspire schema access
grant OWNERSHIP
on schema identifier($daspire_schema)
to role identifier($daspire_role);
commit;
- 使用 Worksheet page或Snowlight运行脚本。确保选中All Queries勾选框。