协作规范

定义高级别协作。该规范定义了邀请哪些分析运行者,以及针对每个分析运行者,他们可以访问和运行哪些数据及模板。此处列出的任何模板或数据产品都必须先注册,然后才能包含在协作规范中。

所有者通过调用 INITIALIZE 提交此规范。

架构:

api_version: 2.0.0              # Required: Must be "2.0.0"
spec_type: collaboration        # Required: Must be "collaboration"
name: <collaboration_name>      # Required: Unique name (max 75 chars)
version: <version_string>       # Optional: Version identifier (max 20 chars)
description: <collaboration_description>  # Optional: Description (max 1,000 chars)
owner: <owner_alias>            # Required: Alias of owner

collaborator_identifier_aliases:  # Required: Map aliases to account identifiers
  <alias_1>: <account_identifier_1>  # One or more alias mappings...

analysis_runners:               # Required: Who can run analyses
  <analysis_runner_alias>:      # One or more analysis runner definitions...
    data_providers:             # Required: Data providers for this runner
      <provider_alias>:         # One or more provider definitions...
        data_offerings:         # Required: List of offerings (can be empty [])
          - id: <data_offering_id>  # Zero or more data offering IDs...
    templates:                  # Optional: Templates this runner can use
      - id: <template_id>       # One or more template IDs...
    activation_destinations:    # Optional: Where results can be sent
      snowflake_collaborators:  # Optional: Collaborators who can receive results
        - <collaborator_alias>  # One or more collaborator aliases...
api_version

所使用的 Collaboration API 的版本。必须是 2.0.0

spec_type

规范类型标识符。必须是 collaboration

name: collaboration_name

此协作的用户友好名称。在创建者的账户中必须是唯一的,并遵循 :doc:`Snowflake 标识符规则 </sql-reference/identifiers-syntax>`(最多 75 个字符)。

``version``(可选

此协作的版本标识符(最多 20 个字符)。必须遵循 Snowflake 标识符规则。推荐使用的格式是 YYYY_MM_DD_V#。例如:2025_10_22_V1

:samp:`description: {collaboration_description}`(可选

人类可读的协作描述(最多 1,000 个字符),供协作者阅读。

owner: owner_alias

协作所有者的别名,定义见 collaborator_identifier_aliases

collaborator_identifier_aliases

协作者别名到其 数据共享账户标识符 的映射。只有此处列出的用户才能参与协作。使用此处定义的别名来引用所有协作者,而不是直接使用其数据共享账户标识符。在此协作中必须是唯一的,并遵循 :doc:`Snowflake 标识符规则 </sql-reference/identifiers-syntax>`(最多 25 个字符)。

analysis_runners

描述谁可以在此协作中运行分析。每个分析运行者均由唯一的别名作为键。您必须允许至少一个账户在此协作中运行分析。

<analysis_runner_alias>

可以在此协作中运行分析的账户别名。别名定义在 collaborator_identifier_aliases 列表中。

data_providers

此分析运行者可以访问其数据的数据提供商。每个提供商均由在 collaborator_identifier_aliases 中定义的别名作为键。

data_offerings

分析运行者可以访问的来自此数据提供商的数据产品列表,或一个作为占位符的空数组 [],以便稍后添加数据产品。每个数据产品都通过其 ID 进行引用,在数据提供方调用 REGISTER_DATA_OFFERING 时生成。

``templates``(可选

此分析运行者可以使用的模板。每个模板均通过其 ID 进行引用。您可以在初始规范中省略此项,并在创建协作后仍与此分析运行者共享模板。

``activation_destinations``(可选

定义分析结果的激活设置。

``snowflake_collaborators``(可选

可以接收已激活分析结果的协作者列表。使用本规范中 collaborator_identifier_aliases 列表里的别名。此处列出的所有协作者都必须具有 Implementing activation 中所述的权限。

示例

api_version: 2.0.0
spec_type: collaboration
name: my_sample_collaboration
owner: Owner
collaborator_identifier_aliases:
  Owner: ENG.OWNER
  AnalysisRunner_1: ENG.CONSUMER_1
  DataProvider_1: ENG.PROVIDER_1
  DataProvider_2: ENG.PROVIDER_2
  AnalysisRunner_2: ENG.PROVIDER_3
analysis_runners:
  AnalysisRunner_1:
    data_providers:
      DataProvider_1:
        data_offerings:
        - id: DCR_PREPROD_CI_PROVIDER_ANY_NAME_ZUDFTMULHQ_iuDfn_v0
      DataProvider_2:
        data_offerings: []
    templates:
    - id: test_sca_three_party_template_JOaVG_v0
  AnalysisRunner_2:
    data_providers:
      DataProvider_2:
        data_offerings: []
    templates:
    - id: test_sca_three_party_template_JOaVG_v0