テンプレート仕様

コラボレーションにおける単一のテンプレートを定義します。テンプレートはテンプレート仕様のREGISTER_TEMPLATEを呼び出すことで登録されます。

スキーマ:

api_version: 2.0.0              # Required: Must be "2.0.0"
spec_type: template             # Required: Must be "template"
name: <template_name>           # Required: Unique name (max 75 chars)
version: <version_string>       # Required: Version identifier (max 20 chars)
type: <template_type>           # Required: sql_analysis or sql_activation
description: <template_description>  # Optional: High-level description (max 1,000 chars)
methodology: <methodology_description>  # Optional: Detailed description (max 1,000 chars)

parameters:                     # Optional: User-provided parameters
  - name: <parameter_name>      # One or more parameter items...
    description: <parameter_description>  # Optional: Description (max 500 chars)
    required: <true_or_false>   # Optional: Whether required (default: false)
    default: <default_value>    # Optional: Default value
    type: <data_type>           # Optional: String, integer, number, Boolean, array, or object

code_specs:             # Optional: List of code bundles used by this template
  - <code_spec_id>        # One or more code spec IDs.

template: |                     # Required: JinjaSQL template content
  <template_content>
api_version

使用するコラボレーション API のバージョン。2.0.0 である必要があります。

spec_type

仕様タイプ識別子。template である必要があります。

name: template_name

このテンプレートの一意でユーザーにわかりやすい名前。最大75文字の Snowflake識別子ルール に従う必要があります。name_version ペアが、このアカウントのすべてのテンプレートで一意であることが必要です。

version: version_string

このテンプレートのバージョン識別子(最大20文字)。Snowflake識別子ルール に従う必要があります。バージョン文字列には、VIEW_TEMPLATES および VIEW_REGISTERED_TEMPLATES への応答で独自の列が指定されます。したがって、値を増やすことでソートできる値を使用します。例: V0

type

テンプレートタイプ。次の値のいずれかです。

  • sql_analysis:データ分析操作用テンプレート。

  • sql_activation:データアクティベーション操作用テンプレート。

:samp:`description: {template_description}`(オプション

このテンプレートが行う内容についての概略的な説明(最大1,000文字)。

:samp:`methodology: {methodology_description}`(オプション

このテンプレートがどのように機能するかについての詳細な説明(最大1,000文字)。

``parameters``(オプション

このテンプレート内のユーザーが指定するすべてのパラメーターのリスト。各項目には次のフィールドを配置できます。

  • name:有効な:doc:`Snowflake識別子</sql-reference/identifiers-syntax>`としてのパラメーター名(最大255文字)。

  • ``description``(オプション):パラメーターに関する人間が読める説明(最大500文字)。

  • ``required``(オプション):パラメーターが必須であるかどうか。デフォルトは false です。

  • ``default``(オプション):パラメーターのデフォルト値。任意のデータ型を使用できます。

  • ``type``(オプション):パラメーターの想定されるデータ型。stringintegernumberbooleanarrayobject のいずれか。

``code_specs``(オプション

このテンプレートによって参照される関数を定義する1つ以上のコードバンドル。テンプレートが:doc:`カスタム関数</user-guide/cleanrooms/resources-code-bundles>`を呼び出す場合に必須。コード仕様IDsがバージョン管理されています。関数の新しいバージョンにアクセスする場合は、バージョン管理されていない関数名を呼び出すテンプレート自体ではなく、ここにあるコード仕様IDを更新する必要があります。コード仕様名にはアンダースコアが使用されており、正規表現パターン``[A-Za-z]w{0,74}_w{1,20}``と一致する必要があります。

template

テンプレートのコンテンツ。SQL テンプレートの場合、これには JinjaSQL テンプレート が含まれます。詳細については、 テンプレートデザイン をご参照ください。

テンプレートに公開される列名は、データサービス仕様<label-dcr_collaboration_data_yaml>`の``category``値および``column_type``値によって決定されます。詳細については、 :ref:`label-dcr_source_column_renaming をご参照ください。

api_version: 2.0.0
spec_type: template
name: trivial_template
version: V1
type: sql_analysis
description: Simple one-row template.
methodology: Always returns "1". Requires one source table.

parameters:
  - name: row_count
    description: Count of rows
    required: true

template: |
    SELECT 1 FROM IDENTIFIER( {{ source_table[0] }} ) LIMIT {{ row_count }};