CREATE LISTING¶
创建要直接与特定使用者共享的免费 列表。
语法¶
CREATE EXTERNAL LISTING [ IF NOT EXISTS ] <name>
[ { SHARE <share_name> | APPLICATION PACKAGE <package_name> } ]
AS '<yaml_manifest_string>'
[ PUBLISH ={ TRUE | FALSE } ]
[ REVIEW = { TRUE | FALSE } ]
[ COMMENT = '<string>' ]
参数¶
name
指定列表的标识符(即名称)。它必须符合以下条件:
无论账户位于哪个 Snowflake 区域,在组织中都必须是唯一的。
必须以字母字符开头,不能包含空格或 除 下划线 (
_
) 之外的特殊字符。
AS 'yaml_manifest_string'
指定列表的 YAML 格式清单。有关列表清单文件的详细信息和示例,请参阅 列表清单引用。
清单通常以带美元引号的字符串形式提供。有关更多信息,请参阅 以美元为引号的字符串常量。
SHARE share_name
指定要附加到列表的共享的标识符。
APPLICATION PACKAGE package_name
指定附加到列表的应用程序包。
PUBLISH = { TRUE | FALSE }
指定应如何发布列表。
如果为 TRUE,列表会立即发布到 Marketplace Ops 以供审核。
默认:TRUE。
REVIEW = { TRUE | FALSE }
指定列表是否应提交到 Marketplace Ops 进行审核。
默认:TRUE。
COMMENT = 'string_literal'
指定列表的注释。
默认:无值
PUBLISH 和 REVIEW 属性的不同值组合会导致以下行为:
PUBLISH |
REVIEW |
行为 |
---|---|---|
TRUE |
TRUE |
请求审核,在获得批准后立即发布。 |
TRUE |
FALSE |
导致错误。您不能未经审核便在 Snowflake Marketplace 上发布列表。 |
FALSE |
TRUE |
请求审核,但审核后不会自动发布。 |
FALSE |
FALSE |
不请求审核或发布,将列表另存为草稿。 |
访问控制要求¶
用于执行此 SQL 命令的 角色 必须至少具有以下一项 权限:
权限 |
对象 |
备注 |
---|---|---|
CREATE DATA EXCHANGE LISTING |
账户 |
Only the ACCOUNTADMIN role has this privilege by default. The privilege can be granted to additional roles as needed. |
用于配置 Cross-Cloud Auto-Fulfillment 的委派权限。 |
如果 ALTER 命令正为自动履行而修改清单内容 |
请注意,对架构中的对象进行操作还需要对父数据库和架构具有 USAGE 权限。
用于执行此 SQL 命令的 角色 必须至少具有以下一项 权限:
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
使用 CREATE LISTING ... 创建的列表会自动发布。有关取消发布和发布操作的信息,请参阅 ALTER LISTING。
示例¶
创建名称为“MYLISTING”并带有指定清单的列表,然后提交以供审核和后续发布。
有关与使用 SQL 管理列表相关联的其他示例和用例,请参阅 使用 SQL 管理列表 – 示例。
备注
此示例使用 PUBLISH 和 REVIEW 的默认值。
CREATE EXTERNAL LISTING MYLISTING
SHARE MySHARE AS
$$
title: "MyListing"
subtitle: "Subtitle for MyListing"
description: "Description for MyListing"
listing_terms:
type: "STANDARD"
targets:
accounts: ["Org1.Account1"]
usage_examples:
- title: "this is a test sql"
description: "Simple example"
query: "select *"
$$
;
创建名称为“MYLISTING”并将指定的清单作为草稿的列表。
CREATE EXTERNAL LISTING MYLISTING
SHARE MySHARE AS
$$
title: "MyListing"
subtitle: "Subtitle for MyListing"
description: "Description for MyListing"
listing_terms:
type: "OFFLINE"
targets:
regions: ["PUBLIC.AWS_US_EAST_1", "PUBLIC.AZURE_WESTUS2"]
usage_examples:
- title: "this is a test sql"
description: "Simple example"
query: "select *"
$$ PUBLISH=FALSE REVIEW=FALSE;