如果我们在 keyvault 的网络刀片中选择“允许来自特定虚拟网络和 IP 地址的公共访问”。 对于 Databricks 笔记本,我们可以使用秘密范围获取秘密,我们如何在突触笔记本中做到这一点。 请帮我找到合适的解决方案。
有两种方法,您可以在 azure synapse 中检索密钥值。
这是我的 Keyvault 秘密值:
注意:确保检查access policies权限是否被授予。
方法一:
转到 azure Synapse studio 并遵循此示例代码。
import sys
from pyspark.sql import SparkSession
sc = SparkSession.builder.getOrCreate()
token_library = sc._jvm.com.microsoft.azure.synapse.tokenlibrary.TokenLibrary
connection_string = token_library.getSecret("dem123","testSecret","AzureKeyVault1")
print(connection_string)
方法二:
根据 Ms_doc 试试这个代码:
mssparkutils.credentials.getSecret('key_vault_name','secret_name')
或者
mssparkutils.credentials.getSecret('key_vault_name','secret_name','linked_service')
有关更多信息,请参阅此SO线程