CREATE LISTING

使用内联 YAML 清单创建免费列表,直接与特定使用者共享,或从位于暂存位置的文件中创建列表。

另请参阅:

ALTER LISTINGDESCRIBE LISTINGSHOW LISTINGSSHOW VERSIONS IN LISTINGDROP 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>' ]

CREATE EXTERNAL LISTING [ IF NOT EXISTS ] <name>
  [ { SHARE <share_name>  |  APPLICATION PACKAGE <package_name> } ]
  FROM '<yaml_manifest_stage_location>'
  [ PUBLISH = { TRUE | FALSE } ]
  [ REVIEW = { TRUE | FALSE } ]
Copy

参数

name

指定列表标识符(名称)。它必须符合以下条件:

  • 无论账户位于哪个 Snowflake 区域,在组织中都必须是唯一的。

  • 必须以字母字符开头,不能包含空格或 下划线 (_) 之外的特殊字符。

SHARE share_name

指定要附加到列表的共享的标识符。

APPLICATION PACKAGE package_name

指定附加到列表的应用程序包。

另请参阅 SHOW APPLICATION PACKAGES

AS 'yaml_manifest_string'

指定列表的 YAML 清单。有关清单参数,请参阅 列表清单引用

清单通常用以美元为引号的字符串形式提供。有关更多信息,请参阅 以美元为引号的字符串常量

FROM 'yaml_manifest_stage_location'

指定内部暂存区或 Git 存储库克隆 manifest.yml 文件的路径。

PUBLISH = { TRUE | FALSE }

指定应如何发布列表。

如果为 TRUE,列表会立即发布到 Marketplace Ops 以供审核。

默认:TRUE。

REVIEW =  { TRUE | FALSE }

指定列表是否应提交到 Marketplace Ops 进行审核。

默认:TRUE。

PUBLISH 和 REVIEW 属性的不同值组合会导致以下行为:

PUBLISH

REVIEW

行为

TRUE

TRUE

请求审核,在获得批准后立即发布。

TRUE

FALSE

导致错误。您不能未经审核便在 Snowflake Marketplace 上发布列表。

FALSE

TRUE

请求审核,但审核后不会自动发布。

FALSE

FALSE

不请求审核或发布,将列表另存为草稿。

COMMENT = 'string_literal'

列表的注释。

默认:无值

访问控制要求

用于执行此操作的 角色 必须至少具有以下 权限

权限

对象

备注

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

示例

创建具有特定 YAML 格式清单的名为“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 *"
$$
;
Copy

创建名为“MYLISTING”的列表草稿,其中包含特定的 YAML 格式清单:

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;
Copy

从特定的暂存位置创建名为“MYLISTING”的列表草稿。在以下示例中,manifest.yml 文件位于名为 listingstage 的暂存区的 listingmanifests 文件夹中。

CREATE EXTERNAL LISTING MYLISTING
SHARE MySHARE FROM @dbforstage.public.listingstage/listingmanifests;
Copy
语言: 中文