Перейти к основному содержимому

О переменной config

Переменная config существует для обработки конфигурации конечного пользователя для пользовательских материализаций. Конфигурации, такие как unique_key, могут быть реализованы с использованием переменной config в ваших собственных материализациях.

Например, код в материализации incremental, такой как этот:

{% materialization incremental, default -%}
{%- set unique_key = config.get('unique_key') -%}
...

отвечает за обработку кода модели, который выглядит так:

{{
config(
materialized='incremental',
unique_key='id'
)
}}

Просмотрите Конфигурации моделей для примеров и дополнительной информации о допустимых аргументах.

config.get

Аргументы:

  • name: Имя конфигурационной переменной (обязательно)
  • default: Значение по умолчанию, которое будет использоваться, если эта конфигурация не предоставлена (необязательно)

Функция config.get используется для получения конфигураций для модели от конечного пользователя. Конфигурации, определенные таким образом, являются необязательными, и может быть предоставлено значение по умолчанию.

Существует 3 случая:

  1. Конфигурационная переменная существует, она не None
  2. Конфигурационная переменная существует, она None
  3. Конфигурационная переменная не существует

Пример использования:

{% materialization incremental, default -%}
-- Пример без значения по умолчанию. unique_key будет None, если пользователь не предоставит эту конфигурацию
{%- set unique_key = config.get('unique_key') -%}

-- Пример с альтернативным значением. Используйте альтернативу 'id', если конфигурация 'unique_key' предоставлена, но она None
{%- set unique_key = config.get('unique_key') or 'id' -%}

-- Пример со значением по умолчанию. По умолчанию 'id', если конфигурация 'unique_key' не существует
{%- set unique_key = config.get('unique_key', default='id') -%}
...

config.require

Аргументы:

  • name: Имя конфигурационной переменной (обязательно)

Функция config.require используется для получения конфигураций для модели от конечного пользователя. Конфигурации, определенные с использованием этой функции, являются обязательными, и их отсутствие приведет к ошибке компиляции.

Пример использования:

{% materialization incremental, default -%}
{%- set unique_key = config.require('unique_key') -%}
...
0