SET 标签

适用于:选中标记为“是” Databricks SQL 选中标记为“是” Databricks Runtime 16.1 及更高版本

在目录、架构、表、视图、卷、列、函数或外部元数据对象上设置标记。

Important

外部元数据 对象上设置标记是公共预览版,需要 Databricks Runtime 18.2 或更高版本。

要将标记添加到 Unity Catalog 安全对象,必须拥有该对象或具有以下所有特权:

  • 对象上的 APPLY TAG 权限
  • 对象父架构上的 USE SCHEMA 权限
  • 对象父目录上的 USE CATALOG 权限

外部元数据对象不包含在目录或架构中,因此USE CATALOGUSE SCHEMA不适用。

如果标记受管理,则还需要ASSIGN受管理标记拥有权限

语法

SET TAG ON
    { CATALOG catalog_name |
      COLUMN relation_name . column_name |
      EXTERNAL METADATA external_metadata_name |
      { FUNCTION | PROCEDURE } function_name |
      { SCHEMA | DATABASE } schema_name |
      TABLE relation_name |
      VIEW  relation_name |
      VOLUME volume_name }
    tag_key [ = tag_value ]

参数

  • CATALOG catalog_name

    要标记的目录名称。

  • COLUMN relation_name column_name

    要标记的列的限定名称。 relation_name 必须标识视图或表。 relation_name 不得包含 时态规范或选项规范

  • 外部元数据external_metadata_name

    要标记 的外部元数据 对象的名称。

  • { FUNCTION | PROCEDURE } function_name

    要标记的函数或过程的名称。 FUNCTIONPROCEDURE 可互换。

  • SCHEMA schema_name

    要标记的架构名称。

  • TABLE relation_name

    要标记的表或视图名称。 名称不得包含 时态规范或选项规范

  • VIEW relation_name

    要标记的视图名称。

  • VOLUME volume_name

    要标记的卷的名称。

  • tag_key

    标识符。 如果已经存在具有相同键的标记分配,则会引发异常。

  • tag_value

    可选标识符。 如果未指定,则标记分配将设置为仅限键。

例子

> SET TAG ON CATALOG catalog `cost_center` = `hr`;

> UNSET TAG ON CATALOG catalog cost_center;

> SET TAG ON TABLE catalog.schema.table cost_center = hr;

> UNSET TAG ON TABLE catalog.schema.table cost_center;

> SET TAG ON COLUMN table.ssn pii;

> UNSET TAG ON COLUMN table.ssn pii;

> SET TAG ON FUNCTION catalog.schema.my_func cost_center = hr;

> UNSET TAG ON FUNCTION catalog.schema.my_func cost_center;

> SELECT catalog_name, schema_name, table_name, tag_name, tag_value
    FROM information_schema.column_tags
    WHERE tag_name = 'pii' AND schema_name = 'default';
  table_name column_name
  ---------- -----------
  table      ssn