Multiple tag values and concatenation
Atlan supports assigning multiple tag values to a single Snowflake object. When multiple tag values are assigned, Atlan concatenates them into a single string using a configurable delimiter.
Requirements
- Both reverse sync and concatenation must be enabled for multi-value synchronization to work.
Constraints
When configuring multiple tag values, keep the following constraints in mind:
- The chosen delimiter can't appear inside any tag value to prevent parsing errors.
- The concatenated tag values length must not exceed 256 characters.
- If the allowed list is enabled for a tag in Snowflake, concatenated tag values that you attach to Snowflake objects must come from the tag’s predefined list. To use a new value, add it to the list.
- Each tag supports up to 300 values. For more information, see Snowflake tag quota for objects.
How concatenation works
Tag concatenation is an Atlan feature. Concatenated values created in Atlan are synced to Snowflake. However, if you concatenate tag values in Snowflake workflows, those concatenated references won't be synced back to Atlan.
Atlan manages multiple tag values by concatenating them into a single string that can be synchronized back to Snowflake. The process involves sorting, concatenation, and synchronization behaviors described below.
Single values
When only one value is assigned to a tag, no concatenation occurs. The single value is sent as-is to Snowflake.
For example, if you have a tag cost_center
and assign only the value finance
to an object, the result in Snowflake is the single value finance
without any concatenation.
Multiple values
You can assign multiple values to a single tag for any object in Atlan. When multiple values are assigned, they're concatenated into a single string using a delimiter character.
For example, if you have a tag cost_center
and assign the values finance
, engineering
, and sales
to an object with comma as the delimiter, the result is the concatenated string engineering,finance,sales
.
Sorting
Tag values are sorted alphabetically before concatenation to maintain consistent ordering.
For example, if you have a tag environment
with values production
, development
, and staging
assigned to an object and use a comma (,
) as your delimiter, Atlan sorts them alphabetically (development
, production
, staging
) and concatenates them as: development,production,staging
.
Reverse sync
Concatenation and reverse sync apply at the schema level for imported Snowflake tags. When reverse sync is enabled, the concatenated tag values are synchronized back to the corresponding objects in Snowflake.
Updates and removals
When you update or remove tag assignments in Atlan, these changes can be synchronized back to Snowflake and depend on the combination of reverse sync and concatenation settings:
- When reverse sync is OFF: Snowflake isn't updated
- When reverse sync is ON but concatenation is OFF: Only one tag value (typically the latest) is sent to Snowflake
- When both reverse sync and concatenation are ON: All tag values are concatenated and sent as a single string
See also
- Snowflake object tagging introduction - Learn about Snowflake's tag capabilities, quotas, and supported objects