dbt column data_type for Snowflake object/variant/semi-structured data

Hi all,

Using dbt core, I’m currently trying to build models in which some columns are Snowflake should be objects/variants. However, when using “data_type: variant” and enforcing the contract, an error occurs and the model is not built. When the contract is not enforced, the model is built correctly. Is there any recommended data_type or approach for this kind of columns? I’ve tried to find a reference for the accepted data_type options in Snowflake, but I have failed to find it so far.

Some example code or error messages

schema.yml code

models:
- name: model_x
  config:
       materialized: table
       contract:
           enforce: true
       columns:
         - name: column_a
           data_type: variant
         - name: column_a.key_a
           data_type: variant

Error message upon executing dbt build

Database Error in model model_x (models\model_x\model_x.sql)
  001003 (42000): SQL compilation error:
  syntax error line 111 at position 29 unexpected '.'.
  syntax error line 113 at position 8 unexpected '('.

Note: non-exhaustive, as the rest of the error is a repetition of the syntax error lines mentioning unexpected ‘(’)