secret 函数

适用于:勾选“是” Databricks SQL 预览版 勾选“是” Databricks Runtime 11.3 LTS 及更高版本

Databricks 机密服务中提取具有给定 scopekey 的机密值。

语法

secret ( scope, key )

参数

  • scope:一个常量字符串表达式,其中包含要提取的机密的范围。 范围是可能存在多个键的命名空间。
  • key:一个常量字符串表达式,其中包含要提取的机密的密钥。

返回

一个 STRING

如果无法检索密钥,该函数会引发 INVALID_SECRET_LOOKUP。 若要改为返回 NULL,请使用 try_secret() 函数。

若要检索用户有权查看的所有机密的列表,请使用 list_secrets 函数。

错误条件

  • INVALID_SECRET_LOOKUP.SECRET_FUNCTION_KEY_NOT_CONSTANTkey 不是常量字符串。
  • INVALID_SECRET_LOOKUP.SECRET_FUNCTION_SCOPE_NOT_CONSTANTscope 不是常量字符串。
  • INVALID_SECRET_LOOKUP.SECRET_FUNCTION_NOT_SUPPORTED:Databricks 机密服务不可用。
  • INVALID_SECRET_LOOKUP.SECRET_FUNCTION_LOOKUP_FAILEDkeyscope 中找不到。

示例

> SELECT * FROM list_secrets();
  scope         key
  ------------ ---------------
  secrets.r.us  theAnswerToLife

> SELECT secret('secrets.r.us', 'theAnswerToLife');
  fourtyTwo

> SELECT try_secret('secrets.r.us', 'WhatIsTheAnswerToLife');
  Error: INVALID_SECRET_LOOKUP.SECRET_FUNCTION_LOOKUP_FAILED