CREATE PACKAGES POLICY¶
创建新的 包策略 或替换现有的包策略。
创建包策略后,使用 ALTER ACCOUNT 语句,将包策略应用于您的 Snowflake 账户。
语法¶
CREATE [ OR REPLACE ] PACKAGES POLICY [ IF NOT EXISTS ] <name>
LANGUAGE PYTHON
[ ALLOWLIST = ( [ '<packageSpec>' ] [ , '<packageSpec>' ... ] ) ]
[ BLOCKLIST = ( [ '<packageSpec>' ] [ , '<packageSpec>' ... ] ) ]
[ ADDITIONAL_CREATION_BLOCKLIST = ( [ '<packageSpec>' ] [ , '<packageSpec>' ... ] ) ]
[ COMMENT = '<string_literal>' ]
必填参数¶
name
指定包策略的标识符(即名称);对于在其中创建包策略的架构而言,此标识符必须是唯一的。
此外,标识符必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如,
"My object"
)。放在双引号内的标识符也区分大小写。有关更多信息,请参阅 标识符要求。
LANGUAGE PYTHON
指定此包策略将应用于哪种语言。
可选参数¶
ALLOWLIST = ( [ 'packageSpec' ] [ , 'packageSpec' ... ] )
指定允许的包规范列表。
默认值:
('*')
(即允许所有包)。BLOCKLIST = ( [ 'packageSpec' ] [ , 'packageSpec' ... ] )
指定被阻止的包规范列表。若要取消设置此参数,请指定一个空列表。
默认值:
()
(即不阻止任何包)。ADDITIONAL_CREATION_BLOCKLIST = ( [ 'packageSpec' ] [ , 'packageSpec' ... ] )
指定在创建时被阻止的包规范列表。若要取消设置此参数,请指定一个空列表。如果设置了
ADDITIONAL_CREATION_BLOCKLIST
,则它会在创建时追加到基本 BLOCKLIST。对于临时 UDFs 和匿名存储过程,ADDITIONAL_CREATION_BLOCKLIST
在创建和执行时都会追加到基本 BLOCKLIST。默认值:
()
(即不阻止任何包)。COMMENT = 'string_literal'
为包策略添加注释或覆盖现有注释。
访问控制要求¶
权限 |
对象 |
备注 |
---|---|---|
CREATE PACKAGES POLICY |
架构 |
请注意,对架构中的对象进行操作还需要对父数据库和架构具有 USAGE 权限。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
关于元数据:
注意
客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段。
示例¶
为当前账户创建包策略:
CREATE PACKAGES POLICY yourdb.yourschema.packages_policy_prod_1 LANGUAGE PYTHON ALLOWLIST = ('numpy', 'pandas==1.2.3', ...) BLOCKLIST = ('numpy==1.2.3', 'bad_package', ...) COMMENT = 'Packages policy for the prod_1 environment';