我们有连接到 Azure Data Lake Storage Gen2 的数据块。最近它抛出错误:
AADSTS7000222 提供的应用程序客户端密钥已过期。
因此,我们在应用程序注册中创建新的密钥,然后在 Azure Key Vault 中更新。
但错误仍然相同。
我们测试连接到具有相同秘密范围的其他 Azure 服务,并且它正在工作。唯一的问题是连接到 Azure Data Lake Storage Gen2 存储帐户。
可能是什么问题?
通常安装座的配置如下。
configs = {"fs.azure.account.auth.type": "OAuth",
"fs.azure.account.oauth.provider.type": "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider",
"fs.azure.account.oauth2.client.id": "<client-id>",
"fs.azure.account.oauth2.client.secret": dbutils.secrets.get(scope="jgscope",key="fordbx"),
"fs.azure.account.oauth2.client.endpoint": "https://login.microsoftonline.com/<directory-id>/oauth2/token"}
dbutils.fs.mount(
source = "abfss://<container-name>@<storage-name>.dfs.core.windows.net/",
mount_point = "/mnt/jadls2",
extra_configs = configs)
如果有的话,您在门户中更新后再次正确设置了这些配置。
您提到创建新应用程序注册,然后您需要设置客户端 ID,
dbutils.secrets.get(scope="jgscope",key="fordbx")
生成新的密钥并在密钥库中更新,安装时也应进行配置,在此处正确传递范围和密钥名称。
因此,在获取新的客户端 ID 和秘密卸载当前挂载点后,使用上面的代码使用这些新值创建新的挂载。
并使用以下代码检查刷新的秘密。
dbutils.fs.ls("/mnt/jadls2/csv/")
它应该显示文件夹下的文件。
接下来,再次正确检查秘密的到期日期和时间。
请遵循此文档以获取有关安装的更多信息。