Azure Databricks自定义变量含密钥片段被REDACTED替换的解决求助
问题原因
Azure Databricks自带的secret自动脱敏机制会这么运作:只要你用dbutils.secrets.get取过某个secret值(比如这里的intg),之后所有输出到笔记本界面的文本里,只要出现这个完整的secret内容——不管它是来自secret变量还是你自己定义的普通字符串——都会被自动替换成[REDACTED]。
解决办法
试试这几种方式,能正常输出myintgterritoy:
1. 用repr()输出原始字符串
repr()会输出字符串的原始字面量形式,脱敏机制不会识别这种格式:
prm = 'myintgterritoy' # 输出带引号的原始内容 print(repr(prm)) # 要是不想带引号,就截取掉首尾的引号 print(repr(prm)[1:-1])
2. 拆分字符串后拼接打印
把包含intg的字符串拆成几个部分分别输出,避免完整的secret值出现在单一输出片段里:
prm = 'myintgterritoy' # 直接拆分拼接 print('my' + 'intg' + 'territoy') # 或者用f-string拆分 print(f'my{"intg"}territoy')
3. 写文件再读出来输出
先把字符串写入本地文件,再读取文件内容输出,绕过敏敏扫描:
prm = 'myintgterritoy' # 写入临时文件 with open('/tmp/prm.txt', 'w') as f: f.write(prm) # 读取并打印 with open('/tmp/prm.txt', 'r') as f: print(f.read())
内容的提问来源于stack exchange,提问作者Sarath Subramanian
相关产品推荐
相关产品推荐

