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

arguments (для макросов)

macros/<filename>.yml


macros:
- name: <macro name>
arguments:
- name: <arg name>
type: <string>
description: <markdown_string>

Определение

Свойство arguments используется для определения параметров, которые может принимать ресурс. Каждый аргумент может иметь поле name, поле с типом, а также необязательные свойства, такие как description и default_value.

Для макросов вы можете добавить секцию arguments в свойства макроса. Это помогает документировать макрос и понимать, какие входные параметры он ожидает.

type

подсказка

Начиная с dbt Core v1.10, вы можете включить проверку аргументов, которые вы определяете в документации макросов, с помощью флага изменения поведения validate_macro_args. Когда этот флаг включён, dbt будет:

  • Определять аргументы на основе определения макроса и включать их в файл manifest.json, если аргументы не задокументированы.
  • Выдавать предупреждение, если имена аргументов в документации не совпадают с определением макроса.
  • Выдавать предупреждение, если поля type не соответствуют поддерживаемым форматам.

Подробнее см. в разделе о валидации аргументов макросов.

macros/<filename>.yml

macros:
- name: <macro name>
arguments:
- name: <arg name>
type: <string>

Поддерживаемые типы

Начиная с версии dbt Core v1.10, при использовании флага validate_macro_args dbt поддерживает следующие типы аргументов макросов:

  • string или str
  • boolean или bool
  • integer или int
  • float
  • any
  • list[<Type>], например list[string]
  • dict[<Type>, <Type>], например dict[str, list[int]]
  • optional[<Type>], например optional[integer]
  • relation
  • column

Обратите внимание, что синтаксис типов напоминает Python, однако они используются исключительно для документации и валидации. Это не Python-типы.

Примеры

macros/cents_to_dollars.sql
{% macro cents_to_dollars(column_name, scale=2) %}
({{ column_name }} / 100)::numeric(16, {{ scale }})
{% endmacro %}

macros/cents_to_dollars.yml

macros:
- name: cents_to_dollars
arguments:
- name: column_name
type: column
description: "The name of a column"
- name: scale
type: integer
description: "The number of decimal places to round to. Default is 2."

Нашли ошибку?

0
Loading