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

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

schemas — это переменная, доступная в хуке on-run-end, представляющая собой список схем, в которых dbt создал объекты в этом запуске.

Если вы не используете пользовательские схемы, schemas будет оцениваться как ваша целевая схема, например, ['dbt_alice']. Если вы используете пользовательские схемы, они также будут включены, например, ['dbt_alice', 'dbt_alice_marketing', 'dbt_alice_finance'].

Переменная schemas полезна для предоставления привилегий всем схемам, в которых dbt создает связи, например (обратите внимание, что это синтаксис, специфичный для Redshift):

dbt_project.yml
...

on-run-end:
- "{% for schema in schemas%}grant usage on schema {{ schema }} to group reporter;{% endfor%}"
- "{% for schema in schemas %}grant select on all tables in schema {{ schema }} to group reporter;{% endfor%}"
- "{% for schema in schemas %}alter default privileges in schema {{ schema }} grant select on tables to group reporter;{% endfor %}"
Хотите более подробные инструкции о рекомендуемом способе предоставления привилегий?

Мы написали полную статью на Discourse здесь

0